// 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; } }
public static string GetModifierString() { return(Helpers.GetKeyString(Options.Instance.key_bindings[Key.Modifier], Options.Instance.key_bindings.is_modifier_e0)); }