public void SetActiveGazeButton(GAZE_BUTTON_TYPE gb) { gazeButtonsList[(int)gb].BackColor = translucentWhite; if (gb != activeGazeButton) { gazeButtonsList[(int)activeGazeButton].BackColor = Color.Black; //set gb as active activeGazeButton = gb; gazeButtonsList[(int)activeGazeButton].Select(); Logger.WriteVar(nameof(activeGazeButton), activeGazeButton); this.Invalidate(true); } }
public DockForm() { InitializeComponent(); activeGazeButton = GAZE_BUTTON_TYPE.NONE; }
private void gazeButton_Click(object sender, EventArgs e) { Logger.WriteEvent(); Button clickedButton = (Button)sender; GAZE_BUTTON_TYPE gb = GAZE_BUTTON_TYPE.NONE; if (clickedButton.Text.Equals(gazeButtonTextStrings[(int)GAZE_BUTTON_TYPE.UP])) { PrecisionGazeMouseForm.nextClickType = PrecisionGazeMouseForm.NEXTCLICKTYPE.SCROLLUP; gb = GAZE_BUTTON_TYPE.UP; } else if (clickedButton.Text.Equals(gazeButtonTextStrings[(int)GAZE_BUTTON_TYPE.DOWN])) { PrecisionGazeMouseForm.nextClickType = PrecisionGazeMouseForm.NEXTCLICKTYPE.SCROLLDOWN; gb = GAZE_BUTTON_TYPE.DOWN; } else if (clickedButton.Text.Equals(gazeButtonTextStrings[(int)GAZE_BUTTON_TYPE.LEFTCLICK])) { PrecisionGazeMouseForm.nextClickType = PrecisionGazeMouseForm.NEXTCLICKTYPE.LEFT; gb = GAZE_BUTTON_TYPE.LEFTCLICK; } else if (clickedButton.Text.Equals(gazeButtonTextStrings[(int)GAZE_BUTTON_TYPE.DOUBLECLICK])) { PrecisionGazeMouseForm.nextClickType = PrecisionGazeMouseForm.NEXTCLICKTYPE.DOUBLECLICK; gb = GAZE_BUTTON_TYPE.DOUBLECLICK; } else if (clickedButton.Text.Equals(gazeButtonTextStrings[(int)GAZE_BUTTON_TYPE.RIGHTCLICK])) { PrecisionGazeMouseForm.nextClickType = PrecisionGazeMouseForm.NEXTCLICKTYPE.RIGHT; gb = GAZE_BUTTON_TYPE.RIGHTCLICK; } else if (clickedButton.Text.Equals(gazeButtonTextStrings[(int)GAZE_BUTTON_TYPE.KEYBOARD])) { long currentTimestamp = PrecisionGazeMouseForm.GetCurrentTimestamp(); long timestampDiff = currentTimestamp - keyboardSelectedTimestamp; //Want to give at least a second before it can be toggled again so that user has a chance to move their eyes away from the button if (timestampDiff > 1000) { //We essentially toggle the keyboard if (IpcServerData.showKeyboard == KEYBOARD_SHOWN_STATUS.NOT_SHOWN) { IpcServerData.showKeyboard = KEYBOARD_SHOWN_STATUS.SHOW_BOTTOM; gb = GAZE_BUTTON_TYPE.KEYBOARD; } else //we hide the keyboard since it was already active { IpcServerData.showKeyboard = KEYBOARD_SHOWN_STATUS.NOT_SHOWN; gb = GAZE_BUTTON_TYPE.LEFTCLICK; //maintain left click status } keyboardSelectedTimestamp = currentTimestamp; } } else //default to NONE { PrecisionGazeMouseForm.nextClickType = PrecisionGazeMouseForm.NEXTCLICKTYPE.NONE; } Logger.WriteVar(nameof(gb), gb); SetActiveGazeButton(gb); }