fix(ux): forward Esc and Ctrl-X to the sandbox shell while driving
CI / rust client (hh) (macos-latest) (push) Waiting to run
CI / rust client (hh) (ubuntu-latest) (push) Waiting to run
CI / rust coverage (push) Waiting to run
CI / python server (3.10) (push) Waiting to run
CI / python server (3.11) (push) Waiting to run
CI / python server (3.12) (push) Waiting to run
CI / headless e2e smoke (push) Waiting to run
CI / dependency audit (push) Waiting to run
CI / secret scanning (push) Waiting to run
CI / rust client (hh) (macos-latest) (push) Waiting to run
CI / rust client (hh) (ubuntu-latest) (push) Waiting to run
CI / rust coverage (push) Waiting to run
CI / python server (3.10) (push) Waiting to run
CI / python server (3.11) (push) Waiting to run
CI / python server (3.12) (push) Waiting to run
CI / headless e2e smoke (push) Waiting to run
CI / dependency audit (push) Waiting to run
CI / secret scanning (push) Waiting to run
Two interactive shell apps were unusable in the shared sandbox because the TUI swallowed their core keys: - Esc released drive mode and was never mapped in key_to_pty, so vim could never leave insert mode. Esc now forwards 0x1b to the PTY; F2 (already a drive toggle) is the release key. - Ctrl-X (owner kill switch) was intercepted globally, so nano could never quit. It's now gated on !app.driving — while you hold the shell Ctrl-X reaches the PTY (0x18, nano's quit); release with F2 to arm the kill switch. Updated the on-screen hints and /help KEYS cluster to match. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -199,7 +199,7 @@ fn help_clusters(theme: &Theme) -> Vec<HelpCluster> {
|
||||
"list local VirtualBox VMs · a VM's snapshots",
|
||||
),
|
||||
kv("/sbx gui <vm> [yes]", "alias of /sbx launch vbox gui <vm> [yes]"),
|
||||
kv("/drive · F2", "type into the shared shell (Esc releases)"),
|
||||
kv("/drive · F2", "type into the shared shell (F2 releases; Esc reaches vim)"),
|
||||
],
|
||||
},
|
||||
HelpCluster {
|
||||
@@ -273,6 +273,10 @@ fn help_clusters(theme: &Theme) -> Vec<HelpCluster> {
|
||||
kv("Enter", "send chat message"),
|
||||
kv("F1 · /help", "toggle this help"),
|
||||
kv("Ctrl-C (while driving)", "interrupt the running command"),
|
||||
kv(
|
||||
"Ctrl-X (owner, not driving)",
|
||||
"kill switch — revoke all drive + interrupt the shell (while driving it reaches the shell, e.g. nano)",
|
||||
),
|
||||
kv("PgUp / PgDn", "scroll chat · Home/End = oldest/live"),
|
||||
kv(
|
||||
"PgUp / PgDn (driving)",
|
||||
|
||||
Reference in New Issue
Block a user