Mimic behavior of xterm when pressing Ctrl+<key>

Where <key> is one of ,.;'-=

These dont map to control codes, xterm and libvte just ignore the Ctrl
and echo the key as if control was not pressed. Mimic that behavior
This commit is contained in:
Kovid Goyal 2017-05-22 21:09:20 +05:30
parent 38d2839206
commit ad21c7ed0f
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -51,6 +51,17 @@ for f in range(1, 13):
alt_codes[kf] = modify_complex_key(kn, 3) alt_codes[kf] = modify_complex_key(kn, 3)
shift_alt_codes[kf] = modify_complex_key(kn, 4) shift_alt_codes[kf] = modify_complex_key(kn, 4)
control_codes[kf] = modify_complex_key(kn, 5) control_codes[kf] = modify_complex_key(kn, 5)
f = {k: k for k in '0123456789'}
f.update({
'COMMA': ',',
'PERIOD': '.',
'SEMICOLON': ';',
'APOSTROPHE': "'",
'MINUS': '-',
'EQUAL': '=',
})
for kf, kn in f.items():
control_codes[getattr(defines, 'GLFW_KEY_' + kf)] = (ord(kn),)
del f, kf, kn del f, kf, kn
smkx_key_map[defines.GLFW_KEY_ESCAPE] = b'\033' smkx_key_map[defines.GLFW_KEY_ESCAPE] = b'\033'