patch 9.2.0264: Cannot disable kitty keyboard protocol in vim :terminal

Problem:  Cannot disable kitty keyboard protocol in vim :terminal
Solution: Handle "CSI <u" sequence in libvterm (Julio B).

related: v9.0.0930
closes: #19837

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Julio B
2026-03-28 10:01:38 +00:00
committed by Christian Brabandt
parent 8e29c35a04
commit d13f135295
3 changed files with 13 additions and 0 deletions
+1
View File
@@ -983,6 +983,7 @@ static int on_csi(const char *leader, const long args[], int argcount, const cha
switch(leader[0]) {
case '?':
case '>':
case '<':
leader_byte = leader[0];
break;
default:
+10
View File
@@ -2441,4 +2441,14 @@ func Test_term_TextChangedT_close()
augroup END
endfunc
func Test_terminal_disable_kitty_keyboard()
CheckRunVimInTerminal
let cmd = ['sh', '-c', 'printf ''\033[>1u\033[?u\033[<u\033[?u''; sleep 1']
let buf = term_start(cmd)
let job = term_getjob(buf)
call WaitForAssert({-> assert_equal('dead', job_status(job))})
call WaitForAssert({-> assert_equal('^[[?1u^[[?0u', term_getline(buf, 1))})
bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
264,
/**/
263,
/**/