Example #1
0
        public bool HandleKeyUp(KeyEventArgs e)
        {
            if (!INTERACTION_KEYS.Contains(e.Key) || Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
            {
                return(true);
            }

            _pressedKeys.Remove(e.Key);
            var key = e.Key;

            if (Keyboard.Modifiers.HasFlag(ModifierKeys.Alt))
            {
                key = e.SystemKey;
            }

            _pressedKeys.Remove(key);
            return(false);
        }
Example #2
0
        public void HandleKeyDown(KeyEventArgs e)
        {
            var key = e.Key;

            // Ignore non-interaction keys and anything if control is pressed
            if (!INTERACTION_KEYS.Contains(key) || Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
            {
                return;
            }

            if (Keyboard.Modifiers.HasFlag(ModifierKeys.Alt))
            {
                key = e.SystemKey; // If Alt ist pressed, key must be stored as systemkey
            }
            if (key != Key.LeftAlt)
            {
                _pressedKeys.Add(key);
            }
        }