//[WpfFact] public async Task Test_RawInput_DeviceChanges_KeyboardRemoved() { var device = await RawInputMonitor.MonitorRawInputDeviceChanges(RawInputDevices.Keyboard).Where(args => !args.Added).FirstAsync(); Assert.False(device.Added); Assert.Equal(RawInputDeviceTypes.Keyboard, device.DeviceInformation.DeviceInfo.Type); }
//[WpfFact] public async Task Test_RawInput_Left() { var rawInputObservable = RawInputMonitor.MonitorRawInput(RawInputDevices.Keyboard); using (rawInputObservable.Subscribe(ri => { if (ri.RawInput.Device.Keyboard.Flags == RawKeyboardFlags.Break) { Log.Debug().WriteLine("Key down {0}", ri.RawInput.Device.Keyboard.VirtualKey); } if (ri.RawInput.Device.Keyboard.Flags == RawKeyboardFlags.Break) { Log.Debug().WriteLine("Key up {0}", ri.RawInput.Device.Keyboard.VirtualKey); } })) { var device = await rawInputObservable.FirstAsync(args => args.RawInput.Device.Keyboard.VirtualKey == VirtualKeyCode.Left); Assert.Equal(RawInputDeviceTypes.Keyboard, device.RawInput.Header.Type); } }