private void KeysPress(InputBuilder builder, IEnumerable <VirtualKeyCode> keyCodes) { if (keyCodes == null) { return; } foreach (var key in keyCodes) { builder.AddKeyPress(key); } }
private static void ModifiersUp(InputBuilder builder, IEnumerable <VirtualKeyCode> modifierKeyCodes) { if (modifierKeyCodes == null) { return; } foreach (var key in modifierKeyCodes.Reverse()) { builder.AddKeyUp(key); } }
public ToggleKeyCarer(VirtualKeyCode key, InputBuilder inputBuilder) { _key = key; _inputBuilder = inputBuilder; if (_inputDeviceState.IsToggleKeyOn(key)) { _isCapsLockToggled = true; inputBuilder.AddKeyPress(key); } }
/// <summary> /// Simulates a modified keystroke where there are multiple modifiers and multiple keys like CTRL-ALT-K-C where CTRL and ALT are the modifierKeys and K and C are the keys. /// The flow is Modifiers KeyDown in order, Keys Press in order, Modifiers KeyUp in reverse order. /// </summary> /// <param name="modifierKeyCodes">The list of modifier keys</param> /// <param name="keyCodes">The list of keys to simulate</param> public IKeyboardSimulator ModifiedKeyStroke(IEnumerable <VirtualKeyCode> modifierKeyCodes, IEnumerable <VirtualKeyCode> keyCodes) { var builder = new InputBuilder(); ModifiersDown(builder, modifierKeyCodes); KeysPress(builder, keyCodes); ModifiersUp(builder, modifierKeyCodes); SendSimulatedInput(builder.ToArray()); return(this); }
public IKeyboardSimulator ModifiedKeyUp(IEnumerable <VirtualKeyCode> modifierKeyCodes, IEnumerable <VirtualKeyCode> keyCodes) { var builder = new InputBuilder(); foreach (var key in keyCodes) { builder.AddKeyUp(key); } ModifiersUp(builder, modifierKeyCodes); SendSimulatedInput(builder.ToArray()); return(this); }