Kitty keyboard protocol¶
Feature ID: csi-u-kitty-keyboard. Type: feature.
Manual tests: just probe csi-u-kitty-keyboard opens this feature's scenarios.
Browse under Input / Keyboard protocols. A scenario may exercise related features; its existence does not establish support.
Specification and related documentation¶
- input/kitty-keyboard.md
- Comprehensive keyboard handling in terminals
comprehensive-keyboard-handling-in-terminals
Terminal compatibility¶
Missing records mean unknown. as-of identifies the assessed version or revision, not the first release to support a feature.
| Terminal | Support | As of | Notes and evidence |
|---|---|---|---|
| Alacritty | SupportedImported · unverified | Unversioned | Yes; Since 0.13 ([Alacritty 0.13 changelog](https://github.com/alacritty/alacritty/blob/master/CHANGELOG.md).) |
| Apple Terminal | Unknown | Unversioned | No assessment recorded. |
| ConPTY (conhost) | Unknown | Unversioned | No assessment recorded. |
| Contour | SupportedImported · unverified | Unversioned | Yes; Listed in its VT extensions ([Contour VT extensions](https://contour-terminal.org/vt-extensions/).) |
| DomTerm | Unknown | Unversioned | No assessment recorded. |
| foot | SupportedImported · unverified | Unversioned | Yes; All flags ([foot README, keyboard section](https://codeberg.org/dnkl/foot#keyboard).) |
| Ghostty | SupportedImported · unverified | Unversioned | Yes; All flags ([Ghostty VT reference](https://ghostty.org/docs/vt).) |
| iTerm2 | SupportedImported · unverified | Unversioned | Yes; Since 3.5 ([iTerm2 3.5 release notes](https://iterm2.com/downloads.html).) |
| kitty | SupportedImported · unverified | Unversioned | Yes; Origin, all flags ([Comprehensive keyboard handling in terminals](https://sw.kovidgoyal.net/kitty/keyboard-protocol/).) |
| Konsole | Unknown | Unversioned | No assessment recorded. |
| mintty | Unknown | Unversioned | No assessment recorded. |
| mlterm | Unknown | Unversioned | No assessment recorded. |
| PuTTY | Unknown | Unversioned | No assessment recorded. |
| Revenant | Unknown | Unversioned | No assessment recorded. |
| RLogin | Unknown | Unversioned | No assessment recorded. |
| st | Unknown | Unversioned | No assessment recorded. |
| tmux | PartialImported · unverified | Unversioned | Partial; Forwards with `extended-keys`; does not implement the stack itself ([tmux(1), `extended-keys`](https://man.openbsd.org/tmux.1#extended-keys).) |
| rxvt-unicode | Unknown | Unversioned | No assessment recorded. |
| VTE | Unknown | Unversioned | No assessment recorded. |
| wayst | Unknown | Unversioned | No assessment recorded. |
| WezTerm | SupportedImported · unverified | Unversioned | Yes; `enable_kitty_keyboard`; default off ([WezTerm `enable_kitty_keyboard`](https://wezterm.org/config/lua/config/enable_kitty_keyboard.html).) |
| Windows Terminal | UnknownImported · unverified | Unversioned | ?; Open feature request ([microsoft/terminal issue on kitty keyboard protocol](https://github.com/microsoft/terminal/issues/16155).) |
| xterm | UnknownImported · unverified | Unversioned | ?; Not implemented (Not present in [XTerm Control Sequences](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html).) |
| xterm.js | UnknownImported · unverified | Unversioned | ?; Open feature request ([xtermjs/xterm.js issue tracker](https://github.com/xtermjs/xterm.js/issues).) |