Example #1
0
        private static void SetMKEvents()
        {
            mhook.ResetEvents();
            khook.ResetEvents();

            switch (DropZone.Settings.TriggerButton)
            {
            case MouseButtonTriggers.Left:
                mhook.LeftButtonDown += MouseButtonDown;
                mhook.LeftButtonUp   += MouseButtonUp;
                break;

            case MouseButtonTriggers.Middle:
                mhook.MiddleButtonDown += MouseButtonDown;
                mhook.MiddleButtonUp   += MouseButtonUp;
                break;

            case MouseButtonTriggers.Right:
                mhook.RightButtonDown += MouseButtonDown;
                mhook.RightButtonUp   += MouseButtonUp;
                break;
            }

            switch (DropZone.Settings.SwapButton)
            {
            case MouseButtonTriggers.Left:
                mhook.LeftButtonDown += SwapButtonDown;
                break;

            case MouseButtonTriggers.Middle:
                mhook.MiddleButtonDown += SwapButtonDown;
                break;

            case MouseButtonTriggers.Right:
                mhook.RightButtonDown += SwapButtonDown;
                break;
            }

            khook.KeyDown += (KeyboardHook.VKeys key) =>
            {
                new System.Threading.Tasks.Task(() =>
                {
                    switch (key)
                    {
                    case KeyboardHook.VKeys.CONTROL:
                    case KeyboardHook.VKeys.LCONTROL:
                    case KeyboardHook.VKeys.RCONTROL:
                        HotkeyState.Add(state.ctrl);
                        break;

                    case KeyboardHook.VKeys.MENU:
                    case KeyboardHook.VKeys.LMENU:
                    case KeyboardHook.VKeys.RMENU:
                        HotkeyState.Add(state.alt);
                        break;

                    case KeyboardHook.VKeys.LWIN:
                    case KeyboardHook.VKeys.RWIN:
                        HotkeyState.Add(state.win);
                        break;

                    case KeyboardHook.VKeys.SHIFT:
                    case KeyboardHook.VKeys.LSHIFT:
                    case KeyboardHook.VKeys.RSHIFT:
                        HotkeyState.Add(state.shift);
                        break;

                    default:
                        break;
                    }
                }).Start();
            };

            khook.KeyUp += (KeyboardHook.VKeys key) =>
            {
                new System.Threading.Tasks.Task(() =>
                {
                    switch (key)
                    {
                    case KeyboardHook.VKeys.CONTROL:
                    case KeyboardHook.VKeys.LCONTROL:
                    case KeyboardHook.VKeys.RCONTROL:
                        HotkeyState.Remove(state.ctrl);
                        break;

                    case KeyboardHook.VKeys.MENU:
                    case KeyboardHook.VKeys.LMENU:
                    case KeyboardHook.VKeys.RMENU:
                        HotkeyState.Remove(state.alt);
                        break;

                    case KeyboardHook.VKeys.LWIN:
                    case KeyboardHook.VKeys.RWIN:
                        HotkeyState.Remove(state.win);
                        break;

                    case KeyboardHook.VKeys.SHIFT:
                    case KeyboardHook.VKeys.LSHIFT:
                    case KeyboardHook.VKeys.RSHIFT:
                        HotkeyState.Remove(state.shift);
                        break;

                    default:
                        break;
                    }
                }).Start();
            };
        }