From 0305fdb6f71a660cb5632d6fef56d8a9655fb1e1 Mon Sep 17 00:00:00 2001 From: Kakumanu Ashok Reddy Date: Sun, 13 Sep 2026 23:26:39 +0530 Subject: fix: recognize kitty CSI-u codepoints for F1 through F12 (#2378) Codepoints 57364-57375 (F1-F12) were missing from the kitty-protocol codepoint table, so terminals that send function keys as full CSI-u sequences (e.g. Ghostty, which enables the kitty keyboard protocol by default) had those keys silently dropped. Confirmed live against a running herdr session: injecting the raw F3/F4 codepoint sequences did nothing before this fix and correctly triggered previous_tab/next_tab after. refs #1809 Co-authored-by: JJ Liebig --- src/raw_input.rs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/raw_input.rs') diff --git a/src/raw_input.rs b/src/raw_input.rs index 266b892e..8d0e3a8e 100644 --- a/src/raw_input.rs +++ b/src/raw_input.rs @@ -1535,6 +1535,11 @@ mod tests { (b"\x1b[57423;1u", KeyCode::Home, KeyModifiers::empty()), (b"\x1bOq", KeyCode::Char('1'), KeyModifiers::empty()), (b"\x1b[14~", KeyCode::F(4), KeyModifiers::empty()), + (b"\x1b[57364;1u", KeyCode::F(1), KeyModifiers::empty()), + (b"\x1b[57366;1u", KeyCode::F(3), KeyModifiers::empty()), + (b"\x1b[57366;2u", KeyCode::F(3), KeyModifiers::SHIFT), + (b"\x1b[57375;1u", KeyCode::F(12), KeyModifiers::empty()), + (b"\x1b[57376;1u", KeyCode::F(13), KeyModifiers::empty()), (b"\x1b[49:33;2:1u", KeyCode::Char('1'), KeyModifiers::SHIFT), ]; -- cgit v1.2.3