Skip to content

modifyOtherKeys

Category: input · Baseline: modern · Tags: Xterm Extensions · Specification ↗

modifyOtherKeys (CSI > 4 ; Pv m) enables extended key reporting that distinguishes modified key combinations that would otherwise be ambiguous. At level 2, keys like Ctrl+I are reported distinctly from Tab, and Ctrl+M from Enter.
How this is testedautomated
Check if the terminal supports xterm modifyOtherKeys mode for enhanced key reporting.

The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.

Analysis2026-04-06

Supported by 10 of 12 terminals (83%). Not supported by: vt100.js, xterm.js. Part of the Modern TUI baseline. Notes: vt100.js: Not implemented — pure TypeScript emulator; xterm.js: modifyOtherKeys not implemented in xterm.js.

Supported by 9 of 14 backends (64%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
vterm0.2.0✓ yes
Alacritty0.26.0~ partialmodifyOtherKeys not exposed via alacritty_terminal API
Kitty0.40.0~ partialmodifyOtherKeys not exposed via Python batch bridge
WezTerm0.1.0-fork.5~ partialmodifyOtherKeys not exposed via wezterm-term API
vt100.js0.2.1✗ noNot implemented — pure TypeScript emulator
xterm.js5.5.0✗ nomodifyOtherKeys not implemented in xterm.js