changeset 31285:76acee969543 v9.0.0976

patch 9.0.0976: enabling the kitty keyboard protocol uses push/pop Commit: https://github.com/vim/vim/commit/a87749e3eae3f918b6678f45cf975f0cf06d3e97 Author: Bram Moolenaar <Bram@vim.org> 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.
author Bram Moolenaar <Bram@vim.org>
date Wed, 30 Nov 2022 11:30:05 +0100
parents 3dc5f502764c
children 33c4af586833
files runtime/doc/options.txt src/term.c src/version.c
diffstat 3 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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 <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
 
--- 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
 };
--- 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,