docs(tui): kitty keyboard protocol flags #41056

Nvim has sent CSI > 3 u since 4fb3b57a19, but tui.txt still documented
CSI > 1 u.
This commit is contained in:
Barrett Ruth 2026-07-30 04:50:39 -05:00 committed by GitHub
parent b5c623112e
commit c1a65ff353
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -189,11 +189,17 @@ If your terminal emulator responds with >
CSI ? <flags> u
this means your terminal supports the "CSI u" encoding and Nvim will tell your
terminal to enable it by writing the sequence >
CSI > 1 u
CSI > 3 u
If your terminal does not support "CSI u" then Nvim will instead enable the
"modifyOtherKeys" encoding by writing the sequence >
CSI > 4 ; 2 m
The "3" requests the kitty keyboard protocol "progressive enhancement" flags
1 (disambiguate escape codes) and 2 (report event types). Nvim does not
request 8 (report all keys as escape codes) nor 16 (report associated text),
which are needed to distinguish keys that produce the same text as their
unmodified counterpart, such as <S-Space> and <Space>.
When Nvim exits cleanly it will send the corresponding sequence to disable the
special key encoding. If Nvim does not exit cleanly then your terminal
emulator could be in a bad state. If this happens, simply run "reset".