public static void SendKey(Interactor intr, KeyMod keyMod, string key) { string keyModStr; switch (keyMod) { case KeyMod.Ctrl: keyModStr = "Ctrl"; break; case KeyMod.Alt: keyModStr = "Alt"; break; case KeyMod.Shift: keyModStr = "Shift"; break; default: keyModStr = ""; break; } SendKeyWithMod(intr, keyModStr, key, SendMode.Event); }
public static void Register(Control control, KeyMod mod, Keys key, HandledEventHandler handler) { Hotkey hk = new Hotkey(); hk.KeyCode = key; hk.Alt = mod.HasFlag(KeyMod.Alt); hk.Shift = mod.HasFlag(KeyMod.Shift); hk.Control = mod.HasFlag(KeyMod.Control); hk.Windows = mod.HasFlag(KeyMod.Windows); hk.Pressed += handler; if (!hk.Register(control)) { throw new Exception("Ошибочка вышла - не удалось зарегестрировать клавишу"); } }
public static void Register(HotkeyType type, Control control, KeyMod mod, Keys key, HandledEventHandler handler) { Hotkey hk = new Hotkey(); hk.WindowControl = control; hk.type = type; hk.keyCode = key; hk.alt = mod.HasFlag(KeyMod.Alt); hk.shift = mod.HasFlag(KeyMod.Shift); hk.control = mod.HasFlag(KeyMod.Control); hk.windows = mod.HasFlag(KeyMod.Windows); hk.Pressed += handler; if (type == HotkeyType.System && !hk.Register()) { throw new Exception("Ошибочка вышла - не удалось зарегестрировать клавишу"); } }
public void SimulateKey(KeyAction keyAction, KeyboardKey key, KeyMod mod = KeyMod.NONE) { VirtualKeyCode vk = KeyboardKeyToKeyCode(key); if (vk != VirtualKeyCode.NONAME) { switch (keyAction) { case KeyAction.DOWN: inputSimulator.Keyboard.KeyDown(vk); break; case KeyAction.UP: inputSimulator.Keyboard.KeyUp(vk); break; case KeyAction.PRESS: inputSimulator.Keyboard.ModifiedKeyStroke(ParseKeyMods(mod), vk); //inputSimulator.Keyboard.KeyPress(vk); break; } } }
private VirtualKeyCode[] ParseKeyMods(KeyMod mod) { var mods = new List <VirtualKeyCode>(); if ((mod & KeyMod.SHIFT) != KeyMod.NONE) { mods.Add(VirtualKeyCode.SHIFT); } if ((mod & KeyMod.CTRL) != KeyMod.NONE) { mods.Add(VirtualKeyCode.CONTROL); } if ((mod & KeyMod.ALT) != KeyMod.NONE) { mods.Add(VirtualKeyCode.MENU); } if ((mod & KeyMod.META) != KeyMod.NONE) { mods.Add(VirtualKeyCode.LWIN); } return(mods.ToArray()); }
public static void HotkeyRegister(this Control control, KeyMod mod, Keys key, HandledEventHandler handler) { Hotkey.Register(control, mod, key, handler); }
void MouseButton(WindowPtr window, MouseButton button, KeyAction action, KeyMod mod) { OnMouseButton(button, action, mod); }
void Text(WindowPtr window, uint utf32, KeyMod modifiers) { OnText(utf32); OnTextMod(utf32, modifiers); }
void Key(WindowPtr window, KeyCode code, int scancode, KeyAction action, KeyMod modifiers) { OnKey(code, scancode, action, modifiers); }
public KeyState(KeyCode main, KeyMod modifier) { mainKey = main; modifierKey = modifier; }