Exemplo n.º 1
0
            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);
            }
Exemplo n.º 2
0
            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);
                }
            }
Exemplo n.º 3
0
            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);
            }
Exemplo n.º 4
0
 public void SendModifierPressed(Modifier mod)
 {
     ModifierPressed?.Invoke(this, new ModifierPressedEventArgs {
         Modifier = mod
     });
 }
Exemplo n.º 5
0
        private void HandleModifierButtonPressed(object param)
        {
            var val = (Modifier)Enum.Parse(typeof(Modifier), param.ToString());

            ModifierPressed?.Invoke(this, new ModifierPressedEventArgs(val));
        }