private ButtonEventHandler KeyboardEventHandler(KeyboardKeyInput input, Keyboard keyboard) { return((statePressed, previousStatePressed) => { if (statePressed && !previousStatePressed) { keyboard.Press(input); keyboard.ResetKeyDown(); } else if (statePressed && previousStatePressed) { if (keyboard.KeyDown == keyboard.KeyDownDelay) { keyboard.Press(input); } else { keyboard.AddKeyDown(); } } else if (!statePressed && previousStatePressed) { keyboard.Release(input); keyboard.ResetKeyDown(); } }); }
private void SetPropertyValueButtonInput(String value, Object obj, PropertyInfo property) { Object output; if (Enum.TryParse(typeof(MouseKeyCode), value, true, out output)) { var mouse = new MouseKeyInput((MouseKeyCode)output); property.SetValue(obj, mouse); } else if (Enum.TryParse(typeof(MouseMacro), value, true, out output)) { var mouse = new MouseMacroInput((MouseMacro)output); property.SetValue(obj, mouse); } else if (Enum.TryParse(typeof(KeyboardKeyCode), value, true, out output)) { var keyboard = new KeyboardKeyInput((KeyboardKeyCode)output); property.SetValue(obj, keyboard); } else if (Enum.TryParse(typeof(KeyboardMacro), value, true, out output)) { var keyboard = new KeyboardMacroInput((KeyboardMacro)output); property.SetValue(obj, keyboard); } }
public InputState Apply() { var entries = new List <ButtonInputEntry <Key> >(); for (int i = 0; i < 10; i++) { entries.Add(new ButtonInputEntry <Key>((Key)i, true)); } var input = new KeyboardKeyInput(entries); var state = new InputState(); input.Apply(state, new NullStateChangeHandler()); return(state); }
private ButtonEventHandler OnScreenKeyboardEventHandler(KeyboardMacroInput input, Gamepad gamepad, Keyboard keyboard) { return((statePressed, previousStatePressed) => { if (!statePressed && previousStatePressed && gamepad.InputState.ButtonPressCount == 0 && gamepad.PreviousInputState.ButtonPressCount == 1) { var windowsKey = new KeyboardKeyInput(KeyboardKeyCode.Windows); var ctrlKey = new KeyboardKeyInput(KeyboardKeyCode.Ctrl); var oKey = new KeyboardKeyInput(KeyboardKeyCode.O); keyboard.Press(windowsKey); keyboard.Press(ctrlKey); keyboard.Press(oKey); keyboard.Release(windowsKey); keyboard.Release(ctrlKey); keyboard.Release(oKey); } }); }
private void handleKeyboardEvent(KeyboardKeyInput keyEvent) { PendingInputs.Enqueue(keyEvent); FrameStatistics.Increment(StatisticsCounterType.KeyEvents); }
protected virtual void OnKeyUp(KeyboardKeyInput evt) => KeyUp?.Invoke(evt);
protected virtual void OnKeyDown(KeyboardKeyInput evt) => KeyDown?.Invoke(evt);