public KeyDownAction(KeyActionManager keyActionManager, VirtualKeyCode keyCode) { KeyActionManager = keyActionManager; KeyCode = keyCode; Timer = new DispatcherTimer(DispatcherPriority.Normal, KeyActionManager.Dispatcher); Timer.Tick += Timer_Tick; }
public MainWindow() { InitializeComponent(); Ahk = AutoHotkeyEngine.Instance; InputSimulator = new InputSimulator(); KeyActionManager = new KeyActionManager(Dispatcher, InputSimulator); BluetoothManager bluetoothManager = new BluetoothManager(); GyroscopeReadingUuid = GyroscopeRfcommServiceConnectionWrapper.RfcommServiceId; KeyboardServiceUuid = Constants.KeyboardServiceGuid; MouseServiceUuid = Constants.MouseServiceId; MouseCharacteristicUuid = Constants.MouseActionCharacteristicWrapper; KeyboardCharacteristicUuid = Constants.KeyActionCharacteristicWrapper; var characteristicDict = new Dictionary <Guid, List <CharacteristicProfile> >(); characteristicDict.Add(KeyboardServiceWrapper.Guid, new List <CharacteristicProfile>() { new CharacteristicProfile { Notified = true, Guid = Constants.KeyActionCharacteristicWrapper }, new CharacteristicProfile { Notified = true, Guid = Constants.MouseActionCharacteristicWrapper } }); var serviceId = new List <Guid> { MouseServiceWrapper.ServiceId }; ConnectionProfile profile = new ConnectionProfile() { RequiredCharacteristicGuids = characteristicDict, RequiredServiceGuids = serviceId }; BleDeviceSelectorWindow bleDeviceSelectorWindow = new BleDeviceSelectorWindow(bluetoothManager, profile); bleDeviceSelectorWindow.ShowDialog(); ConnectionBuildResult = bleDeviceSelectorWindow.ConnectionBuildResult; MouseServiceWrapper = new MouseServiceWrapper(ConnectionBuildResult[MouseServiceUuid].RfcommConnection); MouseServiceWrapper.OnMouseMoveReceived += MouseServiceWrapper_OnMouseMoveReceived; KeyboardServiceClientWrapper = new KeyboardServiceClientWrapper(ConnectionBuildResult[KeyboardServiceUuid, KeyboardCharacteristicUuid], ConnectionBuildResult[KeyboardServiceUuid, MouseCharacteristicUuid]); KeyboardServiceClientWrapper.OnKeyStatusChanged += KeyboardServiceClientWrapper_OnKeyStatusChanged; KeyboardServiceClientWrapper.OnMouseStatusChanged += KeyboardServiceClientWrapper_OnMouseStatusChanged; }