示例#1
0
        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);
        }
示例#2
0
        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("Ошибочка вышла - не удалось зарегестрировать клавишу");
            }
        }
示例#3
0
        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("Ошибочка вышла - не удалось зарегестрировать клавишу");
            }
        }
示例#4
0
        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;
                }
            }
        }
示例#5
0
        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());
        }
示例#6
0
 public static void HotkeyRegister(this Control control, KeyMod mod, Keys key, HandledEventHandler handler)
 {
     Hotkey.Register(control, mod, key, handler);
 }
示例#7
0
 void MouseButton(WindowPtr window, MouseButton button, KeyAction action, KeyMod mod)
 {
     OnMouseButton(button, action, mod);
 }
示例#8
0
 void Text(WindowPtr window, uint utf32, KeyMod modifiers)
 {
     OnText(utf32);
     OnTextMod(utf32, modifiers);
 }
示例#9
0
 void Key(WindowPtr window, KeyCode code, int scancode, KeyAction action, KeyMod modifiers)
 {
     OnKey(code, scancode, action, modifiers);
 }
示例#10
0
文件: dx8.cs 项目: betajaen/dx8
 public KeyState(KeyCode main, KeyMod modifier)
 {
     mainKey     = main;
     modifierKey = modifier;
 }
示例#11
0
        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);
        }