Ejemplo n.º 1
0
 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";
         }
     }));
 }
Ejemplo n.º 2
0
        // 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;
            }
        }
Ejemplo n.º 3
0
        // 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;
            }
        }