예제 #1
0
        private bool ProcessKeyboardEvent(BaseHook.KeyState keyState, uint key)
        {
            var windowtitle = Win32Utils.GetActiveWindowTitle();

            if (windowtitle != this.Title)
            {
                return(false);
            }
            CursorPoint mPoint = GetCurrentMousePosition();

            if (mPoint == null)
            {
                return(false);
            }

            if (this.isInterceptKey((Keys)key))
            {
                return(false);
            }

            KeyboardEvent kEvent = new KeyboardEvent
            {
                Key    = (Keys)key,
                Action = (keyState == BaseHook.KeyState.Keydown) ? Constants.KEY_DOWN : Constants.KEY_UP
            };

            //Console.WriteLine("添加键盘事件:" + JsonConvert.SerializeObject(kEvent));
            LogKeyboardEvents(kEvent);
            return(false);
        }
예제 #2
0
        private bool KeyboardHook_OnKeyboardEvent(uint key, BaseHook.KeyState keyState)
        {
            LogToCapturedEvents(String.Format("{0} key was {1}",
                                              ((Keys)key).ToString(),
                                              keyState == BaseHook.KeyState.Keydown ? "pressed" : "released"));

            return(consumeKeyboardEventsCheckBox.Checked);
        }
예제 #3
0
        private bool KeyboardHook_OnKeyboardEvent(uint key, BaseHook.KeyState keyState)
        {
            KeyboardEvent kEvent = new KeyboardEvent {
                Key    = (Keys)key,
                Action = (keyState == BaseHook.KeyState.Keydown) ? Constants.KEY_DOWN : Constants.KEY_UP
            };

            LogKeyboardEvents(kEvent);
            return(false);
        }
예제 #4
0
        private bool KeyboardHook_OnKeyboardEvent(uint key, BaseHook.KeyState keyState)
        {
            if (keyState == BaseHook.KeyState.Keydown)
            {
                // If this key does not exist, add it to the array of held keys
                if (!keysHeld.Contains((int)key))
                {
                    keysHeld.Add((int)key);
                }

                return(CheckForTriggers());
            } // If this key was released
            else if (keysHeld.Contains((int)key))
            {
                keysHeld.Remove((int)key);
            }

            return(false);
        }
예제 #5
0
        private bool KeyboardHook_OnKeyboardEvent(uint key, BaseHook.KeyState keyState)
        {
            switch (key)
            {
            case 16:
            case 160:
            case 161:
                ShiftIsDown = (keyState == BaseHook.KeyState.Keydown);
                break;
            }

            // pass the original keypresses on to Windows, if...
            if (key != 20)
            {
                return(false);
            }
            if (SettingsDisabled == true)
            {
                return(false);
            }
            if (CheckFullscreen.IsForegroundFullScreen() && SettingsDisableInFullscreen)
            {
                return(false);
            }
            if (SettingsShiftCapsLock && ShiftIsDown)
            {
                return(false);
            }

            if (keyState == BaseHook.KeyState.Keydown)
            {
                CapsLockPressed();
            }
            else if (keyState == BaseHook.KeyState.Keyup)
            {
                CapsLockReleased();
            }

            // if it was CapsLock, tell the hooker to consume the keypress
            return(true);
        }
예제 #6
0
 private bool KeyboardHook_OnKeyboardEvent(uint key, BaseHook.KeyState keyState)
 {
     return(ProcessKeyboardEvent(keyState, key));
 }