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()}
>