fix(keybindings): added Ctrl+Q as default follow-up shortcut

Windows Terminal does not deliver a distinct Ctrl+Enter event to console
apps, so the existing `app.message.followUp` default never fired there.
Ctrl+Q (the chord GitHub Copilot CLI uses for the same action) is added
as the primary default and works in every terminal we ship to; Ctrl+Enter
is kept as a secondary chord so users on Kitty/iTerm2/WezTerm/Ghostty
(where it does deliver) keep the existing muscle memory.

Fixes #1903
This commit is contained in:
roboomp
2026-06-05 05:29:12 +00:00
parent 9da448f01d
commit 8a2dae0c48
4 changed files with 25 additions and 3 deletions
+2 -2
View File
@@ -34,13 +34,13 @@ app.stt.toggle: []
| `app.thinking.toggle` | `Ctrl+T` | Toggle thinking-block visibility |
| `app.thinking.cycle` | `Shift+Tab` | Cycle thinking level |
| `app.editor.external` | `Ctrl+G` | Edit the draft in `$VISUAL` / `$EDITOR` |
| `app.message.followUp` | `Ctrl+Enter` | Queue a follow-up message |
| `app.message.followUp` | `Ctrl+Q`, `Ctrl+Enter` | Queue a follow-up message |
| `app.message.dequeue` | `Alt+Up` | Dequeue a queued message back into the editor |
| `app.clipboard.copyLine` | `Alt+Shift+L` | Copy the current line |
| `app.clipboard.copyPrompt` | `Alt+Shift+C` | Copy the whole prompt |
| `app.clipboard.pasteImage` | `Ctrl+V` (`Alt+V` fallback on Windows) | Paste an image from the clipboard |
| `app.stt.toggle` | `Alt+H` | Toggle speech-to-text recording |
On Windows Terminal, `Ctrl+V` may be handled by the terminal paste command before `omp` sees it; use the `Alt+V` fallback when clipboard image paste appears to do nothing.
On Windows Terminal, `Ctrl+V` may be handled by the terminal paste command before `omp` sees it; use the `Alt+V` fallback when clipboard image paste appears to do nothing. Windows Terminal also swallows `Ctrl+Enter`, so the follow-up shortcut also binds `Ctrl+Q` — the same chord GitHub Copilot CLI uses.
Older unqualified action names are migrated when `keybindings.yml` is loaded, but new docs and new configs should use the namespaced action IDs above. Existing `keybindings.json` files are still accepted and migrated to `keybindings.yml`; `keybindings.yaml` is also accepted.