/// <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(); }
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); } } }
private static void RegisterKey(Dictionary <KeyCode, KeyEventCallback> registry, KeyCode keyCode, KeyEventCallback callback) { if (registry.ContainsKey(keyCode)) { registry[keyCode] += callback; } else { registry.Add(keyCode, callback); } }
/// <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)); }
public HotKey(Keys Key, KeyEventCallback keydown_callback, KeyEventCallback keyup_callback = null) { this.Key = Key; this.KeyDown = keydown_callback; this.KeyUp = keyup_callback; }
public static void RegisterKeyDeactivated(KeyCode keyCode, KeyEventCallback callback) { ReferenceLiaison(); RegisterKey(_liaison._keyDeactivatedEventRegistry, keyCode, callback); }
public static void UnregisterKeyActive(KeyCode keyCode, KeyEventCallback callback) { UnregisterKey(_liaison._keyActiveEventRegistry, keyCode, callback); DereferenceLiaison(); }