private ModifierPressed getModifiersPressed() { ModifierPressed previousModifierPressed = new ModifierPressed(); previousModifierPressed.Shift = modifierPressedStack.Any(p => p.Shift == true); previousModifierPressed.Ctrl = modifierPressedStack.Any(p => p.Ctrl == true); previousModifierPressed.Alt = modifierPressedStack.Any(p => p.Alt == true); return(previousModifierPressed); }
public void pop() { ModifierPressed modifierPressed = modifierPressedStack.Pop(); if (modifierPressed.Shift) { keyboard.LeaveKey(KeyboardInput.SpecialKeys.SHIFT); } if (modifierPressed.Ctrl) { keyboard.LeaveKey(KeyboardInput.SpecialKeys.CONTROL); } if (modifierPressed.Alt) { keyboard.LeaveKey(KeyboardInput.SpecialKeys.ALT); } }
public int push(string sequence) { int charsToRemove = 0; ModifierPressed modifierPressed = new ModifierPressed(); ModifierPressed previousModifierPressed = getModifiersPressed(); while (charsToRemove < sequence.Length) { if (sequence[charsToRemove] == '+' && previousModifierPressed.Shift) { modifierPressed.Shift = true; keyboard.HoldKey(KeyboardInput.SpecialKeys.SHIFT); charsToRemove++; } else if (sequence[charsToRemove] == '+' && previousModifierPressed.Ctrl) { modifierPressed.Ctrl = true; keyboard.HoldKey(KeyboardInput.SpecialKeys.CONTROL); charsToRemove++; } else if (sequence[charsToRemove] == '%' && previousModifierPressed.Alt) { modifierPressed.Alt = true; keyboard.HoldKey(KeyboardInput.SpecialKeys.ALT); charsToRemove++; } else { break; } } modifierPressedStack.Push(modifierPressed); return(charsToRemove); }
public void SendModifierPressed(Modifier mod) { ModifierPressed?.Invoke(this, new ModifierPressedEventArgs { Modifier = mod }); }
private void HandleModifierButtonPressed(object param) { var val = (Modifier)Enum.Parse(typeof(Modifier), param.ToString()); ModifierPressed?.Invoke(this, new ModifierPressedEventArgs(val)); }