# HG changeset patch # User Bram Moolenaar # Date 1669804205 -3600 # Node ID 76acee969543834d9ebf463ead96c70d1309773f # Parent 3dc5f502764c35e38aa0ca79b9e181b4e9a8094c patch 9.0.0976: enabling the kitty keyboard protocol uses push/pop Commit: https://github.com/vim/vim/commit/a87749e3eae3f918b6678f45cf975f0cf06d3e97 Author: Bram Moolenaar Date: Wed Nov 30 10:23:17 2022 +0000 patch 9.0.0976: enabling the kitty keyboard protocol uses push/pop Problem: Enabling the kitty keyboard protocol uses push/pop. Solution: Use the start/stop codes to avoid unpredictable behavior. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -4901,7 +4901,7 @@ A jump table for the options with a shor mok2 modifyOtherKeys level 2, as supported by xterm kitty Kitty keyboard protocol, as supported by Kitty - The option value is a list of command separated items. Each item has + The option value is a list of comma separated items. Each item has a pattern that is matched against the 'term' option, a colon and the protocol name to be used. To illustrate this, the default value would be set with: > @@ -4926,12 +4926,13 @@ A jump table for the options with a shor CSI >4;m disables modifyOtherKeys The t_TI value is changed to: CSI >4;2m enables modifyOtherKeys + CSI ?4m request the modifyOtherKeys state kitty The t_TE value is changed to: CSI >4;m disables modifyOtherKeys - CSI 1u enables the kitty keyboard protocol + CSI =1;1u enables the kitty keyboard protocol CSI ?u request kitty keyboard protocol state CSI >c request the termresponse diff --git a/src/term.c b/src/term.c --- a/src/term.c +++ b/src/term.c @@ -608,11 +608,11 @@ static tcap_entry_T builtin_mok2[] = { static tcap_entry_T builtin_kitty[] = { // t_TI enables the kitty keyboard protocol, requests the kitty keyboard // protocol state and requests the version response. - {(int)KS_CTI, "\033[>1u\033[?u\033[>c"}, + {(int)KS_CTI, "\033[=1;1u\033[?u\033[>c"}, // t_TE also disabled modifyOtherKeys, because t_TI from xterm may already // have been used. - {(int)KS_CTE, "\033[>4;m\033[4;m\033[=0;1u"}, {(int)KS_NAME, NULL} // end marker }; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 976, +/**/ 975, /**/ 974,