From fbe472d0c8704cf4c83325addad68fedcff24d86 Mon Sep 17 00:00:00 2001 From: Mike Griese Date: Sun, 8 Jun 2025 12:06:33 -0500 Subject: [PATCH] CmdPal: Apply the LLKH to all command hotkeys (#39524) We should apply the LLKH setting to all command hotkeys, not just the global one. --- .../Microsoft.CmdPal.UI/MainWindow.xaml.cs | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml.cs index f66ddf5445..13aae5a81b 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/MainWindow.xaml.cs @@ -496,18 +496,27 @@ public sealed partial class MainWindow : WindowEx, if (key != null) { - var vk = key.Code; - var modifiers = - (key.Alt ? HOT_KEY_MODIFIERS.MOD_ALT : 0) | - (key.Ctrl ? HOT_KEY_MODIFIERS.MOD_CONTROL : 0) | - (key.Shift ? HOT_KEY_MODIFIERS.MOD_SHIFT : 0) | - (key.Win ? HOT_KEY_MODIFIERS.MOD_WIN : 0) - ; - - var success = PInvoke.RegisterHotKey(_hwnd, _hotkeys.Count, modifiers, (uint)vk); - if (success) + if (settings.UseLowLevelGlobalHotkey) { - _hotkeys.Add(commandHotkey); + _keyboardListener.SetHotkeyAction(key.Win, key.Ctrl, key.Shift, key.Alt, (byte)key.Code, commandHotkey.CommandId); + + _hotkeys.Add(new(globalHotkey, string.Empty)); + } + else + { + var vk = key.Code; + var modifiers = + (key.Alt ? HOT_KEY_MODIFIERS.MOD_ALT : 0) | + (key.Ctrl ? HOT_KEY_MODIFIERS.MOD_CONTROL : 0) | + (key.Shift ? HOT_KEY_MODIFIERS.MOD_SHIFT : 0) | + (key.Win ? HOT_KEY_MODIFIERS.MOD_WIN : 0) + ; + + var success = PInvoke.RegisterHotKey(_hwnd, _hotkeys.Count, modifiers, (uint)vk); + if (success) + { + _hotkeys.Add(commandHotkey); + } } } }