Implement handling for special keys
This commit is contained in:
parent
e010d13994
commit
f9cc8f6584
@ -7,11 +7,40 @@ from PyQt5.QtCore import Qt, QObject, QEvent
|
|||||||
|
|
||||||
CTRL_MASK = 0b10011111
|
CTRL_MASK = 0b10011111
|
||||||
|
|
||||||
|
key_map = {
|
||||||
|
Qt.Key_Up: '[A',
|
||||||
|
Qt.Key_Down: '[B',
|
||||||
|
Qt.Key_Left: '[D',
|
||||||
|
Qt.Key_Right: '[C',
|
||||||
|
Qt.Key_Home: 'OH',
|
||||||
|
Qt.Key_End: 'OF',
|
||||||
|
Qt.Key_Insert: '[2~',
|
||||||
|
Qt.Key_Delete: '[3~',
|
||||||
|
Qt.Key_PageUp: '[5~',
|
||||||
|
Qt.Key_PageDown: '[6~',
|
||||||
|
Qt.Key_F1: 'OP',
|
||||||
|
Qt.Key_F2: 'OQ',
|
||||||
|
Qt.Key_F3: 'OR',
|
||||||
|
Qt.Key_F4: 'OS',
|
||||||
|
Qt.Key_F5: '[15~',
|
||||||
|
Qt.Key_F6: '[17~',
|
||||||
|
Qt.Key_F7: '[18~',
|
||||||
|
Qt.Key_F8: '[19~',
|
||||||
|
Qt.Key_F9: '[20~',
|
||||||
|
Qt.Key_F10: '[21~',
|
||||||
|
Qt.Key_F11: '[23~',
|
||||||
|
Qt.Key_F12: '[24~',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def key_event_to_data(ev, mods):
|
def key_event_to_data(ev, mods):
|
||||||
data = bytearray()
|
data = bytearray()
|
||||||
if mods & Qt.AltModifier:
|
if mods & Qt.AltModifier:
|
||||||
data.append(27)
|
data.append(27)
|
||||||
|
x = key_map.get(ev.key())
|
||||||
|
if x is not None:
|
||||||
|
data.extend(b'\033' + x.encode('ascii'))
|
||||||
|
else:
|
||||||
t = ev.text()
|
t = ev.text()
|
||||||
if t:
|
if t:
|
||||||
t = t.encode('utf-8')
|
t = t.encode('utf-8')
|
||||||
|
|||||||
@ -14,7 +14,6 @@ xterm-kitty|KovIdTTY,
|
|||||||
it#8,
|
it#8,
|
||||||
lines#24,
|
lines#24,
|
||||||
pairs#32767,
|
pairs#32767,
|
||||||
U8#1,
|
|
||||||
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
||||||
bel=^G,
|
bel=^G,
|
||||||
bold=\E[1m,
|
bold=\E[1m,
|
||||||
@ -56,90 +55,27 @@ xterm-kitty|KovIdTTY,
|
|||||||
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
|
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
|
||||||
invis=\E[8m,
|
invis=\E[8m,
|
||||||
is2=\E[!p\E[?3;4l\E[4l\E>,
|
is2=\E[!p\E[?3;4l\E[4l\E>,
|
||||||
kDC=\E[3;2~,
|
|
||||||
kEND=\E[1;2F,
|
|
||||||
kHOM=\E[1;2H,
|
|
||||||
kIC=\E[2;2~,
|
|
||||||
kLFT=\E[1;2D,
|
|
||||||
kNXT=\E[6;2~,
|
|
||||||
kPRV=\E[5;2~,
|
|
||||||
kRIT=\E[1;2C,
|
|
||||||
kb2=\EOE,
|
|
||||||
kbs=\177,
|
kbs=\177,
|
||||||
kcbt=\E[Z,
|
|
||||||
kcub1=\EOD,
|
kcub1=\EOD,
|
||||||
kcud1=\EOB,
|
kcud1=\EOB,
|
||||||
kcuf1=\EOC,
|
kcuf1=\EOC,
|
||||||
kcuu1=\EOA,
|
kcuu1=\EOA,
|
||||||
kdch1=\E[3~,
|
|
||||||
kend=\EOF,
|
|
||||||
kent=\EOM,
|
|
||||||
kf1=\EOP,
|
kf1=\EOP,
|
||||||
kf10=\E[21~,
|
|
||||||
kf11=\E[23~,
|
|
||||||
kf12=\E[24~,
|
|
||||||
kf13=\E[1;2P,
|
|
||||||
kf14=\E[1;2Q,
|
|
||||||
kf15=\E[1;2R,
|
|
||||||
kf16=\E[1;2S,
|
|
||||||
kf17=\E[15;2~,
|
|
||||||
kf18=\E[17;2~,
|
|
||||||
kf19=\E[18;2~,
|
|
||||||
kf2=\EOQ,
|
kf2=\EOQ,
|
||||||
kf20=\E[19;2~,
|
|
||||||
kf21=\E[20;2~,
|
|
||||||
kf22=\E[21;2~,
|
|
||||||
kf23=\E[23;2~,
|
|
||||||
kf24=\E[24;2~,
|
|
||||||
kf25=\E[1;5P,
|
|
||||||
kf26=\E[1;5Q,
|
|
||||||
kf27=\E[1;5R,
|
|
||||||
kf28=\E[1;5S,
|
|
||||||
kf29=\E[15;5~,
|
|
||||||
kf3=\EOR,
|
kf3=\EOR,
|
||||||
kf30=\E[17;5~,
|
|
||||||
kf31=\E[18;5~,
|
|
||||||
kf32=\E[19;5~,
|
|
||||||
kf33=\E[20;5~,
|
|
||||||
kf34=\E[21;5~,
|
|
||||||
kf35=\E[23;5~,
|
|
||||||
kf36=\E[24;5~,
|
|
||||||
kf37=\E[1;6P,
|
|
||||||
kf38=\E[1;6Q,
|
|
||||||
kf39=\E[1;6R,
|
|
||||||
kf4=\EOS,
|
kf4=\EOS,
|
||||||
kf40=\E[1;6S,
|
|
||||||
kf41=\E[15;6~,
|
|
||||||
kf42=\E[17;6~,
|
|
||||||
kf43=\E[18;6~,
|
|
||||||
kf44=\E[19;6~,
|
|
||||||
kf45=\E[20;6~,
|
|
||||||
kf46=\E[21;6~,
|
|
||||||
kf47=\E[23;6~,
|
|
||||||
kf48=\E[24;6~,
|
|
||||||
kf49=\E[1;3P,
|
|
||||||
kf5=\E[15~,
|
kf5=\E[15~,
|
||||||
kf50=\E[1;3Q,
|
|
||||||
kf51=\E[1;3R,
|
|
||||||
kf52=\E[1;3S,
|
|
||||||
kf53=\E[15;3~,
|
|
||||||
kf54=\E[17;3~,
|
|
||||||
kf55=\E[18;3~,
|
|
||||||
kf56=\E[19;3~,
|
|
||||||
kf57=\E[20;3~,
|
|
||||||
kf58=\E[21;3~,
|
|
||||||
kf59=\E[23;3~,
|
|
||||||
kf6=\E[17~,
|
kf6=\E[17~,
|
||||||
kf60=\E[24;3~,
|
|
||||||
kf61=\E[1;4P,
|
|
||||||
kf62=\E[1;4Q,
|
|
||||||
kf63=\E[1;4R,
|
|
||||||
kf7=\E[18~,
|
kf7=\E[18~,
|
||||||
kf8=\E[19~,
|
kf8=\E[19~,
|
||||||
kf9=\E[20~,
|
kf9=\E[20~,
|
||||||
|
kf10=\E[21~,
|
||||||
|
kf11=\E[23~,
|
||||||
|
kf12=\E[24~,
|
||||||
khome=\EOH,
|
khome=\EOH,
|
||||||
|
kend=\EOF,
|
||||||
kich1=\E[2~,
|
kich1=\E[2~,
|
||||||
kind=\E[1;2B,
|
kdch1=\E[3~,
|
||||||
kmous=\E[M,
|
kmous=\E[M,
|
||||||
knp=\E[6~,
|
knp=\E[6~,
|
||||||
kpp=\E[5~,
|
kpp=\E[5~,
|
||||||
|
|||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user