diff options
| author | divens <divens@users.noreply.github.com> | 2026-04-03 10:04:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-03 10:04:41 +0200 |
| commit | cbe0237b1e4d36bec7cb51103179f0473920f3a0 (patch) | |
| tree | 8b70edb5c3cef5481a83d00486ca276f33dcdcaf /src | |
| parent | fix(web-client): use base URL when switching sessions (#4981) (diff) | |
| download | sl0ppij-cbe0237b1e4d36bec7cb51103179f0473920f3a0.tar.gz sl0ppij-cbe0237b1e4d36bec7cb51103179f0473920f3a0.tar.xz sl0ppij-cbe0237b1e4d36bec7cb51103179f0473920f3a0.zip | |
fix(windows): encode modifiers in raw bytes for non-Char keys (#4967)
On the native console input path, crossterm captures modifier flags
from INPUT_RECORD but the raw bytes written to the PTY don't include
them. This causes inner applications to never see ALT, SHIFT, or CTRL
modifiers for keys like Enter, Tab, Backspace, arrows, and function
keys.
Encode modifiers using standard VT conventions:
- Simple keys (Enter, Tab, Backspace): ALT uses ESC prefix, other
modifiers use CSI u encoding
- CSI letter-final keys (arrows, Home, End): xterm modifier parameter
- CSI tilde keys (PageUp, Delete, F5+): modifier before tilde
- SS3 keys (F1-F4): convert to CSI with modifier
Co-authored-by: divens <divens.dev@gmail.com>
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions
