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.
This commit is contained in:
Bram Moolenaar
2022-11-30 10:23:17 +00:00
parent 7c02ad9f89
commit a87749e3ea
3 changed files with 8 additions and 5 deletions

View File

@ -4901,7 +4901,7 @@ A jump table for the options with a short description can be found at |Q_op|.
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 short description can be found at |Q_op|.
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 <u disables the kitty keyboard protocol
CSI =0;1u disables the kitty keyboard protocol
The t_TI value is changed to:
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

View File

@ -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[<u"},
{(int)KS_CTE, "\033[>4;m\033[=0;1u"},
{(int)KS_NAME, NULL} // end marker
};

View File

@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
976,
/**/
975,
/**/