summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-11-30 10:23:17 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-30 10:23:17 +0000
commita87749e3eae3f918b6678f45cf975f0cf06d3e97 (patch)
treee4687518fb9a8e34d74e4c95b403c0c2011be780
parent7c02ad9f8906b576e53a62342c68ae557f67bacc (diff)
patch 9.0.0976: enabling the kitty keyboard protocol uses push/popv9.0.0976
Problem: Enabling the kitty keyboard protocol uses push/pop. Solution: Use the start/stop codes to avoid unpredictable behavior.
-rw-r--r--runtime/doc/options.txt7
-rw-r--r--src/term.c4
-rw-r--r--src/version.c2
3 files changed, 8 insertions, 5 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 83a4904c35..e9404478f2 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -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
diff --git a/src/term.c b/src/term.c
index 74c4612992..9a45f46c39 100644
--- 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[<u"},
+ {(int)KS_CTE, "\033[>4;m\033[=0;1u"},
{(int)KS_NAME, NULL} // end marker
};
diff --git a/src/version.c b/src/version.c
index 98f1cf2d0f..37d7c8f51d 100644
--- 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,