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(); }; }