From e536bd8bd99de975cb2d15bb384e6e35f88ef88e Mon Sep 17 00:00:00 2001 From: Can Celik Date: Sun, 26 Jul 2026 04:22:05 +0300 Subject: fix: support non-us shifted keybindings (#1876) * fix: support non-us shifted keybindings refs #1870 * docs: require current pull request base --- src/server/headless.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'src/server') diff --git a/src/server/headless.rs b/src/server/headless.rs index 0b25dd97..c1644dcd 100644 --- a/src/server/headless.rs +++ b/src/server/headless.rs @@ -8424,6 +8424,46 @@ next_tab = "" )); } + #[tokio::test] + async fn command_mode_updates_headless_client_keyboard_flags() { + let mut server = test_headless_server(); + let (client_tx, client_control_rx, _client_rx) = test_client_writer(); + server.clients.insert( + 1, + ClientConnection::new( + (80, 24), + crate::kitty_graphics::HostCellSize::default(), + crate::terminal_theme::TerminalTheme::default(), + None, + 1, + RenderEncoding::SemanticFrame, + Some(client_tx), + ), + ); + + server.app.state.mode = crate::app::Mode::Prefix; + server.stream_host_keyboard_enhancement_flags(); + assert!(matches!( + read_server_message( + client_control_rx + .recv_timeout(Duration::from_millis(100)) + .expect("command-mode keyboard enhancement message") + ), + ServerMessage::KittyKeyboardReportAll { enabled: true } + )); + + server.app.state.mode = crate::app::Mode::Terminal; + server.stream_host_keyboard_enhancement_flags(); + assert!(matches!( + read_server_message( + client_control_rx + .recv_timeout(Duration::from_millis(100)) + .expect("IME-compatible keyboard enhancement message") + ), + ServerMessage::KittyKeyboardReportAll { enabled: false } + )); + } + #[tokio::test] async fn focused_report_all_pane_updates_headless_client_keyboard_flags() { let mut server = test_headless_server(); @@ -8456,6 +8496,7 @@ next_tab = "" )); assert!(server.app.close_popup_pane()); + server.app.state.mode = crate::app::Mode::Terminal; server.stream_host_keyboard_enhancement_flags(); assert!(matches!( read_server_message( -- cgit v1.2.3