From a88164e3a21e962d28e165f1d3e78daf14f45330 Mon Sep 17 00:00:00 2001 From: Shinichi MOTOKI Date: Thu, 2 Feb 2023 19:37:37 +0900 Subject: [PATCH] Fix function key definitions in terminfo/termcap --- kitty/terminfo.py | 13 ++++++++++--- terminfo/kitty.termcap | 2 +- terminfo/kitty.terminfo | 10 +++++----- terminfo/x/xterm-kitty | Bin 3394 -> 3398 bytes 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/kitty/terminfo.py b/kitty/terminfo.py index f14744928..a8aa010ce 100644 --- a/kitty/terminfo.py +++ b/kitty/terminfo.py @@ -284,11 +284,18 @@ string_capabilities = { } string_capabilities.update({ - f'kf{offset + n}': - encode_keystring(modify_key_bytes(b'\033' + value, mod)) - for offset, mod in {0: 0, 12: 2, 24: 5, 36: 6, 48: 3, 60: 4}.items() + f'kf{n}': + encode_keystring(modify_key_bytes(b'\033' + value, 0)) for n, value in zip(range(1, 13), b'OP OQ OR OS [15~ [17~ [18~ [19~ [20~ [21~ [23~ [24~'.split()) +}) + +string_capabilities.update({ + f'kf{offset + n}': + encode_keystring(modify_key_bytes(b'\033' + value, mod)) + for offset, mod in {12: 2, 24: 5, 36: 6, 48: 3, 60: 4}.items() + for n, value in zip(range(1, 13), + b'OP OQ [13~ OS [15~ [17~ [18~ [19~ [20~ [21~ [23~ [24~'.split()) if offset + n < 64 }) diff --git a/terminfo/kitty.termcap b/terminfo/kitty.termcap index 37c6794c0..2d7cee57c 100644 --- a/terminfo/kitty.termcap +++ b/terminfo/kitty.termcap @@ -1 +1 @@ -xterm-kitty|KovIdTTY:5i:NP:am:cc:hs:km:mi:ms:xn:Co#256:co#80:it#8:li#24:pa#32767:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%1=:%c=\E[6;2~:%e=\E[5;2~:%i=\E[1;2C:&8=:&9=\E[1;2E:*4=\E[3;2~:*7=\E[1;2F:@1=\EOE:@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[1;2R:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:FH=\E[1;5R:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:FT=\E[1;6R:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:Ff=\E[1;3R:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:Fr=\E[1;4R:IC=\E[%d@:..Ic=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\:K1=:K3=:K4=:K5=:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ZH=\E[3m:ZR=\E[23m:ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\n:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:kd=\EOB:ke=\E[?1l:kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mh=\E[2m:mr=\E[7m:nd=\E[C:oc=\E]104\007:op=\E[39;49m:r1=\E]\E\\\Ec:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:..sa=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:..u8=\E[?%[;0123456789]c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12h\E[?25h:vi=\E[?25l:vs=\E[?12;25h: \ No newline at end of file +xterm-kitty|KovIdTTY:5i:NP:am:cc:hs:km:mi:ms:xn:Co#256:co#80:it#8:li#24:pa#32767:#2=\E[1;2H:#3=\E[2;2~:#4=\E[1;2D:%1=:%c=\E[6;2~:%e=\E[5;2~:%i=\E[1;2C:&8=:&9=\E[1;2E:*4=\E[3;2~:*7=\E[1;2F:@1=\EOE:@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:F3=\E[1;2P:F4=\E[1;2Q:F5=\E[13;2~:F6=\E[1;2S:F7=\E[15;2~:F8=\E[17;2~:F9=\E[18;2~:FA=\E[19;2~:FB=\E[20;2~:FC=\E[21;2~:FD=\E[23;2~:FE=\E[24;2~:FF=\E[1;5P:FG=\E[1;5Q:FH=\E[13;5~:FI=\E[1;5S:FJ=\E[15;5~:FK=\E[17;5~:FL=\E[18;5~:FM=\E[19;5~:FN=\E[20;5~:FO=\E[21;5~:FP=\E[23;5~:FQ=\E[24;5~:FR=\E[1;6P:FS=\E[1;6Q:FT=\E[13;6~:FU=\E[1;6S:FV=\E[15;6~:FW=\E[17;6~:FX=\E[18;6~:FY=\E[19;6~:FZ=\E[20;6~:Fa=\E[21;6~:Fb=\E[23;6~:Fc=\E[24;6~:Fd=\E[1;3P:Fe=\E[1;3Q:Ff=\E[13;3~:Fg=\E[1;3S:Fh=\E[15;3~:Fi=\E[17;3~:Fj=\E[18;3~:Fk=\E[19;3~:Fl=\E[20;3~:Fm=\E[21;3~:Fn=\E[23;3~:Fo=\E[24;3~:Fp=\E[1;4P:Fq=\E[1;4Q:Fr=\E[13;4~:IC=\E[%d@:..Ic=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\:K1=:K3=:K4=:K5=:Km=\E[M:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ZH=\E[3m:ZR=\E[23m:ac=++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cb=\E[1K:cd=\E[J:ce=\E[K:ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=\n:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kD=\E[3~:kF=\E[1;2B:kI=\E[2~:kN=\E[6~:kP=\E[5~:kR=\E[1;2A:kb=\177:kd=\EOB:ke=\E[?1l:kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mh=\E[2m:mr=\E[7m:nd=\E[C:oc=\E]104\007:op=\E[39;49m:r1=\E]\E\\\Ec:rc=\E8:..rp=%p1%c\E[%p2%{1}%-%db:..sa=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m:sc=\E7:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:ts=\E]2;:u6=\E[%i%d;%dR:u7=\E[6n:..u8=\E[?%[;0123456789]c:u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?12h\E[?25h:vi=\E[?25l:vs=\E[?12;25h: \ No newline at end of file diff --git a/terminfo/kitty.terminfo b/terminfo/kitty.terminfo index bb3c34761..96de693b0 100644 --- a/terminfo/kitty.terminfo +++ b/terminfo/kitty.terminfo @@ -144,7 +144,7 @@ xterm-kitty|KovIdTTY, kf12=\E[24~, kf13=\E[1;2P, kf14=\E[1;2Q, - kf15=\E[1;2R, + kf15=\E[13;2~, kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~, @@ -157,7 +157,7 @@ xterm-kitty|KovIdTTY, kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q, - kf27=\E[1;5R, + kf27=\E[13;5~, kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, @@ -170,7 +170,7 @@ xterm-kitty|KovIdTTY, kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q, - kf39=\E[1;6R, + kf39=\E[13;6~, kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~, @@ -184,7 +184,7 @@ xterm-kitty|KovIdTTY, kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, - kf51=\E[1;3R, + kf51=\E[13;3~, kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~, @@ -197,7 +197,7 @@ xterm-kitty|KovIdTTY, kf60=\E[24;3~, kf61=\E[1;4P, kf62=\E[1;4Q, - kf63=\E[1;4R, + kf63=\E[13;4~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, diff --git a/terminfo/x/xterm-kitty b/terminfo/x/xterm-kitty index 185d9119fd4c2da9bad78749b18258cae47c1af4..cee3d582fada1493b2a09a1a92ac50ba43598471 100644 GIT binary patch delta 222 zcmX>kbxev|icyq7hJl|UlX25VZf>R|F=kn2Rc2jgQ)XLcS7u-4Q07?X6y|K^V&*F5 zCgv{YNzAjD7csA5-o(6%`5^NN<_pZ%neQ_{XMWH8o%ugAI}1OHIEx&MDvK_Q35yMj z3yTj+2ulo03QG=42}?Cg6H6D%W)@>>qq@mXY>_~QY2D;`V1`-UQhaoyxFc94`w-R4c~ Mnv9$8aHO#S06vaAv;Y7A delta 216 zcmX>mbx4X^icyq7hJl|UlX2}vZf>R|QDzxt6=oe~6J{G`7iJ&k5at->Wacd9LgotQ z2Idat3CuH?7cj42-oU(rc|Y?p=CjOKnC~z@VSdB>h4~LN3kwg62#Yj}5{o8_0gDBT z1B(Ys080c*0!s!<0ZTbc9ZM_A