Ejemplo n.º 1
0
Archivo: TFKey.cs Proyecto: lnx00/4Hud
 public TFKey(VirtualKeyShort VirtualKeyShort, ScanCodeShort ScanCodeShort, String TFKeyName, String DisplayText)
 {
     this.VirtualKeyShort = VirtualKeyShort;
     this.ScanCodeShort   = ScanCodeShort;
     this.TFKeyName       = TFKeyName;
     this.DisplayText     = DisplayText;
 }
Ejemplo n.º 2
0
        public void Send(ScanCodeShort key, float downTime = KEY_DOWN_TIME, Action callback = null)
        {
            if (WinUtils.GetActiveWindow() != this.window)
            {
                Stop();
                return;
            }
            else if (IsKeyDownTimerActive(key))
            {
                return;
            }

            downTime = Math.Max(KEY_DOWN_TIME, downTime);

            Timer timer = TryGetTimerForKey(key);

            if (timer != null)
            {
                timer.Stop();
                timer.Interval     = downTime * 1000;
                keydownTimers[key] = new Tuple <Timer, Action>(timer, callback);
                VirtualKeyShort vk = GetVK(key);
                SendInput(vk, key, KEYEVENTF.SCANCODE);
                timer.Start();
            }
        }
Ejemplo n.º 3
0
        public static void GenerateKeySendInput(ScanCodeShort vk, bool bExtended)
        {
            INPUT[] inputs = new INPUT[1];
            inputs[0].type = 1;

            KEYBDINPUT kb = new KEYBDINPUT(); //{0};

            // generate down
            if (bExtended)
            {
                kb.dwFlags = KEYEVENTF.EXTENDEDKEY;
            }

            //kb.wVk = vk;
            kb.wScan       = vk;
            inputs[0].U.ki = kb;
            SendInput(1, inputs, System.Runtime.InteropServices.Marshal.SizeOf(inputs[0]));

            // generate up
            kb.dwFlags = KEYEVENTF.KEYUP;
            if (bExtended)
            {
                kb.dwFlags |= KEYEVENTF.EXTENDEDKEY;
            }

            //kb.wVk = vk;
            kb.wScan       = vk;
            inputs[0].type = 1;
            inputs[0].U.ki = kb;
            SendInput(1, inputs, System.Runtime.InteropServices.Marshal.SizeOf(inputs[0]));
        }
Ejemplo n.º 4
0
        public void SendCombination(ScanCodeShort first, ScanCodeShort second)
        {
            INPUT[] inputs = new INPUT[2];


            inputs[0].type         = 1;
            inputs[0].U.ki.wScan   = first;
            inputs[0].U.ki.dwFlags = KEYEVENTF.EXTENDEDKEY | KEYEVENTF.SCANCODE;

            inputs[1].type         = 1;
            inputs[1].U.ki.wScan   = second;
            inputs[1].U.ki.dwFlags = KEYEVENTF.SCANCODE;


            KeyboardHook.allowNext += 1;
            SendInput((uint)1, new INPUT[] { inputs[0] }, INPUT.Size);
            Console.WriteLine("sdf");

            KeyboardHook.allowNext += 1;
            Thread.Sleep(rng.Next(50, 150));

            SendInput((uint)1, new INPUT[] { inputs[1] }, INPUT.Size);

            Thread.Sleep(rng.Next(50, 150));
            KeyboardHook.allowNext += 1;
            INPUT up = new INPUT();

            up.type         = 1;
            up.U.ki.wScan   = first;
            up.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE | KEYEVENTF.EXTENDEDKEY;

            SendInput((uint)1, new INPUT[] { up }, INPUT.Size);
        }
Ejemplo n.º 5
0
 private INPUT[] GetUpDown(ScanCodeShort scanCodeShort, VirtualKeyShort virtualKeyShort)
 {
     return(new[]
     {
         new INPUT
         {
             type = InputType.KEYBOARD,
             U = new InputUnion
             {
                 ki = new KEYBDINPUT
                 {
                     wScan = scanCodeShort,
                     wVk = virtualKeyShort
                 }
             }
         },
         new INPUT
         {
             type = InputType.KEYBOARD,
             U = new InputUnion
             {
                 ki = new KEYBDINPUT
                 {
                     wScan = scanCodeShort,
                     wVk = virtualKeyShort,
                     dwFlags = KEYEVENTF.KEYUP
                 }
             }
         }
     });
 }
Ejemplo n.º 6
0
        private static INPUT NewInputKey(ScanCodeShort sc)
        {
            INPUT ret = NewInputKey();

            ret.U.ki.wScan = sc;
            return(ret);
        }
        private ScanCodeShort SCSFromVKC(VirtualKeyCode vkc)
        {
            ScanCodeShort scs = ScanCodeShort.DEFAULTNONE;

            try { scs = (ScanCodeShort)Enum.Parse(typeof(ScanCodeShort), Enum.GetName(typeof(VirtualKeyCode), vkc), false); } catch { }
            return(scs);
        }
Ejemplo n.º 8
0
        public short KeyState(ScanCodeShort key)
        {
            int             keycode  = (int)key;
            VirtualKeyShort keyShort = GetVK(key);

            keycode = (int)(keyShort);
            return(GetKeyState(keycode));
        }
Ejemplo n.º 9
0
        public static void SendKeyPress(ScanCodeShort key)
        {
            SendKeyDown(key);

            Thread.Sleep(10);

            SendKeyUp(key);
        }
Ejemplo n.º 10
0
 public static void hold1(ScanCodeShort a, ScanCodeShort b, int delay)
 {
     keydown(a);
     Script.sleep(delay);
     send(b);
     Script.sleep(delay);
     keyup(a);
 }
Ejemplo n.º 11
0
        public static void SendKeyPress(ScanCodeShort key)
        {
            SendKeyDown(key);

            Thread.Sleep(10);

            SendKeyUp(key);
        }
Ejemplo n.º 12
0
            public KeyboardCommand createUnicodeKey(ScanCodeShort unicode)
            {
                var res = new KeyboardCommand();

                res.keyType = KeyType.UNICODE;
                res.scanKey = unicode;
                res.keyDown = false;
                return(res);
            }
Ejemplo n.º 13
0
 public INPUT(uint type, ScanCodeShort scan, KEYEVENTF flags)
 {
     this.type = type;
     this.U    = new InputUnion {
         ki = new KEYBDINPUT {
             wScan = scan, dwFlags = flags
         }
     };
 }
Ejemplo n.º 14
0
        public void SendVirtual(VirtualKeyShort v)
        {
            ScanCodeShort a = GetScanFromVirtual(v);

            if (a != ScanCodeShort.LBUTTON)
            {
                Send(a);
            }
        }
Ejemplo n.º 15
0
        public static short getScanCodeByName(string name)
        {
            //получаю значение enum по имени
            ScanCodeShort elem = (ScanCodeShort)Enum.Parse(typeof(ScanCodeShort), name);
            //return elem;
            object val = Convert.ChangeType(elem, elem.GetTypeCode());

            return((short)val);
        }
Ejemplo n.º 16
0
        private static void ReleaseKey(ScanCodeShort realKey)
        {
            INPUT[] inputs = new INPUT[1];

            inputs[0].type         = 1;
            inputs[0].U.ki.wScan   = realKey;
            inputs[0].U.ki.dwFlags = KEYEVENTF.SCANCODE | KEYEVENTF.KEYUP;

            SendInput(1, inputs, INPUT.Size);
        }
 /**
  * Send: Sends a keyboard input to computer
  */
 public void Send(ScanCodeShort a) //use the ScanShortCode from Keys.cs to pass keys to the input of the machine
 {
     INPUT[] Inputs = new INPUT[1];
     INPUT Input = new INPUT();
     Input.type = 1; // 1 = Keyboard Input
     Input.U.ki.wScan = a;
     Input.U.ki.dwFlags = KEYEVENTF.SCANCODE;
     Inputs[0] = Input;
     SendInput(1, Inputs, INPUT.Size);
 }
Ejemplo n.º 18
0
            public KeyboardCommand createScanKey(ScanCodeShort scanKey, bool extendedKey = false, bool keyDown = true)
            {
                var res = new KeyboardCommand();

                res.keyType         = KeyType.SCAN;
                res.scanKey         = scanKey;
                res.scanExtendedKey = extendedKey;
                res.keyDown         = keyDown;
                return(res);
            }
Ejemplo n.º 19
0
        public static void InputKeyboardKey(ScanCodeShort scs, KEYEVENTF flags = KEYEVENTF.SCANCODE)
        {
            INPUT[] Inputs = new INPUT[1];

            Inputs[0].type         = 1; // 1 = Keyboard Input
            Inputs[0].U.ki.wScan   = scs;
            Inputs[0].U.ki.dwFlags = flags;

            SendInput(1, Inputs, INPUT.Size);
        }
Ejemplo n.º 20
0
        public static void KeyUP(ScanCodeShort a, bool EXTENDEDKEY)
        {
            INPUT[] Inputs = new INPUT[1];
            INPUT   Input  = new INPUT();

            Input.type         = 1; // 1 = Keyboard Input
            Input.U.ki.wScan   = a;
            Input.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE | (EXTENDEDKEY ? KEYEVENTF.EXTENDEDKEY : 0);
            Inputs[0]          = Input;
            SendInput(1, Inputs, INPUT.Size);
        }
Ejemplo n.º 21
0
        public static void Send(ScanCodeShort a)
        {
            var input = new Input
            {
                type = 1 // 1 = Keyboard Input
            };

            input.U.ki.wScan   = a;
            input.U.ki.dwFlags = KEYEVENTF.SCANCODE;
            SendInput(1, new [] { input }, Input.Size);
        }
Ejemplo n.º 22
0
        private static INPUT[] GetKeyInput(KEYEVENTF keyEvent, ScanCodeShort scanCode = 0)
        {
            INPUT[] KeyInput = new INPUT[1];
            KeyInput[0].type = 1;

            KeyInput[0].U.ki.wVk     = 0;
            KeyInput[0].U.ki.dwFlags = keyEvent;
            KeyInput[0].U.ki.wScan   = scanCode;

            return(KeyInput);
        }
Ejemplo n.º 23
0
 public static void InputKeyboardClick(ScanCodeShort scs, int duration_ms = 2, int delay_ms = 1, bool reset = false)
 {
     if (reset)
     {
         KeyboardSend.InputKeyboardKey(scs, KEYEVENTF.SCANCODE | KEYEVENTF.KEYUP);
     }
     Thread.Sleep(delay_ms);
     KeyboardSend.InputKeyboardKey(scs, KEYEVENTF.SCANCODE);
     Thread.Sleep(duration_ms);
     KeyboardSend.InputKeyboardKey(scs, KEYEVENTF.SCANCODE | KEYEVENTF.KEYUP);
 }
Ejemplo n.º 24
0
        public void SendKey(ScanCodeShort shortCode)
        {
            INPUT[] Inputs = new INPUT[1];
            INPUT   Input  = new INPUT();

            Input.type         = 1; // 1 = Keyboard Input
            Input.U.ki.wScan   = shortCode;
            Input.U.ki.dwFlags = KEYEVENTF.SCANCODE;
            Inputs[0]          = Input;
            SendInput(1, Inputs, INPUT.Size);
        }
Ejemplo n.º 25
0
        public static void Send(ScanCodeShort a)
        {
            var inputs = new INPUT[1];
            var input  = new INPUT();

            input.type         = 1; // 1 = Keyboard Input
            input.U.ki.wScan   = a;
            input.U.ki.dwFlags = KEYEVENTF.SCANCODE;
            inputs[0]          = input;
            SendInput(1, inputs, INPUT.Size);
        }
Ejemplo n.º 26
0
 public void SendUp(ScanCodeShort a, KEYEVENTF keyType)
 {
     if (keyType == KEYEVENTF.SCANCODE)
     {
         _InputKeyLib.VSendUp(a);
     }
     else if (keyType == KEYEVENTF.EXTENDEDKEY)
     {
         _InputKeyLib.SendUp(a);
     }
 }
Ejemplo n.º 27
0
    public void VSendUp(ScanCodeShort a)
    {
        INPUT[] Inputs = new INPUT[1];
        INPUT   Input  = new INPUT();

        Input.type         = 1; // 1 = Keyboard Input
        Input.U.ki.wScan   = a;
        Input.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE;
        Inputs[0]          = Input;
        SendInput(1, Inputs, INPUT.Size);
    }
Ejemplo n.º 28
0
        public static void ReleaseKey(ScanCodeShort key)
        {
            var Inputs = new INPUT[1];
            var Input  = new INPUT();

            Input.type         = 1;
            Input.U.ki.wScan   = key;
            Input.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE;
            Inputs[0]          = Input;
            SendInput(1, Inputs, INPUT.Size);
        }
Ejemplo n.º 29
0
    public void SendDown(ScanCodeShort a)
    {
        INPUT[] Inputs = new INPUT[1];
        INPUT   Input  = new INPUT();

        Input.type         = 1; // 1 = Keyboard Input
        Input.U.ki.wScan   = a;
        Input.U.ki.dwFlags = KEYEVENTF.EXTENDEDKEY | 0;
        Inputs[0]          = Input;
        SendInput(1, Inputs, INPUT.Size);
    }
Ejemplo n.º 30
0
        public static void Release(ScanCodeShort a)
        {
            INPUT[] Inputs = new INPUT[1];
            INPUT   Input  = new INPUT();

            Input.type         = 1; // 1 = Keyboard Input
            Input.U.ki.wScan   = a;
            Input.U.ki.dwFlags = KEYEVENTF.KEYUP;
            Inputs[0]          = Input;
            SendInput(1, Inputs, INPUT.Size);
        }
Ejemplo n.º 31
0
        public void Send(ScanCodeShort a)
        {
            INPUT[] Inputs = new INPUT[1];
            INPUT   Input  = new INPUT();

            Input.type         = 1;
            Input.U.ki.wScan   = a;
            Input.U.ki.dwFlags = KEYEVENTF.SCANCODE;
            Inputs[0]          = Input;
            SendInput(1, Inputs, INPUT.Size);
        }
Ejemplo n.º 32
0
    private void AddInput(VirtualKeyShort vk, ScanCodeShort sc)
    {
        INPUT tmp = new INPUT();
        tmp.type = EINPUT.KEYBOARD;
        tmp.U.ki.wVk = vk;
        tmp.U.ki.wScan = sc;
        tmp.U.ki.time = 0;
        tmp.U.ki.dwFlags = KEYEVENTF.UNICODE;
        tmp.U.ki.dwExtraInfo = UIntPtr.Zero;
        m_input.Add(tmp);

        tmp.U.ki.dwFlags |= KEYEVENTF.KEYUP;
        m_input.Add(tmp);
    }
Ejemplo n.º 33
0
        public static void SendKeyUp(ScanCodeShort key)
        {
            INPUT Input = new INPUT();
            Input.type = 1; // 1 = Keyboard Input
            Input.U.ki.wScan = key;
            if (IsExtendedKey(key))
            {
                Input.U.ki.dwFlags = (KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE | KEYEVENTF.EXTENDEDKEY);
            }
            else
            {
                Input.U.ki.dwFlags = (KEYEVENTF.KEYUP| KEYEVENTF.SCANCODE);
            }

            WindowsApi.SendInput(1, new[] { Input }, INPUT.Size);
        }
Ejemplo n.º 34
0
        public static bool IsExtendedKey(ScanCodeShort keyCode)
        {
            var extendedKeys = new[]
            {
                ScanCodeShort.END,
                ScanCodeShort.PRIOR,
                ScanCodeShort.NEXT,
                ScanCodeShort.INSERT,
                ScanCodeShort.DELETE,
                ScanCodeShort.UP,
                ScanCodeShort.DOWN,
                ScanCodeShort.LEFT,
                ScanCodeShort.RIGHT
            };

            return extendedKeys.Any(c => c == keyCode);
        }
Ejemplo n.º 35
0
        public static void SendForgroundKeyUp(ScanCodeShort wScan,VirtualKeyShort wVk)
        {
            INPUT[] pInputs = new INPUT[1];
            pInputs[0].type = 1;
            pInputs[0].U.ki.wScan = wScan;
            pInputs[0].U.ki.wVk = wVk;
            pInputs[0].U.ki.dwFlags = KEYEVENTF.KEYUP;

            User32.SendInput((uint)pInputs.Length,pInputs,INPUT.Size);
        }
Ejemplo n.º 36
0
 public SingleKeyCommandHandler(ScanCodeShort keyCode)
 {
     _keyCode = keyCode;
 }
Ejemplo n.º 37
0
 private static INPUT NewInputKey(ScanCodeShort sc)
 {
     INPUT ret = NewInputKey();
     ret.U.ki.wScan = sc;
     return ret;
 }
Ejemplo n.º 38
0
 public void AddInput(ScanCodeShort sc)
 {
     AddInput((VirtualKeyShort)0, sc);
 }
Ejemplo n.º 39
0
        public static void SendForgroundKey(ScanCodeShort wScan, VirtualKeyShort wVk, int holdTimeout)
        {
            INPUT[] pInputs = new INPUT[1];
            pInputs[0].type = 1;
            pInputs[0].U.ki.wScan = wScan;
            pInputs[0].U.ki.wVk = wVk;

            User32.SendInput((uint)pInputs.Length,pInputs,INPUT.Size);
            System.Threading.Thread.Sleep(holdTimeout);
            pInputs[0].U.ki.dwFlags = KEYEVENTF.KEYUP;
            User32.SendInput((uint)pInputs.Length,pInputs,INPUT.Size);
        }