// Enables keys interception with selected |interception_method|. Backs off to WinAPI if failed loading interception driver. public bool Reset() { lock (Helpers.locker) { Stop(); if (Options.Instance.accessibility_mode) { mouse_controller = new AccessibilityMouseController(eye_tracking_mouse); } else { mouse_controller = new DefaultMouseController(eye_tracking_mouse); } if (Options.Instance.key_bindings.interception_method == KeyBindings.InterceptionMethod.OblitaDriver) { input_provider = new OblitaInterceptionInputProvider(mouse_controller); input_provider.Load(); if (input_provider.IsLoaded) { return(true); } } input_provider = new WinApiInputProvider(mouse_controller); input_provider.Load(); return(Options.Instance.key_bindings.interception_method == KeyBindings.InterceptionMethod.WinApi); } }
public void Stop() { lock (Helpers.locker) { eye_tracking_mouse.StopControlling(); if (input_provider != null && input_provider.IsLoaded) { input_provider.Unload(); } input_provider = null; if (mouse_controller != null) { mouse_controller.Dispose(); } mouse_controller = null; } }