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);
            }
        }
Example #3
0
        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);
 }
Example #6
0
 protected virtual void OnKeyUp(KeyboardKeyInput evt) => KeyUp?.Invoke(evt);
Example #7
0
 protected virtual void OnKeyDown(KeyboardKeyInput evt) => KeyDown?.Invoke(evt);