Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="KeyHook"/> class and installs the keyboard hook.
        /// </summary>
        public KeyHook(KeyEventCallback KeyDown, KeyEventCallback KeyUp = null)
        {
            this.KeyDown = KeyDown;
            this.KeyUp   = KeyUp;

            // makes sure reference to HookProc method does not
            // get collected by the garbage collector
            HookProcDel = HookProc;
            Hook();
        }
Example #2
0
 private static void UnregisterKey(Dictionary <KeyCode, KeyEventCallback> registry, KeyCode keyCode, KeyEventCallback callback)
 {
     if (registry.ContainsKey(keyCode))
     {
         registry[keyCode] -= callback;
         if (registry[keyCode] == null)
         {
             registry.Remove(keyCode);
         }
     }
 }
Example #3
0
 private static void RegisterKey(Dictionary <KeyCode, KeyEventCallback> registry, KeyCode keyCode, KeyEventCallback callback)
 {
     if (registry.ContainsKey(keyCode))
     {
         registry[keyCode] += callback;
     }
     else
     {
         registry.Add(keyCode, callback);
     }
 }
Example #4
0
 /// <summary>
 /// Creates a hotkey
 /// </summary>
 /// <param name="key">Key to create a hotkey for</param>
 /// <param name="keydown_callback">Delegate to handle when key is pressed.
 /// If this delegate returns true, then the key press will be blocked from registering for other applications.</param>
 /// <param name="keyup_callback">Delegate to handle when key is released.
 /// If this delegate returns true, then the key press will be blocked from registering for other applications.</param>
 public void CreateHotKey(Keys key, KeyEventCallback keydown_callback, KeyEventCallback keyup_callback = null)
 {
     HotKeys.Add(new HotKey(key, keydown_callback, keyup_callback));
 }
Example #5
0
 public HotKey(Keys Key, KeyEventCallback keydown_callback, KeyEventCallback keyup_callback = null)
 {
     this.Key     = Key;
     this.KeyDown = keydown_callback;
     this.KeyUp   = keyup_callback;
 }
Example #6
0
 public static void RegisterKeyDeactivated(KeyCode keyCode, KeyEventCallback callback)
 {
     ReferenceLiaison();
     RegisterKey(_liaison._keyDeactivatedEventRegistry, keyCode, callback);
 }
Example #7
0
 public static void UnregisterKeyActive(KeyCode keyCode, KeyEventCallback callback)
 {
     UnregisterKey(_liaison._keyActiveEventRegistry, keyCode, callback);
     DereferenceLiaison();
 }