From 802de4f12f125abc261c58bdb5385f6be3ad469a Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Thu, 1 Oct 2026 09:43:37 -0300 Subject: Shift-Esc always backs out: in every mode and pane it goes to the previous pane, as Esc does from normal, and a raw program never sees it; Ctrl-b alone toggles raw Shift-Esc switched a terminal in normal or insert mode into raw, so the one key meant to get out of anything got a script or a person into a program instead. It is now handled before any mode: an open prompt is closed, insert mode left, a pending count dropped, and Last runs, the pane keeping its mode (a raw terminal stays raw). Ctrl-b is the only switch between raw and normal. The keymap's two chords become one, back_out; the cheatsheet row, the guide's mode table and the tutor say so, and the tty and builtins goldens are re-recorded. Co-Authored-By: Claude Opus 5.5 --- src/gui/gui.zig | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/gui') diff --git a/src/gui/gui.zig b/src/gui/gui.zig index 739e5a69..e8dc99b9 100644 --- a/src/gui/gui.zig +++ b/src/gui/gui.zig @@ -3790,10 +3790,7 @@ fn dispatch(g: *Gui, in: *Input, sev: *const c.SDL_Event) void { .cap_n => .{ .cp = 'N', .text = "N" }, .enter => .{ .cp = pardes.Key.enter }, .tab => .{ .cp = pardes.Key.tab }, - .tty_toggle => if (in.core) |core| - .{ .cp = core.opts.tty_toggle, .ctrl = true } - else - .{ .cp = config.tty_toggle_alt[0].cp, .shift = true }, + .tty_toggle => .{ .cp = if (in.core) |core| core.opts.tty_toggle else config.tty_toggle_default, .ctrl = true }, }, }), .rumble => if (g.gamepad) |pad| { -- cgit v1.3