From 9ad65d9031e8cb16a7b553c0e6f74809e9811e92 Mon Sep 17 00:00:00 2001 From: akbash Date: Sat, 12 Sep 2026 00:38:57 +0300 Subject: fix: suppress Windows dead-key fallback characters in remote panes (#3972) refs #3948 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> --- src/client/input/windows_vti.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/client/input/windows_vti.rs') diff --git a/src/client/input/windows_vti.rs b/src/client/input/windows_vti.rs index d89a02c7..679d5b31 100644 --- a/src/client/input/windows_vti.rs +++ b/src/client/input/windows_vti.rs @@ -2545,6 +2545,31 @@ mod tests { } } + #[test] + fn vti_altgr_dead_key_preserves_native_record_without_command_modifiers() { + // AltGr+4 press captured in #3948, Spanish ISO layout. + let record = WindowsKeyRecord { + key_down: true, + repeat_count: 1, + virtual_key_code: 52, + virtual_scan_code: 5, + unicode: 0, + control_key_state: 9, + }; + let events = translate_with_provenance(win32_input_mode_encoded_record(record)); + assert_eq!( + events, + vec![crate::protocol::ClientInputEvent::Key { + code: crate::protocol::ClientKeyCode::Char('4'), + modifiers: 0, + kind: crate::protocol::ClientKeyKind::Press, + repeat_count: 1, + generated_text: None, + source: crate::protocol::ClientKeySource::WindowsConsole { record }, + }] + ); + } + #[test] fn vti_us_international_dead_key_only_emits_composed_text() { fn encode_for_kitty(events: Vec, flags: u16) -> Vec { -- cgit v1.2.3