/// <summary> /// This is the callback method that is called whenever a low level keyboard event is triggered. /// We use it to call our individual custom events. /// </summary> private IntPtr KeyboardHookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0) { var lParamStruct = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(KBDLLHOOKSTRUCT)); var e = new KeyboardHookEventArgs(lParamStruct); switch ((KeyboardMessages)wParam) { case KeyboardMessages.WmKeydown: e.KeyboardEventName = KeyboardEventNames.KeyDown; OnKeyDown(e); break; case KeyboardMessages.WmKeyup: e.KeyboardEventName = KeyboardEventNames.KeyUp; OnKeyUp(e); break; case KeyboardMessages.WmSyskeydown: e.KeyboardEventName = KeyboardEventNames.SystemKeyDown; OnKeyDown(e); break; case KeyboardMessages.WmSyskeyup: e.KeyboardEventName = KeyboardEventNames.SystemKeyUp; OnKeyUp(e); break; } } return(NativeMethods.CallNextHookEx(hookId, nCode, wParam, lParam)); }
/// <summary> /// This is the callback method that is called whenever a low level keyboard event is triggered. /// We use it to call our individual custom events. /// </summary> private IntPtr KeyboardHookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0) { var lParamStruct = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(KBDLLHOOKSTRUCT)); var e = new KeyboardHookEventArgs(lParamStruct); switch ((KeyboardMessages)wParam) { case KeyboardMessages.WmKeydown: e.KeyboardEventName = KeyboardEventNames.KeyDown; OnKeyDown(e); break; case KeyboardMessages.WmKeyup: e.KeyboardEventName = KeyboardEventNames.KeyUp; OnKeyUp(e); break; case KeyboardMessages.WmSyskeydown: e.KeyboardEventName = KeyboardEventNames.SystemKeyDown; OnKeyDown(e); break; case KeyboardMessages.WmSyskeyup: e.KeyboardEventName = KeyboardEventNames.SystemKeyUp; OnKeyUp(e); break; } } return NativeMethods.CallNextHookEx(hookId, nCode, wParam, lParam); }
private void OnKeyEvent(KeyboardHookEventArgs e) { if (KeyEvent != null) { KeyEvent(this, e); } }
private void OnKeyUp(KeyboardHookEventArgs e) { if (KeyUp != null) { KeyUp(this, e); } OnKeyEvent(e); }
private void OnKeyDown(KeyboardHookEventArgs e) { if (KeyDown != null) { KeyDown(this, e); } OnKeyEvent(e); }
private void HandleKey(KeyboardHookEventArgs e) { if (e.KeyboardEventName == KeyboardEventNames.KeyUp || e.KeyboardEventName == KeyboardEventNames.KeyDown) { // check if the key is mapped ( LEDBlinkyInputMap.xml is parsed into KeyCodes[] already ) int index = Array.IndexOf(KeyCodes, ((WindowsVirtualKey)e.VirtualKeyCode).ToString()); if ( index >= 0) { using (var client = new MailslotClient("LagomLitenLedMailSlot")) { // change so it tries to send, if server is down it will fail as it is now client.SendMessage(index + "," + e.KeyboardEventName.ToString() ); } } } }
void KHookKeyEvent(object sender, KeyboardHookEventArgs e) { HandleKey(e); }
private void OnKeyUp(KeyboardHookEventArgs e) { if (KeyUp != null) KeyUp(this, e); OnKeyEvent(e); }
private void OnKeyEvent(KeyboardHookEventArgs e) { if (KeyEvent != null) KeyEvent(this, e); }
private void OnKeyDown(KeyboardHookEventArgs e) { if (KeyDown != null) KeyDown(this, e); OnKeyEvent(e); }
private void WriteKey(KeyboardHookEventArgs e) { if (e.Char == '\0') { KeyboardWriter.Write(e.KeyString); } else { if (e.KeyboardEventName == KeyboardEventNames.KeyUp) KeyboardWriter.Write(e.KeyString); } }