/// <summary> /// send an input to simulate a key being pressed down /// </summary> /// <param name="key">the key to be pressed</param> /// <returns>the input</returns> internal static Input AddKeyDown(WordsVirtualKey key) { Input i = new Input(); i.Type = (UInt32)InputType.InputKeyBoard; i.Union.keyboardInput.wVk = (UInt16) key; return i; }
/// <summary> /// send an input to simulate a being pressed up /// </summary> /// <param name="key">the key to be pressed up</param> /// <returns>the input</returns> internal static Input AddKeyUp(WordsVirtualKey key) { Input i = new Input(); i.Type = (UInt32)InputType.InputKeyBoard; i.Union.keyboardInput.wVk = (UInt16)key; i.Union.keyboardInput.Flags = (UInt16)KeyboardFlags.KEYEVENTF_KEYUP; return i; }
/// <summary> /// send an input to simulate a key being pressed down /// </summary> /// <param name="key">the key to be pressed</param> /// <returns>the input</returns> internal static Input AddKeyDown(WordsVirtualKey key) { Input i = new Input(); i.Type = (UInt32)InputType.InputKeyBoard; i.Union.keyboardInput.wVk = (UInt16)key; return(i); }
/// <summary> /// send an input to simulate a being pressed up /// </summary> /// <param name="key">the key to be pressed up</param> /// <returns>the input</returns> internal static Input AddKeyUp(WordsVirtualKey key) { Input i = new Input(); i.Type = (UInt32)InputType.InputKeyBoard; i.Union.keyboardInput.wVk = (UInt16)key; i.Union.keyboardInput.Flags = (UInt16)KeyboardFlags.KEYEVENTF_KEYUP; return(i); }
/// <summary> /// Simulate a key being unpressed /// </summary> /// <param name="key">the key being unpressed</param> public static void KeyUp(WordsVirtualKey key) { if (keyDownList.Count != 0 && keyDownList.Contains(key)) { keyDownList.Remove(key); Input input = InputSender.AddKeyUp(key); Input[] inputList = new Input[] { input }; InputSender.SendSimulatedInput(inputList); } }
/// <summary> /// Simulate a key being pressed /// </summary> /// <param name="key">the key being pressed</param> public static void KeyDown(WordsVirtualKey key) { if (keyDownList == null) keyDownList = new List<WordsVirtualKey>(); //if the key is not already pressed if (!keyDownList.Contains(key)) { keyDownList.Add(key); Input input = InputSender.AddKeyDown(key); Input[] inputList = new Input[] { input }; InputSender.SendSimulatedInput(inputList); } }
/// <summary> /// unpressed all the pressed keys /// </summary> public static void NokeyDown() { if (keyDownList != null) { WordsVirtualKey[] keyDownArray = new WordsVirtualKey[keyDownList.Count]; keyDownList.CopyTo(keyDownArray); foreach (WordsVirtualKey wvk in keyDownArray) { KeyUp(wvk); } keyDownList.Clear(); } }
/// <summary> /// Simulate a key being pressed /// </summary> /// <param name="key">the key being pressed</param> public static void KeyDown(WordsVirtualKey key) { if (keyDownList == null) { keyDownList = new List <WordsVirtualKey>(); } //if the key is not already pressed if (!keyDownList.Contains(key)) { keyDownList.Add(key); Input input = InputSender.AddKeyDown(key); Input[] inputList = new Input[] { input }; InputSender.SendSimulatedInput(inputList); } }
/// <summary> /// Simulate a key being hited /// </summary> /// <param name="key">the key being hited</param> public static void KeyHit(WordsVirtualKey key) { Input[] inputList = InputSender.AddKeyPressed(key); InputSender.SendSimulatedInput(inputList); }
/// <summary> /// Simulate a key being pressed, a wheel movement, an then the key being unpressed /// </summary> /// <param name="key">the key being pressed</param> /// <param name="scrollAmountInClicks">the amount of scrolling in clicks</param> public static void KeyPlusWheel(WordsVirtualKey key, int scrollAmountInClicks) { Input[] inputList = InputSender.AddKeyPlusWheel(key ,scrollAmountInClicks * DELTA_WHEEL); InputSender.SendSimulatedInput(inputList); }
/// <summary> /// send input to simulate a key being hit (down+up) /// </summary> /// <param name="key">the key to be hit</param> /// <returns>an input array</returns> internal static Input[] AddKeyPressed(WordsVirtualKey key) { return new Input[] { AddKeyDown(key), AddKeyUp(key)}; }
/// <summary> /// send input to simulate a key being hit (down+up) /// </summary> /// <param name="key">the key to be hit</param> /// <returns>an input array</returns> internal static Input[] AddKeyPressed(WordsVirtualKey key) { return(new Input[] { AddKeyDown(key), AddKeyUp(key) }); }
/// <summary> /// sned inputs to simulate a key down plus a vertical wheel movement /// </summary> /// <param name="key">the key to hit</param> /// <param name="p">the number of clicks to simulate</param> /// <returns>an input array</returns> internal static Input[] AddKeyPlusWheel(WordsVirtualKey key, int p) { return(new Input[] { AddKeyDown(key), AddMouseVerticalWheel(p), AddKeyUp(key) }); }
/// <summary> /// Simulate a key being pressed, a wheel movement, an then the key being unpressed /// </summary> /// <param name="key">the key being pressed</param> /// <param name="scrollAmountInClicks">the amount of scrolling in clicks</param> public static void KeyPlusWheel(WordsVirtualKey key, int scrollAmountInClicks) { Input[] inputList = InputSender.AddKeyPlusWheel(key, scrollAmountInClicks * DELTA_WHEEL); InputSender.SendSimulatedInput(inputList); }
/// <summary> /// sned inputs to simulate a key down plus a vertical wheel movement /// </summary> /// <param name="key">the key to hit</param> /// <param name="p">the number of clicks to simulate</param> /// <returns>an input array</returns> internal static Input[] AddKeyPlusWheel(WordsVirtualKey key, int p) { return new Input[] { AddKeyDown(key), AddMouseVerticalWheel(p), AddKeyUp(key) }; }