void OnKeyPressed(object sender, GlobalKeyboardHookEventArgs e) { Keys key = (Keys)e.KeyboardData.VirtualCode; if (key == movementHotKey || key == clickHotKey || key == pauseHotKey) { log.Debug($"Key {key} is {e.KeyboardState}"); if (key == movementHotKey) { if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyDown) { if (ClickOnKeyInput.Focused) { ClickOnKeyInput.Text = key.ToString(); clickHotKey = key; } controller.MovementHotKeyDown(); } else if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyUp) { controller.MovementHotKeyUp(); } // don't type the hot key e.Handled = true; } // Can use the same hotkey for movement and clicking if (key == clickHotKey) { if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyDown) { if (MovementOnKeyPressInput.Focused) { MovementOnKeyPressInput.Text = key.ToString(); movementHotKey = key; } controller.ClickHotKeyDown(); } else if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyUp) { controller.ClickHotKeyUp(); } // don't type the hot key e.Handled = true; } if (key == pauseHotKey) { if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyDown) { if (MovementOnKeyPressInput.Focused) { PauseOnKeyInput.Text = key.ToString(); pauseHotKey = key; } controller.PauseHotKeyDown(); } // don't type the hot key e.Handled = true; } } }
void OnKeyPressed(object sender, GlobalKeyboardHookEventArgs e) { if (e.KeyboardData.VirtualCode == (int)movementHotKey || e.KeyboardData.VirtualCode == (int)clickHotKey || e.KeyboardData.VirtualCode == (int)pauseHotKey) { if (e.KeyboardData.VirtualCode == (int)movementHotKey) { if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyDown) { if (ClickOnKeyInput.Focused) { Keys k = (Keys)e.KeyboardData.VirtualCode; ClickOnKeyInput.Text = k.ToString(); clickHotKey = k; } controller.MovementHotKeyDown(); } else if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyUp) { controller.MovementHotKeyUp(); } // don't type the hot key e.Handled = true; } // Can use the same hotkey for movement and clicking if (e.KeyboardData.VirtualCode == (int)clickHotKey) { if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyDown) { if (MovementOnKeyPressInput.Focused) { Keys k = (Keys)e.KeyboardData.VirtualCode; MovementOnKeyPressInput.Text = k.ToString(); movementHotKey = k; } controller.ClickHotKeyDown(); } else if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyUp) { controller.ClickHotKeyUp(); } // don't type the hot key e.Handled = true; } if (e.KeyboardData.VirtualCode == (int)pauseHotKey) { if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyDown) { if (MovementOnKeyPressInput.Focused) { Keys k = (Keys)e.KeyboardData.VirtualCode; PauseOnKeyInput.Text = k.ToString(); pauseHotKey = k; } controller.PauseHotKeyDown(); } // don't type the hot key e.Handled = true; } } }