Exemplo n.º 1
0
        private bool executeKeyDown(string key)
        {
            bool handled = false;

            if (key.Length > 4 && key.ToLower().Substring(0, 4).Equals("360."))
            {
                this.xinputButtonDown(key.ToLower().Substring(4));
                handled = true;
            }
            else if (Enum.IsDefined(typeof(VirtualKeyCode), key.ToUpper()))
            {
                VirtualKeyCode theKeyCode = (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), key, true);
                this.inputSimulator.Keyboard.KeyDown(theKeyCode);
                handled = true;
            }
            else if (Enum.IsDefined(typeof(MouseCode), key.ToUpper()))
            {
                MouseCode mouseCode = (MouseCode)Enum.Parse(typeof(MouseCode), key, true);
                switch (mouseCode)
                {
                case MouseCode.MOUSELEFT:
                    this.inputSimulator.Mouse.LeftButtonDown();
                    handled = true;
                    break;

                case MouseCode.MOUSERIGHT:
                    this.inputSimulator.Mouse.RightButtonDown();
                    handled = true;
                    break;
                }
            }

            return(handled);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Create a raw mouse code from an enum value.
        /// </summary>
        /// <param name="code"></param>
        public RawMouseCode(MouseCode code)
        {
            int btn = (int)code;

            Axis   = (btn & 0xFF00) >> 8;
            Button = (btn & 0x00FE) >> 1;
            Negate = (btn & 0x0001) >> 0;
        }
Exemplo n.º 3
0
        public InputObject(InputDeviceType deviceType, GamePadState gpdState, MouseState mosState, Keys keyBtn, GamepadCode gpdBtn, MouseCode musBtn)
        {
            this.gamepadCode  = gpdBtn;
            this.keyboardCode = keyBtn;
            this.mouseCode    = musBtn;

            this.gpdState = gpdState;
            this.mosState = mosState;
        }
Exemplo n.º 4
0
 public static void ClearKeybind(MouseCode mouse)
 {
     foreach (KeyValuePair <GameControls, KeyBind> kvp in keyValuePairs)
     {
         if (kvp.Value.mouseCode == mouse)
         {
             keyValuePairs[kvp.Key] = new KeyBind(KeyCode.None, MouseCode.None);
             return;
         }
     }
 }
Exemplo n.º 5
0
    public static bool SetControlKeybind(GameControls control, MouseCode mouse)
    {
        if (keyValuePairs.ContainsKey(control))
        {
            // Clear Keybind from other controls
            ClearKeybind(mouse);

            // Set new Keybind
            keyValuePairs[control] = new KeyBind(KeyCode.None, mouse);

            EventController.FireEvent(new UpdateControlsMessage());

            return(true);
        }

        return(false);
    }
Exemplo n.º 6
0
    public static string GetKeybindName(GameControls c)
    {
        if (!initialized)
        {
            Init();
        }

        KeyCode   k = keyValuePairs[c].keyCode;
        MouseCode m = keyValuePairs[c].mouseCode;

        if (k != KeyCode.None)
        {
            return(GetSpecificName(k.ToString().AddSpacesBetweenCamelCase()).RemoveWords());
        }
        else if (m != MouseCode.None)
        {
            return(GetSpecificName(m.ToString().AddSpacesBetweenCamelCase()).RemoveWords());
        }

        return("");
    }
Exemplo n.º 7
0
        public bool setButtonUp(string key)
        {
            if (Enum.IsDefined(typeof(MouseCode), key.ToUpper()))
            {
                MouseCode mouseCode = (MouseCode)Enum.Parse(typeof(MouseCode), key, true);
                switch (mouseCode)
                {
                case MouseCode.MOUSELEFT:
                    this.inputSimulator.Mouse.LeftButtonUp();
                    mouseLeftDown = false;
                    break;

                case MouseCode.MOUSERIGHT:
                    this.inputSimulator.Mouse.RightButtonUp();
                    mouseLeftDown = false;
                    break;

                default:
                    return(false);
                }
                return(true);
            }
            return(false);
        }
Exemplo n.º 8
0
        private bool executeKeyUp(string key)
        {
            bool handled = false;

            if (key.Length > 4 && key.ToLower().Substring(0, 4).Equals("360."))
            {
                this.xinputButtonUp(key.ToLower().Substring(4));
                handled = true;
            }
            else if (Enum.IsDefined(typeof(VirtualKeyCode), key.ToUpper())) //Enum.Parse does the opposite...
            {
                this.inputSimulator.Keyboard.KeyUp((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), key.ToString(), true));
                handled = true;
            }
            else if (Enum.IsDefined(typeof(MouseCode), key.ToUpper()))
            {
                MouseCode mouseCode = (MouseCode)Enum.Parse(typeof(MouseCode), key.ToString(), true);
                switch (mouseCode)
                {
                case MouseCode.MOUSELEFT:
                    this.inputSimulator.Mouse.LeftButtonUp();
                    handled = true;
                    break;

                case MouseCode.MOUSERIGHT:
                    this.inputSimulator.Mouse.RightButtonUp();
                    handled = true;
                    break;
                }
            }
            else if (!supportedSpecialCodes.ToLower().Contains(key.ToLower())) //If we can not find any valid key code, just treat it as a string to type :P (Good if the user writes X instead of VK_X)
            {
                this.inputSimulator.Keyboard.TextEntry(key);
            }
            return(handled);
        }
Exemplo n.º 9
0
 /// <summary>
 /// Test if the given mouse button is toggled.
 /// </summary>
 /// <param name="code">The mouse code.</param>
 /// <returns></returns>
 public static bool IsButtonToggled(MouseCode code)
 {
     return(IsButtonToggled(code.ToMouseButton()));
 }
Exemplo n.º 10
0
 /// <summary>
 /// Simulate a mouse click on the given button.
 /// </summary>
 /// <param name="code">The mouse code.</param>
 public static void PressButton(MouseCode code)
 {
     PressButton(code, 20);
 }
Exemplo n.º 11
0
 /// <summary>
 /// Simulate a mouse click on the given button.
 /// </summary>
 /// <param name="code">The mouse code.</param>
 /// <param name="pressTimeMS">The time the key will be pressed.</param>
 public static void PressButton(MouseCode code, int pressTimeMS)
 {
     SetButtonState(code, true);
     Thread.Sleep(pressTimeMS);
     SetButtonState(code, false);
 }
Exemplo n.º 12
0
 private static extern bool IsMouseButtonPressed_Native(MouseCode keycode);
Exemplo n.º 13
0
 /// <summary>
 /// Set the state of the given mouse code.
 /// <para></para>NOTE : Mousewheel up/down is only pressed, not held.
 /// </summary>
 /// <param name="code"></param>
 /// <param name="pressed"></param>
 public static void SetButtonState(MouseCode code, bool pressed)
 {
     SetButtonState(code.ToMouseButton(), pressed);
 }
Exemplo n.º 14
0
 extern private static void ICall_Input_GetCurrentMouseButtonEvent(int index, out MouseCode code, out InputEventType _event, out Vector2 absolutePos, out Vector2 relativePos);
Exemplo n.º 15
0
 internal static extern bool IsMouseButtonPressed_Native(MouseCode button);
Exemplo n.º 16
0
 /// <summary>
 /// Creates a RawMouseCode from an enum value. Same as new RawMouseCode(code).
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 public static RawMouseCode FromMouseCode(MouseCode code)
 {
     return(new RawMouseCode(code));
 }
Exemplo n.º 17
0
 public KeyBind(KeyCode k, MouseCode m)
 {
     keyCode   = k;
     mouseCode = m;
 }
Exemplo n.º 18
0
 extern private static void ICall_Input_GetCurrentMouseButtonEvent(int index, out MouseCode code, out InputEventType _event);
Exemplo n.º 19
0
 /// <summary>
 /// Convert this code to a mouse button.
 /// </summary>
 /// <param name="code">The code.</param>
 /// <returns></returns>
 public static MouseButton ToMouseButton(this MouseCode code)
 {
     return((MouseButton)Enum.Parse(typeof(MouseButton), code.ToString()));
 }
Exemplo n.º 20
0
 /// <summary>
 /// Convert this mouse code to a raw code.
 /// </summary>
 /// <param name="code">The code.</param>
 /// <returns></returns>
 public static RawMouseCode ToRawCode(this MouseCode code)
 {
     return(new RawMouseCode(code));
 }
Exemplo n.º 21
0
 private static extern void ICall_Input_GetCurrentMouseButtonEvent(int index, out MouseCode code, out InputEventType _event);
 public MouseButtonPressedEvent(MouseCode mouseCode)
 {
     MouseCode = mouseCode;
 }
Exemplo n.º 23
0
 /// <summary>
 /// 鼠标按钮是否弹起
 /// </summary>
 /// <param name="_mouseCode">鼠标按钮枚举值</param>
 /// <returns>true:鼠标按钮弹起;false:鼠标按钮没有弹起</returns>
 /**@brief<b>示例</b>
 *@code{.cpp}
 if (ScriptRuntime.Input.MouseButtonUp(MouseCode.LeftButton))
 {
     ScriptRuntime.Debug.Printf("MouseCode.LeftButton is Up");
 }
 @endcode
 */
 public static bool MouseButtonUp(MouseCode _mouseCode)
 {
     return ICall_Input_MouseButtonUp((int)_mouseCode);
 }
Exemplo n.º 24
0
 public static bool IsMouseButtonPressed(MouseCode button)
 {
     return(IsMouseButtonPressed_Native(button));
 }
Exemplo n.º 25
0
 /// <summary>
 /// Create an input binding from a key and a mouse button.
 /// </summary>
 /// <param name="key"></param>
 /// <param name="btn"></param>
 public InputBinding(DIKCode key, MouseCode btn)
 {
     KeyBinding   = key;
     MouseBinding = btn;
 }
Exemplo n.º 26
0
 public static bool IsMouseButtonPressed(MouseCode mouseCode)
 {
     return(IsMouseButtonPressed_Native(mouseCode));
 }
Exemplo n.º 27
0
        /// <summary>
        /// 鼠标按钮是否弹起
        /// </summary>
        /// <param name="_mouseCode">鼠标按钮枚举值</param>
        /// <returns>true:鼠标按钮弹起;false:鼠标按钮没有弹起</returns>

        /**@brief<b>示例</b>
         *@code{.cpp}
         * if (ScriptRuntime.Input.MouseButtonUp(MouseCode.LeftButton))
         * {
         *  ScriptRuntime.Debug.Printf("MouseCode.LeftButton is Up");
         * }
         * @endcode
         */
        static public bool MouseButtonUp(MouseCode _mouseCode)
        {
            return(ICall_Input_MouseButtonUp((int)_mouseCode));
        }
Exemplo n.º 28
0
 /// <summary>
 /// Create an input binding from a key.
 /// </summary>
 /// <param name="key"></param>
 public InputBinding(DIKCode key)
 {
     KeyBinding   = key;
     MouseBinding = MouseCode.None;
 }
 public MouseButtonReleasedEvent(MouseCode mouseCode)
 {
     MouseCode = mouseCode;
 }
Exemplo n.º 30
0
 /// <summary>
 /// Create an input binding from a mouse button.
 /// </summary>
 /// <param name="btn"></param>
 public InputBinding(MouseCode btn)
 {
     KeyBinding   = DIKCode.NONE;
     MouseBinding = btn;
 }
Exemplo n.º 31
0
        private void fireInputEnd(InputDeviceType inputType, GamePadState gpdState, KeyboardState keyState, MouseState mosState, Keys keyBtn, GamepadCode gpdBtn, MouseCode mosBtn)
        {
            InputObject input = new InputObject(inputType, gpdState, mosState, keyBtn, gpdBtn, mosBtn);

            //General
            for (int i = 0; i < generalListeners.Count; i++)
            {
                GeneralInputListener listener = generalListeners[i];
                listener.InputEnded(input);
                switch (inputType)
                {
                case (InputDeviceType.Gamepad):
                    listener.GamepadInputEnded(input);
                    break;

                case (InputDeviceType.Keyboard):
                    listener.KeyboardInputEnded(input);
                    break;

                case (InputDeviceType.Mouse):
                    listener.MouseInputEnded(input);
                    break;
                }
            }
            //Others
            switch (inputType)
            {
            case (InputDeviceType.Gamepad):
                for (int i = 0; i < gamepadListeners.Count; i++)
                {
                    GamepadListener listener = gamepadListeners[i];
                    listener.InputEnded(input);
                }
                break;

            case (InputDeviceType.Keyboard):
                for (int i = 0; i < keyboardListeners.Count; i++)
                {
                    KeyboardListener listener = keyboardListeners[i];
                    listener.InputEnded(input);
                }
                if (keyboardBinds.ContainsKey(keyBtn))
                {
                    keyboardBinds[keyBtn].Ended();
                }
                break;

            case (InputDeviceType.Mouse):
                for (int i = 0; i < mouseListeners.Count; i++)
                {
                    MouseListener listener = mouseListeners[i];
                    listener.InputEnded(input);
                }
                break;

            default:
                break;
            }
        }
Exemplo n.º 32
0
 /// <summary>
 /// An empty input binding.
 /// </summary>
 public InputBinding()
 {
     KeyBinding   = DIKCode.NONE;
     MouseBinding = MouseCode.None;
 }