From fa0e380e627644f269cfbd0ed4cf79f15ff74176 Mon Sep 17 00:00:00 2001 From: kangal-bot Date: Mon, 18 May 2026 20:13:19 +0300 Subject: fix: preserve alt backspace in panes (#165) refs #155 Co-authored-by: kangal-bot --- src/pane/terminal.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/pane/terminal.rs') diff --git a/src/pane/terminal.rs b/src/pane/terminal.rs index efe9c7ce..fcbedeff 100644 --- a/src/pane/terminal.rs +++ b/src/pane/terminal.rs @@ -1502,6 +1502,20 @@ mod tests { assert_eq!(after, b"\x1b[13;6u"); } + #[test] + fn ghostty_kitty_pane_encodes_parsed_legacy_alt_backspace_as_csi_u() { + let (tx, _rx) = mpsc::channel(4); + let terminal = crate::ghostty::Terminal::new(80, 24, 0).unwrap(); + let pane = GhosttyPaneTerminal::new(terminal, tx.clone()).unwrap(); + let pane_id = PaneId::from_raw(1); + pane.process_pty_bytes(pane_id, 0, b"\x1b[>1u", &tx); + + let key = crate::input::parse_terminal_key_sequence("\x1b\x7f").unwrap(); + let encoded = pane.encode_terminal_key(key, crate::input::KeyboardProtocol::Legacy); + + assert_eq!(encoded, b"\x1b[127;3u"); + } + #[test] fn ghostty_key_encoders_are_isolated_per_pane() { let (tx, _rx) = mpsc::channel(4); -- cgit v1.2.3