mirror of
https://github.com/psmux/psmux.git
synced 2026-06-19 09:46:56 +08:00
Adds examples/key_diag.rs (crossterm key-event logger) and extends tests/injector.cs with {RAW:vk:ch:ctrl} for arbitrary WriteConsoleInput records. Adds tests/test_issue226_full_proof.ps1 which empirically proves all three layers on Windows:
Layer 1: Windows console -> crossterm correctly delivers Ctrl+/ as Char('/')+CONTROL (NOT Char('o')+CONTROL). The previously-suggested input-layer collision does not actually exist on the standard ConPTY/crossterm pipeline.
Layer 2: psmux TUI prefix+Ctrl+/ does NOT trigger next-pane (the 'o' binding). Verified by injecting Ctrl+B + Ctrl+/ via WriteConsoleInput and asserting pane_index unchanged, while prefix+o moves it as a sanity check.
Layer 3: send-keys C-/ emits 0x1F (^_) and send-keys C-o emits 0x0F (^O), via the standard_map fix from the previous commit.
All 8 checks pass.