diff --git a/glfw/glfw3.h b/glfw/glfw3.h index ff3390a1a..0d210c9fb 100644 --- a/glfw/glfw3.h +++ b/glfw/glfw3.h @@ -394,6 +394,8 @@ extern "C" { #define GLFW_KEY_PLUS 163 #define GLFW_KEY_UNDERSCORE 164 +#define GLFW_KEY_LAST_PRINTABLE GLFW_KEY_UNDERSCORE + /* Function keys */ #define GLFW_KEY_ESCAPE 256 #define GLFW_KEY_ENTER 257 diff --git a/glfw/input.c b/glfw/input.c index 0d6a482b8..fd747a761 100644 --- a/glfw/input.c +++ b/glfw/input.c @@ -691,7 +691,7 @@ GLFWAPI const char* glfwGetKeyName(int key, int scancode) { if (key != GLFW_KEY_KP_EQUAL && (key < GLFW_KEY_KP_0 || key > GLFW_KEY_KP_ADD) && - (key < GLFW_KEY_APOSTROPHE || key > GLFW_KEY_WORLD_2)) + (key < GLFW_KEY_APOSTROPHE || key > GLFW_KEY_LAST_PRINTABLE)) { return NULL; } diff --git a/kitty/glfw-wrapper.h b/kitty/glfw-wrapper.h index 6417f756b..3fb90b3f1 100644 --- a/kitty/glfw-wrapper.h +++ b/kitty/glfw-wrapper.h @@ -151,6 +151,8 @@ #define GLFW_KEY_PLUS 163 #define GLFW_KEY_UNDERSCORE 164 +#define GLFW_KEY_LAST_PRINTABLE GLFW_KEY_UNDERSCORE + /* Function keys */ #define GLFW_KEY_ESCAPE 256 #define GLFW_KEY_ENTER 257 diff --git a/kitty/key_encoding.py b/kitty/key_encoding.py index edb5d2de1..adf8a7aca 100644 --- a/kitty/key_encoding.py +++ b/kitty/key_encoding.py @@ -298,7 +298,7 @@ def update_encoding(): for k in sorted(keys, key=lambda k: getattr(defines, k)): val = getattr(defines, k) name = symbolic_name(k) - if val <= defines.GLFW_KEY_LAST and name != 'LAST' and val != defines.GLFW_KEY_UNKNOWN: + if val <= defines.GLFW_KEY_LAST and name not in ('LAST', 'LAST_PRINTABLE') and val != defines.GLFW_KEY_UNKNOWN: if name not in ans: ans[name] = encode(i) i += 1