From 7ea9f83b003c10bff9d9e5d45a2af8a4952fadeb Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Mon, 12 Oct 2026 05:16:37 +0000 Subject: [PATCH] fix(web): open the command palette with Ctrl/Cmd+Shift+K Firefox claims bare Ctrl+K ("Search the web") in its own shortcut layer and never delivers the keydown to the page, so preventDefault on the app listener cannot win it. Ctrl/Cmd+Shift+K is not reserved by Firefox or by Chrome's omnibox, and xterm only claims unmodified Ctrl+letter, so a focused terminal still lets the chord through. --- docs/USER_GUIDE.md | 2 +- web/src/App.tsx | 4 ++-- web/src/GoToButton.tsx | 2 +- web/src/__tests__/keyboardShortcuts.test.tsx | 5 ++++- web/src/keyboardShortcuts.ts | 9 +++++++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/docs/USER_GUIDE.md b/docs/USER_GUIDE.md index 012727d1f..0933a7aec 100644 --- a/docs/USER_GUIDE.md +++ b/docs/USER_GUIDE.md @@ -999,7 +999,7 @@ button to point the app at a different server. | Shortcut | Action | |---|---| -| `Ctrl/Cmd+K` | Command palette | +| `Ctrl/Cmd+Shift+K` | Command palette (bare Ctrl+K is the browser's own search shortcut and never reaches the page) | | `Ctrl/Cmd+B` | Show or hide the Places rail (desktop) | | `Ctrl/Cmd+Shift+T` | New terminal session | | `Ctrl/Cmd+Shift+W` | Close active tab | diff --git a/web/src/App.tsx b/web/src/App.tsx index 0ecbe86f3..f38bf93df 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -1632,7 +1632,7 @@ const App: Component = () => { « - + {/* B1: a pointer, not a second WaitingSession. Outage wins ties over a waiting session; "running" never earns a card. Click routes to the one waiting session's own terminal, or to Sessions when @@ -2071,7 +2071,7 @@ const App: Component = () => { with no header of its own: a route outcome (loading, not found, unavailable). */} - diff --git a/web/src/GoToButton.tsx b/web/src/GoToButton.tsx index 02327eace..66def4c2a 100644 --- a/web/src/GoToButton.tsx +++ b/web/src/GoToButton.tsx @@ -21,7 +21,7 @@ export const GoToButton: Component<{ class?: string }> = (props) => { type="button" class={`go-to-inline${props.class ? ` ${props.class}` : ""}`} aria-label="Go to… (command palette)" - title="Go to… (Ctrl/Cmd+K)" + title="Go to… (Ctrl/Cmd+Shift+K)" onClick={() => actions().openCommandPalette()} >