From 5675944c0cc758d077108456dea619656f37c10a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 15 Feb 2021 05:33:57 +0530 Subject: [PATCH] Recognize remaining ASCII keys for legacy mode as well --- kitty/key_encoding.c | 20 ++++++++++++++++++++ kitty_tests/keys.py | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/kitty/key_encoding.c b/kitty/key_encoding.c index 52c01d7eb..eb69e5fcc 100644 --- a/kitty/key_encoding.c +++ b/kitty/key_encoding.c @@ -296,18 +296,38 @@ is_legacy_ascii_key(uint32_t key) { switch (key) { case 'a' ... 'z': case '0' ... '9': + case '!': + case '@': + case '#': + case '$': + case '%': + case '^': + case '&': + case '*': + case '(': + case ')': case '`': + case '~': case '-': + case '_': case '=': + case '+': case '[': + case '{': case ']': + case '}': case '\\': + case '|': case ';': case ':': case '\'': + case '"': case ',': + case '<': case '.': + case '>': case '/': + case '?': case ' ': return true; default: diff --git a/kitty_tests/keys.py b/kitty_tests/keys.py index c7a6f32c6..23f06c951 100644 --- a/kitty_tests/keys.py +++ b/kitty_tests/keys.py @@ -392,7 +392,8 @@ def a(a, b): # }}} ae(enc(key=ord(':'), shifted_key=ord('/'), mods=shift | alt), '\x1b/') - ae(enc(key=ord(':'), mods=alt), '\x1b:') + for key in '~!@#$%^&*()_+{}|:"<>?': + ae(enc(key=ord(key), mods=alt), '\x1b' + key) ae(enc(key=ord(' ')), ' ') ae(enc(key=ord(' '), mods=ctrl), '\0') ae(enc(key=ord(' '), mods=alt), '\x1b ')