From d1605640ca6382dd1e05fca6df20e6ca5935f0b7 Mon Sep 17 00:00:00 2001 From: Jaylyn Barbee <51131738+Jaylyn-Barbee@users.noreply.github.com> Date: Mon, 9 Mar 2026 14:06:56 -0400 Subject: [PATCH] [Keyboard Manager] Adding KBM to shortcut list on Dashboard page (#45938) Found during manual testing Open (new) Keyboard Manager shortcut is now shown in the "Shortcuts" menu when the module is enabled and the new editor is being used. image --- .../KeyboardManagerEditorUI.csproj | 3 ++- .../Settings.UI/Strings/en-us/Resources.resw | 4 ++++ .../Settings.UI/ViewModels/DashboardViewModel.cs | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorUI/KeyboardManagerEditorUI.csproj b/src/modules/keyboardmanager/KeyboardManagerEditorUI/KeyboardManagerEditorUI.csproj index 5a09a82766..9eefa8fb57 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorUI/KeyboardManagerEditorUI.csproj +++ b/src/modules/keyboardmanager/KeyboardManagerEditorUI/KeyboardManagerEditorUI.csproj @@ -12,6 +12,7 @@ enable None True + Assets\KeyboardManagerEditor\Keyboard.ico false false PowerToys.KeyboardManagerEditorUI @@ -68,7 +69,7 @@ - + Always diff --git a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw index 4b885e4e0f..380dbbe6c6 100644 --- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw +++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw @@ -594,6 +594,10 @@ opera.exe Set and manage your remappings Description for the new editor button + + Open Keyboard Manager + Label for the Keyboard Manager editor shortcut on the dashboard page + Switch back to the classic editor Keyboard Manager link to switch back to the classic editor UI diff --git a/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs index 9ec11eeb5b..3d68dd9e25 100644 --- a/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/DashboardViewModel.cs @@ -498,6 +498,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels ModuleType.FancyZones => GetModuleItemsFancyZones(), ModuleType.FindMyMouse => GetModuleItemsFindMyMouse(), ModuleType.Hosts => GetModuleItemsHosts(), + ModuleType.KeyboardManager => GetModuleItemsKeyboardManager(), ModuleType.LightSwitch => GetModuleItemsLightSwitch(), ModuleType.MouseHighlighter => GetModuleItemsMouseHighlighter(), ModuleType.MouseJump => GetModuleItemsMouseJump(), @@ -634,6 +635,20 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels return new ObservableCollection(list); } + private ObservableCollection GetModuleItemsKeyboardManager() + { + ISettingsRepository moduleSettingsRepository = SettingsRepository.GetInstance(SettingsUtils.Default); + var settings = moduleSettingsRepository.SettingsConfig; + var list = new List(); + + if (settings.Properties.UseNewEditor) + { + list.Add(new DashboardModuleShortcutItem() { Label = resourceLoader.GetString("Dashboard_KeyboardManager_OpenEditor"), Shortcut = settings.Properties.EditorShortcut.GetKeysList() }); + } + + return new ObservableCollection(list); + } + private ObservableCollection GetModuleItemsMouseHighlighter() { ISettingsRepository moduleSettingsRepository = SettingsRepository.GetInstance(SettingsUtils.Default);