void IGlobalKeyEventListener.OnEvent(GlobalKeyboardEventArgs e, ModifierKeys modifierKeys)
 {
     if (e.State == KeyStates.Down && modifierKeys == ModifierKeys && e.NotifyKey == Key)
     {
         Listener(this);
     }
 }
Exemple #2
0
        private void KeyboardHookHelper_NotifyKeyStateChanged(object?sender, GlobalKeyboardEventArgs e)
        {
            var modifierKeys = e.DownStateKeys.GetModifierKeys();

            foreach (var listener in globalKeyListeners)
            {
                listener.OnEvent(e, modifierKeys);
            }
        }
 void IGlobalKeyEventListener.OnEvent(GlobalKeyboardEventArgs e, ModifierKeys modifierKeys)
 {
     if (e.State == KeyStates.Down && modifierKeys == ModifierKeys && e.NotifyKey == Key && !lastDownTime.HasValue)
     {
         lastDownTime = e.MessageTime;
     }
     else if (e.State == KeyStates.Toggled && e.NotifyKey == Key && lastDownTime.HasValue)
     {
         Listener(this, e.MessageTime - lastDownTime.Value);
         lastDownTime = null;
     }
 }