public void UpdateText(object sender, EventArgs args) { Dispatcher.BeginInvoke((Action)(() => { lock (Helpers.locker) { Description.Text = "CALIBRATIONS COUNT: " + shifts_count + "/" + Options.Instance.calibration_mode.max_zones_count + " \n" + "HIDE CALIBRATION VIEW: " + Helpers.GetModifierString().ToUpper() + "+" + Options.Instance.key_bindings[Key.ShowCalibrationView] + "\n" + "YOU CAN RESET CALIBRATIONS FROM THE TRAY ICON MENU"; } })); }
// TODO: make sure it updates when changing key bindings. public void UpdateTexts() { lock (Helpers.locker) { var key_bindings = Options.Instance.key_bindings; VerticalScrollStep.ToolTip = "How fast mouse wheel 'spins' when you press " + key_bindings[Key.ScrollUp].ToString() + "/" + key_bindings[Key.ScrollDown].ToString(); HorizontalScrollStep.ToolTip = "How fast mouse wheel 'spins' horizontally when you press " + key_bindings[Key.ScrollLeft].ToString() + "/" + key_bindings[Key.ScrollRight].ToString(); string calibration_buttons = key_bindings[Key.CalibrateUp].ToString() + "/" + key_bindings[Key.CalibrateLeft].ToString() + "/" + key_bindings[Key.CalibrateDown].ToString() + "/" + key_bindings[Key.CalibrateRight].ToString(); CalibrationStep.ToolTip = "How fast the cursor moves when you press " + calibration_buttons; ClickFreezeTimeMs.ToolTip = "How long the cursor will be frozen when you click stuff. \n" + "\n" + "The cursor may shake when controlled by eyes. This makes some problems.\n" + "Imagine you want to click something, but instead, you get a tiny Drag&Drop because the cursor moved during the click.\n" + "Freezing the cursor after clicks solves this problem."; CalibrationFreezeTimeMs.ToolTip = "How long cursor will be frozen when you calibrate (" + calibration_buttons + "). \n" + "\n" + "Helps clicking little areas when cursor is shaking."; DoubleSpeedUpTimeMs.ToolTip = "Frequent presses speed-up calibration and scrolling. \n" + "If you press " + calibration_buttons + " twice during this time then the second press will move cursor twice farther."; QuadrupleSpeedUpTimeMs.ToolTip = "Frequent presses speed-up calibration and scrolling. \n" + "If you press " + calibration_buttons + " twice during this time then the second press will move cursor four times farther."; ModifierShortPressTimeMs.ToolTip = "If you press " + key_bindings[Key.Modifier] + " for a short period of time this press will go to OS. \n" + "The reason this option exists is to make Windows Start Menu available.\n" + "If you see Start Menu more often than you want then decrease this time.\n" + "If you cannot open Start Menu because " + Helpers.application_name + " intercepts your key presses then increase it."; SmootheningPointsCount.ToolTip = "The eye tracker provides gaze point coordinates ~30 times per second.\n" + "If the cursor jumped to each point immediately it would shake a lot.\n" + "Instead of that the app caches N last points and uses their average as \n" + "the current cursor position. This makes the cursor movement smooth \n" + "although too much points add latency."; SmotheningZoneRadius.ToolTip = "If you move your gaze quickly farther than this value the cursor will jump instantly to the new gaze point.\n" + "This cancels latency caused by smoothening."; string calibration_view_hotkeys = Helpers.GetModifierString() + " + " + Options.Instance.key_bindings[Key.ShowCalibrationView].ToString(); CalibrationMode_RightEye.ToolTip = CalibrationMode_PoorFixation.ToolTip = CalibrationMode_Default.ToolTip = CalibrationModeLabel.ToolTip = CalibrationModeCombo.ToolTip = "When you use " + calibration_buttons + " " + Helpers.application_name + " slowly gathers data to increase accuracy.\n" + "The algorithm is a bit tricky. It can use different data and different amounts of data.\n" + "Modes:\n" + "1.Default \n" + " * Tracks head position. \n" + " * Long learning period (weeks of using). \n" + " * Rough initial precision. \n" + " * When learned provides better precison. \n" + " * Uses left eye.\n" + "2.Right eye \n" + " * Same as Default but uses right eye.\n" + " * Third eye isn't supported.\n" + "3.Poor tracker fixation \n" + " * Uses as little data as reasonable. \n" + " * Quick learning period. \n" + " * Rough precision. \n" + " * Doesn't distinguish left and right eyes. \n" + " * Best when the Eye Tracker device has a poor fixation."; System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location); TextBlockVersion.Text = "Version: " + fileVersionInfo.FileMajorPart + "." + fileVersionInfo.FileMinorPart + "." + fileVersionInfo.FileBuildPart; } }
// TODO: make sure it updates when changing key bindings. public void UpdateTexts() { lock (Helpers.locker) { var key_bindings = Options.Instance.key_bindings; VerticalScrollStep.ToolTip = "How fast mouse wheel 'spins' when you press " + key_bindings[Key.ScrollUp].ToString() + "/" + key_bindings[Key.ScrollDown].ToString(); HorizontalScrollStep.ToolTip = "How fast mouse wheel 'spins' when you press " + key_bindings[Key.ScrollLeft].ToString() + "/" + key_bindings[Key.ScrollRight].ToString(); string calibration_buttons = key_bindings[Key.CalibrateUp].ToString() + "/" + key_bindings[Key.CalibrateLeft].ToString() + "/" + key_bindings[Key.CalibrateDown].ToString() + "/" + key_bindings[Key.CalibrateRight].ToString(); CalibrationStep.ToolTip = "How fast the cursor moves when you press " + calibration_buttons; ClickFreezeTimeMs.ToolTip = "How long the cursor will be frozen when you click stuff. \n" + "\n" + "The cursor may shake when controlled by eyes. This makes some problems.\n" + "Imagine you want to click something, but instead, you get a tiny Drag&Drop because the cursor moved during the click.\n" + "Freezing the cursor after clicks solves this problem."; CalibrationFreezeTimeMs.ToolTip = "How long cursor will be frozen when you calibrate (" + calibration_buttons + "). \n" + "\n" + "Helps clicking little areas when cursor is shaking."; DoubleSpeedUpTimeMs.ToolTip = "Frequent presses speed-up calibration and scrolling. \n" + "If you press " + calibration_buttons + " twice during this time then the second press will move cursor twice farther."; QuadrupleSpeedUpTimeMs.ToolTip = "Frequent presses speed-up calibration and scrolling. \n" + "If you press " + calibration_buttons + " twice during this time then the second press will move cursor four times farther."; ModifierShortPressTimeMs.ToolTip = "If you press " + key_bindings[Key.Modifier] + " for a short period of time this press will go to OS. \n" + "The reason this option exists is to make Windows Start Menu available.\n" + "If you see Start Menu more often than you want then decrease this time.\n" + "If you cannot open Start Menu because " + Helpers.application_name + " intercepts your key presses then increase it."; SmootheningPointsCount.ToolTip = "Number of gaze points used to smooth the cursor position. \n" + "The resulting cursor position is the arithmetic mean of these points."; SmotheningZoneRadius.ToolTip = "A distance after which the cursor stop being smooth.\n" + "If you move your gaze quickly farther than this value the cursor will jump instantly to the new gaze point."; string calibration_view_hotkeys = Helpers.GetModifierString() + " + " + Options.Instance.key_bindings[Key.ShowCalibrationView].ToString(); CalibrationModeLabel.ToolTip = CalibrationModeCombo.ToolTip = "When you use " + calibration_buttons + " " + Helpers.application_name + " slowly gathers data to increase accuracy.\n" + "The algorithm is a bit tricky. It can use different data and different amounts of data.\n" + "To be honest I don't know what parameters are optimal. Trying to figure it out. \n\n" + "Modes:\n" + "1.'Simple & Fast' uses as little data as reasonable. \n" + " * Quick learning period. \n" + " * Rough (but probably the best possible) precision. \n" + " * Absolutely best when the Eye Tracker device has a poor fixation. \n" + " * No extra CPU load.\n" + " * Recommended.\n" + "2.'Multidimensional' uses much more data than 'Simple & Fast'. \n" + " * Tracks head position. \n" + " * Long learning period (months of using). \n" + " * Rough initial precision. \n" + " * When learned it may provide precison better than 'Simple & Fast'. \n" + " * This mode is experimental.\n" + " * !!! DON'T use this mode if the Eye Tracker device has a poor fixation !!!"; AdvancedCalibrationSettings.ToolTip = "Understanding advanced calibration settings may be challenging.\n" + "It's easy to make things worse by changing this settings.\n" + "Proceed only if you understand exactly what you are doing."; System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location); TextBlockVersion.Text = "Version: " + fileVersionInfo.FileMajorPart + "." + fileVersionInfo.FileMinorPart + "." + fileVersionInfo.FileBuildPart; } }