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); }
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); } }