aboutsummaryrefslogtreecommitdiff
path: root/src/raw_input.rs
diff options
context:
space:
mode:
authorKakumanu Ashok Reddy <kakumanuashokreddyias2024@gmail.com>2026-09-13 23:26:39 +0530
committerGitHub <noreply@github.com>2026-09-13 21:56:39 +0400
commit0305fdb6f71a660cb5632d6fef56d8a9655fb1e1 (patch)
tree6c6eaa34091271f68a10a5b65ec7ef65eaa11301 /src/raw_input.rs
parent1e3c625d8618e9ee5ba57276abfaa35d7eca4827 (diff)
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 <jonathan.liebig@gmail.com>
Diffstat (limited to 'src/raw_input.rs')
-rw-r--r--src/raw_input.rs5
1 files changed, 5 insertions, 0 deletions
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),
];