From 11dd8fa586e4b06ed0ff04f321f18a29389c069e Mon Sep 17 00:00:00 2001 From: argszero Date: Tue, 20 Oct 2026 03:07:32 +0800 Subject: [PATCH] fix(tui): navigate the transcript with keypad Home and End NumPad Home, End, PageUp and PageDown arrive as `kphome`, `kpend`, `kppageup` and `kppagedown` (kitty `CSI 57423 u`, `CSI 57424 u`, and `CSI 57421 u` / `CSI 57422 u`), while the session bindings list only the plain `home`, `end`, `pageup` and `pagedown`. The keypad key beside a working key therefore does nothing: pressing NumPad End in the transcript does not jump to the last message. List the keypad key beside the key it mirrors on `session.first`, `session.last`, `session.page.up` and `session.page.down`. Plain Home and End stay reserved for transcript navigation, so `input.buffer.home` and `input.buffer.end` keep their empty defaults. --- packages/tui/src/config/keybind.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/tui/src/config/keybind.ts b/packages/tui/src/config/keybind.ts index ef1cba9cc803..cf7d23d6daf5 100644 --- a/packages/tui/src/config/keybind.ts +++ b/packages/tui/src/config/keybind.ts @@ -176,14 +176,14 @@ export const Definitions = { "variant.cycle": keybind("ctrl+t", "Cycle model variants"), "variant.list": keybind("none", "List model variants"), - "session.page.up": keybind("pageup,ctrl+alt+b", "Scroll messages up by one page"), - "session.page.down": keybind("pagedown,ctrl+alt+f", "Scroll messages down by one page"), + "session.page.up": keybind("pageup,ctrl+alt+b,kppageup", "Scroll messages up by one page"), + "session.page.down": keybind("pagedown,ctrl+alt+f,kppagedown", "Scroll messages down by one page"), "session.line.up": keybind("ctrl+alt+y", "Scroll messages up by one line"), "session.line.down": keybind("ctrl+alt+e", "Scroll messages down by one line"), "session.half.page.up": keybind("ctrl+alt+u", "Scroll messages up by half page"), "session.half.page.down": keybind("ctrl+alt+d", "Scroll messages down by half page"), - "session.first": keybind("ctrl+g,home,alt+home", "Navigate to first message"), - "session.last": keybind("ctrl+alt+g,end", "Navigate to last message"), + "session.first": keybind("ctrl+g,home,alt+home,kphome", "Navigate to first message"), + "session.last": keybind("ctrl+alt+g,end,kpend", "Navigate to last message"), "session.message.next": keybind("none", "Navigate to next message"), "session.message.previous": keybind("none", "Navigate to previous message"), "session.message.user.next": keybind("none", "Navigate to next user message"),