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); }
/// <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; }
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; }
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; } } }
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); }
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(""); }
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); }
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); }
/// <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())); }
/// <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); }
/// <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); }
private static extern bool IsMouseButtonPressed_Native(MouseCode keycode);
/// <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); }
extern private static void ICall_Input_GetCurrentMouseButtonEvent(int index, out MouseCode code, out InputEventType _event, out Vector2 absolutePos, out Vector2 relativePos);
internal static extern bool IsMouseButtonPressed_Native(MouseCode button);
/// <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)); }
public KeyBind(KeyCode k, MouseCode m) { keyCode = k; mouseCode = m; }
extern private static void ICall_Input_GetCurrentMouseButtonEvent(int index, out MouseCode code, out InputEventType _event);
/// <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())); }
/// <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)); }
private static extern void ICall_Input_GetCurrentMouseButtonEvent(int index, out MouseCode code, out InputEventType _event);
public MouseButtonPressedEvent(MouseCode mouseCode) { MouseCode = mouseCode; }
/// <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); }
public static bool IsMouseButtonPressed(MouseCode button) { return(IsMouseButtonPressed_Native(button)); }
/// <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; }
public static bool IsMouseButtonPressed(MouseCode mouseCode) { return(IsMouseButtonPressed_Native(mouseCode)); }
/// <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)); }
/// <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; }
/// <summary> /// Create an input binding from a mouse button. /// </summary> /// <param name="btn"></param> public InputBinding(MouseCode btn) { KeyBinding = DIKCode.NONE; MouseBinding = btn; }
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; } }
/// <summary> /// An empty input binding. /// </summary> public InputBinding() { KeyBinding = DIKCode.NONE; MouseBinding = MouseCode.None; }