示例#1
0
        private void UpdateControls()
        {
            lock (Helpers.locker)
            {
                string modifier_key_string = Helpers.GetKeyString(Options.Instance.key_bindings[Key.Modifier], Options.Instance.key_bindings.is_modifier_e0);

                CalibrationZoneSizeTooltip.ToolTip =
                    "Size of calibration zone on screen. There can be only one calibration per zone." +
                    "Smaller zones result in a more precise but longer calibration and higher CPU usage." +
                    "You may want to increase zones count if you make zone size small." +
                    "Press " + modifier_key_string + " + " +
                    Options.Instance.key_bindings[Key.ShowCalibrationView] +
                    " to see your curent calibrations.";

                CalibrationPointsCountTooltip.ToolTip =
                    "Maximum number of calibration zones on screen. There can be only one calibration per zone. \n" +
                    "More zones mean more precise calibration and higher CPU usage.\n" +
                    "You may want to decrease zone size if you set large zones count.\n" +
                    "Press " + modifier_key_string + " + " +
                    Options.Instance.key_bindings[Key.ShowCalibrationView].ToString() +
                    " to see your curent calibrations.";

                CalibrationZoneSize.Value          = Options.Instance.calibration_mode.zone_size;
                CalibrationPointsCount.Value       = Options.Instance.calibration_mode.max_zones_count;
                ConsideredZonesCount.Value         = Options.Instance.calibration_mode.considered_zones_count;
                MultidimensionalDetalization.Value = Options.Instance.calibration_mode.multi_dimensions_detalization;
                UpdatePeriodMs.Value = Options.Instance.calibration_mode.update_period_ms;

                foreach (var item in additional_dimensions_checkboxes)
                {
                    item.Value.IsChecked = (Options.Instance.calibration_mode.multidimension_calibration_type & item.Key) == item.Key;
                }

                if (Options.Instance.calibration_mode.Equals(Options.CalibrationMode.MultiDimensionPreset))
                {
                    CalibrationModeCombo.SelectedIndex = 0;
                    CustomCalibrationMode.Visibility   = Visibility.Collapsed;
                }
                else if (Options.Instance.calibration_mode.Equals(Options.CalibrationMode.SingleDimensionPreset))
                {
                    CalibrationModeCombo.SelectedIndex = 1;
                    CustomCalibrationMode.Visibility   = Visibility.Collapsed;
                }
                else
                {
                    CustomCalibrationMode.Visibility   = Visibility.Visible;
                    CalibrationModeCombo.SelectedIndex = 2;
                }
            }
        }
        private void UpdateKeyBindingControls()
        {
            if (key_binding_controls_list == null)
            {
                key_binding_controls_list = new List<KeyBindingControl>
                {
                    new KeyBindingControl { key = Key.CalibrateDown, set_new_binding_button = CalibrateDown, set_default_binding_button = CalibrateDownDefault },
                    new KeyBindingControl { key = Key.CalibrateLeft, set_new_binding_button = CalibrateLeft, set_default_binding_button = CalibrateLeftDefault },
                    new KeyBindingControl { key = Key.CalibrateRight, set_new_binding_button = CalibrateRigth, set_default_binding_button = CalibrateRigthDefault },
                    new KeyBindingControl { key = Key.CalibrateUp, set_new_binding_button = CalibrateUp, set_default_binding_button = CalibrateUpDefault },
                    new KeyBindingControl { key = Key.LeftMouseButton, set_new_binding_button = LeftMouseButton, set_default_binding_button = LeftMouseButtonDefault },
                    new KeyBindingControl { key = Key.Modifier, set_new_binding_button = EnableMouseControll, set_default_binding_button = EnableMouseControllDefault },
                    new KeyBindingControl { key = Key.RightMouseButton, set_new_binding_button = RightMouseButton, set_default_binding_button = RightMouseButtonDefault },
                    new KeyBindingControl { key = Key.ScrollDown, set_new_binding_button = ScrollDown, set_default_binding_button = ScrollDownDefault },
                    new KeyBindingControl { key = Key.ScrollLeft, set_new_binding_button = ScrollLeft, set_default_binding_button = ScrollLeftDefault },
                    new KeyBindingControl { key = Key.ScrollRight, set_new_binding_button = ScrollRight, set_default_binding_button = ScrollRightDefault },
                    new KeyBindingControl { key = Key.ScrollUp, set_new_binding_button = ScrollUp, set_default_binding_button = ScrollUpDefault },
                    new KeyBindingControl { key = Key.ShowCalibrationView, set_new_binding_button = CalibrationView, set_default_binding_button = CalibrationViewDefault },
                };
            }

            lock (Helpers.locker)
            {
                bool is_driver_loaded = input_manager.IsDriverLoaded();
                if (Options.Instance.key_bindings.interception_method == KeyBindings.InterceptionMethod.OblitaDriver)
                    InterceptionMethod.SelectedIndex = 1;
                else
                    InterceptionMethod.SelectedIndex = 0;

                foreach (var key_binding_control in key_binding_controls_list)
                {
                    Interceptor.Keys key = Options.Instance.key_bindings[key_binding_control.key];

                    key_binding_control.set_new_binding_button.Content = Helpers.GetKeyString(key, key_binding_control.key == Key.Modifier ? Options.Instance.key_bindings.is_modifier_e0 : false);
                    key_binding_control.set_new_binding_button.IsEnabled = InterceptionMethod.SelectedIndex == 1 && is_driver_loaded;
                    key_binding_control.set_new_binding_button.Background = new SolidColorBrush(Colors.White);

                    key_binding_control.set_default_binding_button.IsEnabled = InterceptionMethod.SelectedIndex == 1 && is_driver_loaded;
                }

                WinApiWarning.Visibility = InterceptionMethod.SelectedIndex == 0 || !is_driver_loaded ? Visibility.Visible : Visibility.Hidden;
            }
        }
        private void Update(object sender, EventArgs e)
        {
            Dispatcher.BeginInvoke(new Action(() =>
            {
                lock (Helpers.locker)
                {
                    foreach (var arrow in arrows)
                    {
                        Canvas.Children.Remove(arrow);
                    }

                    arrows.Clear();

                    foreach (var shift in ShiftsStorage.Instance.Shifts)
                    {
                        var arrow    = new Petzold.Media2D.ArrowLine();
                        arrow.X1     = shift.Position.X;
                        arrow.Y1     = shift.Position.Y;
                        arrow.X2     = shift.Position.X + shift.Shift.X;
                        arrow.Y2     = shift.Position.Y + shift.Shift.Y;
                        arrow.Stroke = Options.Instance.calibration_mode.multidimension_calibration_type == MultidimensionCalibrationType.None ?
                                       Brushes.Red : new SolidColorBrush(shift.Position.GetColor());
                        arrow.StrokeThickness = 3;

                        Canvas.Children.Add(arrow);
                        arrows.Add(arrow);
                    }

                    Description.Text =
                        "CALIBRATIONS COUNT: " + ShiftsStorage.Instance.Shifts.Count + "/" + Options.Instance.calibration_mode.max_zones_count + " \n" +
                        "HIDE CALIBRATION VIEW: " + Helpers.GetKeyString(Options.Instance.key_bindings[Key.Modifier], Options.Instance.key_bindings.is_modifier_e0).ToUpper() +
                        "+" + Options.Instance.key_bindings[Key.ShowCalibrationView] + "\n" +
                        "YOU CAN RESET CALIBRATIONS FROM THE TRAY ICON MENU";
                }
            }));
        }
示例#4
0
        private void UpdateKeyBindingControls()
        {
            if (key_binding_controls_list == null)
            {
                key_binding_controls_list = new List <KeyBindingControl>
                {
                    new KeyBindingControl {
                        key = Key.CalibrateDown, set_new_binding_button = CalibrateDown, set_default_binding_button = CalibrateDownDefault, unset_binding_button = CalibrateDownUnset
                    },
                    new KeyBindingControl {
                        key = Key.CalibrateLeft, set_new_binding_button = CalibrateLeft, set_default_binding_button = CalibrateLeftDefault, unset_binding_button = CalibrateLeftUnset
                    },
                    new KeyBindingControl {
                        key = Key.CalibrateRight, set_new_binding_button = CalibrateRigth, set_default_binding_button = CalibrateRigthDefault, unset_binding_button = CalibrateRigthUnset
                    },
                    new KeyBindingControl {
                        key = Key.CalibrateUp, set_new_binding_button = CalibrateUp, set_default_binding_button = CalibrateUpDefault, unset_binding_button = CalibrateUpUnset
                    },
                    new KeyBindingControl {
                        key = Key.LeftMouseButton, set_new_binding_button = LeftMouseButton, set_default_binding_button = LeftMouseButtonDefault, unset_binding_button = LeftMouseButtonUnset
                    },
                    new KeyBindingControl {
                        key = Key.Modifier, set_new_binding_button = EnableMouseControll, set_default_binding_button = EnableMouseControllDefault, unset_binding_button = EnableMouseControllUnset
                    },
                    new KeyBindingControl {
                        key = Key.RightMouseButton, set_new_binding_button = RightMouseButton, set_default_binding_button = RightMouseButtonDefault, unset_binding_button = RightMouseButtonUnset
                    },
                    new KeyBindingControl {
                        key = Key.ScrollDown, set_new_binding_button = ScrollDown, set_default_binding_button = ScrollDownDefault, unset_binding_button = ScrollDownUnset
                    },
                    new KeyBindingControl {
                        key = Key.ScrollLeft, set_new_binding_button = ScrollLeft, set_default_binding_button = ScrollLeftDefault, unset_binding_button = ScrollLeftUnset
                    },
                    new KeyBindingControl {
                        key = Key.ScrollRight, set_new_binding_button = ScrollRight, set_default_binding_button = ScrollRightDefault, unset_binding_button = ScrollRightUnset
                    },
                    new KeyBindingControl {
                        key = Key.ScrollUp, set_new_binding_button = ScrollUp, set_default_binding_button = ScrollUpDefault, unset_binding_button = ScrollUpUnset
                    },
                    new KeyBindingControl {
                        key = Key.ShowCalibrationView, set_new_binding_button = CalibrationView, set_default_binding_button = CalibrationViewDefault, unset_binding_button = CalibrationViewUnset
                    },

                    new KeyBindingControl {
                        key = Key.Accessibility_SaveCalibration, set_new_binding_button = Accessibility_SaveCalibration, set_default_binding_button = Accessibility_SaveCalibrationDefault, unset_binding_button = Accessibility_SaveCalibrationUnset
                    },
                    new KeyBindingControl {
                        key = Key.StopCalibration, set_new_binding_button = StopCalibration, set_default_binding_button = StopCalibrationDefault, unset_binding_button = StopCalibrationUnset
                    },
                };
            }

            lock (Helpers.locker)
            {
                bool is_driver_loaded = input_manager.IsDriverLoaded();
                if (Options.Instance.key_bindings.interception_method == KeyBindings.InterceptionMethod.OblitaDriver)
                {
                    InterceptionMethod.SelectedIndex = 1;
                }
                else
                {
                    InterceptionMethod.SelectedIndex = 0;
                }

                foreach (var key_binding_control in key_binding_controls_list)
                {
                    Interceptor.Keys?key = Options.Instance.key_bindings[key_binding_control.key];

                    key_binding_control.set_new_binding_button.Content    = Helpers.GetKeyString(key, key_binding_control.key == Key.Modifier ? Options.Instance.key_bindings.is_modifier_e0 : false);
                    key_binding_control.set_new_binding_button.IsEnabled  = InterceptionMethod.SelectedIndex == 1 && is_driver_loaded;
                    key_binding_control.set_new_binding_button.Background = new SolidColorBrush(Colors.White);

                    key_binding_control.set_default_binding_button.IsEnabled = InterceptionMethod.SelectedIndex == 1 && is_driver_loaded;
                }
                if (is_driver_loaded)
                {
                    Options.Instance.key_bindings.is_driver_installed = true;
                    Options.Instance.SaveToFile(Options.Filepath);
                }

                WinApiWarning.Visibility          = InterceptionMethod.SelectedIndex == 0 || !is_driver_loaded ? Visibility.Visible : Visibility.Hidden;
                Button_UninstallOblita.Visibility = Options.Instance.key_bindings.is_driver_installed ? Visibility.Visible : Visibility.Hidden;

                KeyBindings.Changed?.Invoke(this, new EventArgs());
            }
        }
示例#5
0
 public static string GetModifierString()
 {
     return(Helpers.GetKeyString(Options.Instance.key_bindings[Key.Modifier], Options.Instance.key_bindings.is_modifier_e0));
 }