public void GetsAllPressedModifiers() { var nmm = new NativeMethodsMock() { PressedKeys = { VirtualKey.VK_LCONTROL, (VirtualKey)'A', }, }; using var mkw = new ModifierKeysWatcher(nmm); var key1 = FromXml <DeviceKey>("<Key1 Device='Keyboard' Key='Key_LeftControl' />"); var key2 = FromXml <DeviceKey>("<Key1 Device='Keyboard' Key='Key_LeftShift' />"); var key3 = FromXml <DeviceKey>("<Key2 Device='Keyboard' Key='Key_A' />"); mkw.Watch(new[] { key1, key2, key3 }, "en-US", false); var keys = mkw.InvokePrivateMethod <IEnumerable <DeviceKey> >("GetAllPressedModifiers").ToList(); Assert.Contains(key1, keys); Assert.DoesNotContain(key2, keys); Assert.Contains(key3, keys); }
private void BindingsWatcher_Changed(object sender, BindingPreset e) { _modifierKeysWatcher.Watch(GetAllModifiers(e.Bindings.Values), e.KeyboardLayout); _gameState.BindingPreset = e; OnChanged(ChangeType.BindingPreset); }
private void BindingsWatcher_Changed(object sender, BindingPreset e) { _modifierKeysWatcher.Watch(GetAllModifiers(e.Bindings.Values)); GameState.Bindings = e.Bindings; OnChanged(); }