Ejemplo n.º 1
0
 /// <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);
 }
Ejemplo n.º 2
0
        /// <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);
                    }
                }
            }
        }
Ejemplo n.º 3
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);
                    }
                }
            }
        }