private void OnKeyPressed(object sender, IKeyTrackerEventArgs e) { if (_combosEnumerator.Current.IsPressed(_keyTracker.Modifiers, e.Key)) { if (_combosEnumerator.MoveNext()) { return; } ResetEnumerator(); var args = new HotkeyEventArgs { Handled = Handled }; _pressedKeys = _keyTracker.GetPressedKeysSet(); IsPressed = true; HotkeyPressed?.Invoke(this, args); e.Handled = args.Handled; } else if (!e.IsModifier) { IsPressed = false; ResetEnumerator(); } }
private void OnKeyUnpressed(object sender, IKeyTrackerEventArgs e) { if (!IsPressed) { return; } if (!_pressedKeys.Contains(e.Key)) { return; } IsPressed = false; ResetEnumerator(); }