public MainViewModel( IAudioService audioService, ICalibrationService calibrationService, IDictionaryService dictionaryService, IKeyStateService keyStateService, ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, IInputService inputService, IKeyboardOutputService keyboardOutputService, IMouseOutputService mouseOutputService, IWindowManipulationService mainWindowManipulationService, List <INotifyErrors> errorNotifyingServices) { this.audioService = audioService; this.calibrationService = calibrationService; this.dictionaryService = dictionaryService; this.keyStateService = keyStateService; this.suggestionService = suggestionService; this.capturingStateManager = capturingStateManager; this.lastMouseActionStateManager = lastMouseActionStateManager; this.inputService = inputService; this.keyboardOutputService = keyboardOutputService; this.mouseOutputService = mouseOutputService; this.mainWindowManipulationService = mainWindowManipulationService; this.errorNotifyingServices = errorNotifyingServices; calibrateRequest = new InteractionRequest <NotificationWithCalibrationResult>(); SelectionMode = SelectionModes.Key; InitialiseKeyboard(mainWindowManipulationService); AttachScratchpadEnabledListener(); AttachKeyboardSupportsCollapsedDockListener(mainWindowManipulationService); AttachKeyboardSupportsSimulateKeyStrokesListener(); }
public KeyEnabledStates( IKeyStateService keyStateService, ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, ICalibrationService calibrationService) { this.keyStateService = keyStateService; this.suggestionService = suggestionService; this.capturingStateManager = capturingStateManager; this.lastMouseActionStateManager = lastMouseActionStateManager; this.calibrationService = calibrationService; suggestionService.OnPropertyChanges(ss => ss.Suggestions).Subscribe(_ => NotifyStateChanged()); suggestionService.OnPropertyChanges(ss => ss.SuggestionsPage).Subscribe(_ => NotifyStateChanged()); suggestionService.OnPropertyChanges(ss => ss.SuggestionsPerPage).Subscribe(_ => NotifyStateChanged()); keyStateService.OnPropertyChanges(kss => kss.SimulateKeyStrokes).Subscribe(_ => NotifyStateChanged()); keyStateService.KeyDownStates[KeyValues.MouseLeftDownUpKey].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged()); keyStateService.KeyDownStates[KeyValues.MouseMiddleDownUpKey].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged()); keyStateService.KeyDownStates[KeyValues.MouseRightDownUpKey].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged()); keyStateService.KeyDownStates[KeyValues.SleepKey].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged()); KeyValues.KeysWhichPreventTextCaptureIfDownOrLocked.ForEach(kv => keyStateService.KeyDownStates[kv].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged())); capturingStateManager.OnPropertyChanges(csm => csm.CapturingMultiKeySelection).Subscribe(_ => NotifyStateChanged()); lastMouseActionStateManager.OnPropertyChanges(lmasm => lmasm.LastMouseActionExists).Subscribe(_ => NotifyStateChanged()); Settings.Default.OnPropertyChanges(s => s.MultiKeySelectionEnabled).Subscribe(_ => NotifyStateChanged()); Settings.Default.OnPropertyChanges(s => s.MainWindowState).Subscribe(_ => NotifyStateChanged()); Settings.Default.OnPropertyChanges(s => s.MainWindowDockPosition).Subscribe(_ => NotifyStateChanged()); }
public KeyEnabledStates( IKeyboardService keyboardService, ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, ICalibrationService calibrationService, IWindowStateService mainWindowStateService) { this.keyboardService = keyboardService; this.suggestionService = suggestionService; this.capturingStateManager = capturingStateManager; this.lastMouseActionStateManager = lastMouseActionStateManager; this.calibrationService = calibrationService; this.mainWindowStateService = mainWindowStateService; suggestionService.OnPropertyChanges(ss => ss.Suggestions).Subscribe(_ => NotifyStateChanged()); suggestionService.OnPropertyChanges(ss => ss.SuggestionsPage).Subscribe(_ => NotifyStateChanged()); suggestionService.OnPropertyChanges(ss => ss.SuggestionsPerPage).Subscribe(_ => NotifyStateChanged()); keyboardService.KeyDownStates[KeyValues.SimulateKeyStrokesKey].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged()); keyboardService.KeyDownStates[KeyValues.SleepKey].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged()); KeyValues.KeysWhichPreventTextCaptureIfDownOrLocked.ForEach(kv => keyboardService.KeyDownStates[kv].OnPropertyChanges(np => np.Value).Subscribe(_ => NotifyStateChanged())); capturingStateManager.OnPropertyChanges(csm => csm.CapturingMultiKeySelection).Subscribe(_ => NotifyStateChanged()); lastMouseActionStateManager.OnPropertyChanges(lmasm => lmasm.LastMouseActionExists).Subscribe(_ => NotifyStateChanged()); mainWindowStateService.OnPropertyChanges(mwss => mwss.WindowState).Subscribe(_ => NotifyStateChanged()); }
public MainViewModel( IAudioService audioService, ICalibrationService calibrationService, IDictionaryService dictionaryService, IKeyStateService keyStateService, ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, IInputService inputService, IKeyboardOutputService keyboardOutputService, IMouseOutputService mouseOutputService, IWindowManipulationService mainWindowManipulationService, List<INotifyErrors> errorNotifyingServices) { this.audioService = audioService; this.calibrationService = calibrationService; this.dictionaryService = dictionaryService; this.keyStateService = keyStateService; this.suggestionService = suggestionService; this.capturingStateManager = capturingStateManager; this.lastMouseActionStateManager = lastMouseActionStateManager; this.inputService = inputService; this.keyboardOutputService = keyboardOutputService; this.mouseOutputService = mouseOutputService; this.mainWindowManipulationService = mainWindowManipulationService; this.errorNotifyingServices = errorNotifyingServices; calibrateRequest = new InteractionRequest<NotificationWithCalibrationResult>(); SelectionMode = SelectionModes.Key; InitialiseKeyboard(mainWindowManipulationService); AttachScratchpadEnabledListener(); AttachKeyboardSupportsCollapsedDockListener(mainWindowManipulationService); AttachKeyboardSupportsSimulateKeyStrokesListener(); }
public OutputService( IKeyboardService keyboardService, ISuggestionStateService suggestionService, IPublishService publishService, IDictionaryService dictionaryService) { this.keyboardService = keyboardService; this.suggestionService = suggestionService; this.publishService = publishService; this.dictionaryService = dictionaryService; ReactToPublishingStateChanges(); ReactToPublishableKeyDownStateChanges(); }
public KeyboardService( ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, ICalibrationService calibrationService, IWindowStateService mainWindowStateService) { keySelectionProgress = new NotifyingConcurrentDictionary<KeyValue, double>(); keyDownStates = new NotifyingConcurrentDictionary<KeyValue, KeyDownStates>(); keyEnabledStates = new KeyEnabledStates(this, suggestionService, capturingStateManager, lastMouseActionStateManager, calibrationService, mainWindowStateService); InitialiseKeyDownStates(); AddKeyboardSetChangeHandlers(); AddKeyDownStatesChangeHandlers(); }
public KeyStateService( ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, ICalibrationService calibrationService, Action <KeyValue> fireKeySelectionEvent) { this.fireKeySelectionEvent = fireKeySelectionEvent; this.keySelectionProgress = new NotifyingConcurrentDictionary <KeyValue, double>(); this.keyDownStates = new NotifyingConcurrentDictionary <KeyValue, KeyDownStates>(); this.keyEnabledStates = new KeyEnabledStates(this, suggestionService, capturingStateManager, lastMouseActionStateManager, calibrationService); InitialiseKeyDownStates(); AddSettingChangeHandlers(); AddSimulateKeyStrokesChangeHandler(); AddKeyDownStatesChangeHandlers(); }
public KeyStateService( ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, ICalibrationService calibrationService, Action<KeyValue> fireKeySelectionEvent) { this.fireKeySelectionEvent = fireKeySelectionEvent; keySelectionProgress = new NotifyingConcurrentDictionary<KeyValue, double>(); keyDownStates = new NotifyingConcurrentDictionary<KeyValue, KeyDownStates>(); keyEnabledStates = new KeyEnabledStates(this, suggestionService, capturingStateManager, lastMouseActionStateManager, calibrationService); InitialiseKeyDownStates(); AddSettingChangeHandlers(); AddSimulateKeyStrokesChangeHandler(); AddKeyDownStatesChangeHandlers(); }
public MainViewModel( IAudioService audioService, ICalibrationService calibrationService, IDictionaryService dictionaryService, IKeyStateService keyStateService, ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, IInputService inputService, IKeyboardOutputService keyboardOutputService, IMouseOutputService mouseOutputService, IWindowManipulationService mainWindowManipulationService, List <INotifyErrors> errorNotifyingServices) { this.audioService = audioService; this.calibrationService = calibrationService; this.dictionaryService = dictionaryService; this.keyStateService = keyStateService; this.suggestionService = suggestionService; this.capturingStateManager = capturingStateManager; this.lastMouseActionStateManager = lastMouseActionStateManager; this.inputService = inputService; this.keyboardOutputService = keyboardOutputService; this.mouseOutputService = mouseOutputService; this.mainWindowManipulationService = mainWindowManipulationService; this.errorNotifyingServices = errorNotifyingServices; calibrateRequest = new InteractionRequest <NotificationWithCalibrationResult>(); SelectionMode = SelectionModes.Key; this.translationService = new TranslationService(new HttpClient()); SetupInputServiceEventHandlers(); InitialiseKeyboard(mainWindowManipulationService); AttachScratchpadEnabledListener(); AttachKeyboardSupportsCollapsedDockListener(mainWindowManipulationService); AttachKeyboardSupportsSimulateKeyStrokesListener(); AttachKeyboardSupportsMultiKeySelectionListener(); ShowCrosshair = Settings.Default.GazeIndicatorStyle == GazeIndicatorStyles.Crosshair || Settings.Default.GazeIndicatorStyle == GazeIndicatorStyles.Scope; ShowMonical = Settings.Default.GazeIndicatorStyle == GazeIndicatorStyles.Monical || Settings.Default.GazeIndicatorStyle == GazeIndicatorStyles.Scope; }
public KeyboardOutputService( IKeyStateService keyStateService, ISuggestionStateService suggestionService, IPublishService publishService, IDictionaryService dictionaryService, Action<KeyValue> fireKeySelectionEvent) { this.keyStateService = keyStateService; this.suggestionService = suggestionService; this.publishService = publishService; this.dictionaryService = dictionaryService; this.fireKeySelectionEvent = fireKeySelectionEvent; ReactToSimulateKeyStrokesChanges(); ReactToShiftStateChanges(); ReactToPublishableKeyDownStateChanges(); ReactToKeyboardIsShiftAwareChanges(); ReactToSuppressAutoCapitaliseIntelligentlyChanges(); AutoPressShiftIfAppropriate(); }
public KeyboardOutputService( IKeyStateService keyStateService, ISuggestionStateService suggestionService, IPublishService publishService, IDictionaryService dictionaryService, Action <KeyValue> fireKeySelectionEvent) { this.keyStateService = keyStateService; this.suggestionService = suggestionService; this.publishService = publishService; this.dictionaryService = dictionaryService; this.fireKeySelectionEvent = fireKeySelectionEvent; ReactToSimulateKeyStrokesChanges(); ReactToShiftStateChanges(); ReactToPublishableKeyDownStateChanges(); ReactToKeyboardIsShiftAwareChanges(); ReactToSuppressAutoCapitaliseIntelligentlyChanges(); AutoPressShiftIfAppropriate(); }
public MainViewModel( IAudioService audioService, ICalibrationService calibrationService, IDictionaryService dictionaryService, IKeyboardService keyboardService, ISuggestionStateService suggestionService, ICapturingStateManager capturingStateManager, ILastMouseActionStateManager lastMouseActionStateManager, IInputService inputService, IOutputService outputService, IWindowManipulationService mainWindowManipulationService, List<INotifyErrors> errorNotifyingServices) { Log.Debug("Ctor called."); this.audioService = audioService; this.calibrationService = calibrationService; this.dictionaryService = dictionaryService; this.keyboardService = keyboardService; this.suggestionService = suggestionService; this.capturingStateManager = capturingStateManager; this.lastMouseActionStateManager = lastMouseActionStateManager; this.inputService = inputService; this.outputService = outputService; this.mainWindowManipulationService = mainWindowManipulationService; this.errorNotifyingServices = errorNotifyingServices; calibrateRequest = new InteractionRequest<NotificationWithCalibrationResult>(); SelectionMode = SelectionModes.Key; Keyboard = new Alpha(); SelectKeyboardOnKeyboardSetChanges(); AttachScratchpadEnabledListener(); HandleFunctionKeySelectionResult(KeyValues.LeftShiftKey); //Set initial shift state to on }