From 81d30b906accedb073758c2c56c1b61667a65ca6 Mon Sep 17 00:00:00 2001 From: Ashvin Jangid <142579833+ashvwinn@users.noreply.github.com> Date: Thu, 21 May 2026 12:44:18 +0530 Subject: [PATCH] gh-13776: fix shortcut conflict detection failing with special keys (gh-13777) --- src/zen/kbs/ZenKeyboardShortcuts.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/zen/kbs/ZenKeyboardShortcuts.mjs b/src/zen/kbs/ZenKeyboardShortcuts.mjs index 98dd08da3..82653c77a 100644 --- a/src/zen/kbs/ZenKeyboardShortcuts.mjs +++ b/src/zen/kbs/ZenKeyboardShortcuts.mjs @@ -44,6 +44,10 @@ const KEYCODE_MAP = { SCROLL_LOCK: "VK_SCROLL", }; +const REVERSE_KEYCODE_MAP = Object.fromEntries( + Object.entries(KEYCODE_MAP).map(([k, v]) => [v, k]) +); + const defaultKeyboardGroups = { windowAndTabManagement: [ "zen-window-new-shortcut", @@ -1507,9 +1511,11 @@ window.gZenKeyboardShortcutsManager = { continue; } + const keyNameOrCode = targetShortcut.getKeyNameOrCode(); + const key = REVERSE_KEYCODE_MAP[keyNameOrCode] ?? keyNameOrCode; if ( targetShortcut.getModifiers().equals(modifiers) && - targetShortcut.getKeyNameOrCode()?.toLowerCase() == realShortcut + key?.toLowerCase() == realShortcut ) { return { hasConflicts: true,