/// <summary> /// Checks current key stat and returns if all registered keys are pressed at the moment /// </summary> private bool CheckPressedState(bool ShiftState, bool ControlState, bool AltState) { if (!OsLayer.IsKeyPressedAsync((int)key.KeyCode)) { return(false); } if (key.Shift && !ShiftState) { return(false); } if (key.Control && !ControlState) { return(false); } if (key.Alt && !AltState) { return(false); } return(true); }
/// <summary> /// Timer message handler to check for async hot keys /// </summary> private void timer_event(IntPtr hwnd, uint uMsg, IntPtr nIDEvent, uint dwTime) { bool k_shift; bool k_control; bool k_alt; k_shift = OsLayer.IsKeyPressedAsync(VK_SHIFT); k_control = OsLayer.IsKeyPressedAsync(VK_CONTROL); k_alt = OsLayer.IsKeyPressedAsync(VK_MENU); for (int i = 0; i < (int)SC_Type.SC_Type_MAX; i++) { if (sc_list[i].used) { if (sc_list[i].WasPressed(k_shift, k_control, k_alt)) { OsLayer.SendHotKeyMessage(hwnd, (IntPtr)i, (IntPtr)0); } } } }
/// <summary> /// Low Level Keyboard message handler to check for hot keys /// </summary> private void low_level_keyboard_event(object sender, EventArgs e) { bool k_shift; bool k_control; bool k_alt; k_shift = OsLayer.IsKeyPressedAsync(VK_SHIFT) || OsLayer.IsKeyPressedAsync(VK_LSHIFT) || OsLayer.IsKeyPressedAsync(VK_RSHIFT); k_control = OsLayer.IsKeyPressedAsync(VK_CONTROL) || OsLayer.IsKeyPressedAsync(VK_LCONTROL) || OsLayer.IsKeyPressedAsync(VK_RCONTROL); k_alt = OsLayer.IsKeyPressedAsync(VK_MENU) || OsLayer.IsKeyPressedAsync(VK_LMENU) || OsLayer.IsKeyPressedAsync(VK_RMENU); for (int i = 0; i < (int)SC_Type.SC_Type_MAX; i++) { if (sc_list[i].used) { if (sc_list[i].WasPressed(k_shift, k_control, k_alt)) { OsLayer.SendHotKeyMessage(hwnd, (IntPtr)i, (IntPtr)0); } } } }