Add support for the keypad Begin key

Fixes #3468
This commit is contained in:
Kovid Goyal
2021-04-11 07:58:27 +05:30
parent 084b028eac
commit c989a7198b
11 changed files with 121 additions and 108 deletions

57
glfw/glfw3.h vendored
View File

@@ -428,34 +428,35 @@ typedef enum {
GLFW_FKEY_KP_END = 0xe050u,
GLFW_FKEY_KP_INSERT = 0xe051u,
GLFW_FKEY_KP_DELETE = 0xe052u,
GLFW_FKEY_MEDIA_PLAY = 0xe053u,
GLFW_FKEY_MEDIA_PAUSE = 0xe054u,
GLFW_FKEY_MEDIA_PLAY_PAUSE = 0xe055u,
GLFW_FKEY_MEDIA_REVERSE = 0xe056u,
GLFW_FKEY_MEDIA_STOP = 0xe057u,
GLFW_FKEY_MEDIA_FAST_FORWARD = 0xe058u,
GLFW_FKEY_MEDIA_REWIND = 0xe059u,
GLFW_FKEY_MEDIA_TRACK_NEXT = 0xe05au,
GLFW_FKEY_MEDIA_TRACK_PREVIOUS = 0xe05bu,
GLFW_FKEY_MEDIA_RECORD = 0xe05cu,
GLFW_FKEY_LOWER_VOLUME = 0xe05du,
GLFW_FKEY_RAISE_VOLUME = 0xe05eu,
GLFW_FKEY_MUTE_VOLUME = 0xe05fu,
GLFW_FKEY_LEFT_SHIFT = 0xe060u,
GLFW_FKEY_LEFT_CONTROL = 0xe061u,
GLFW_FKEY_LEFT_ALT = 0xe062u,
GLFW_FKEY_LEFT_SUPER = 0xe063u,
GLFW_FKEY_LEFT_HYPER = 0xe064u,
GLFW_FKEY_LEFT_META = 0xe065u,
GLFW_FKEY_RIGHT_SHIFT = 0xe066u,
GLFW_FKEY_RIGHT_CONTROL = 0xe067u,
GLFW_FKEY_RIGHT_ALT = 0xe068u,
GLFW_FKEY_RIGHT_SUPER = 0xe069u,
GLFW_FKEY_RIGHT_HYPER = 0xe06au,
GLFW_FKEY_RIGHT_META = 0xe06bu,
GLFW_FKEY_ISO_LEVEL3_SHIFT = 0xe06cu,
GLFW_FKEY_ISO_LEVEL5_SHIFT = 0xe06du,
GLFW_FKEY_LAST = 0xe06du
GLFW_FKEY_KP_BEGIN = 0xe053u,
GLFW_FKEY_MEDIA_PLAY = 0xe054u,
GLFW_FKEY_MEDIA_PAUSE = 0xe055u,
GLFW_FKEY_MEDIA_PLAY_PAUSE = 0xe056u,
GLFW_FKEY_MEDIA_REVERSE = 0xe057u,
GLFW_FKEY_MEDIA_STOP = 0xe058u,
GLFW_FKEY_MEDIA_FAST_FORWARD = 0xe059u,
GLFW_FKEY_MEDIA_REWIND = 0xe05au,
GLFW_FKEY_MEDIA_TRACK_NEXT = 0xe05bu,
GLFW_FKEY_MEDIA_TRACK_PREVIOUS = 0xe05cu,
GLFW_FKEY_MEDIA_RECORD = 0xe05du,
GLFW_FKEY_LOWER_VOLUME = 0xe05eu,
GLFW_FKEY_RAISE_VOLUME = 0xe05fu,
GLFW_FKEY_MUTE_VOLUME = 0xe060u,
GLFW_FKEY_LEFT_SHIFT = 0xe061u,
GLFW_FKEY_LEFT_CONTROL = 0xe062u,
GLFW_FKEY_LEFT_ALT = 0xe063u,
GLFW_FKEY_LEFT_SUPER = 0xe064u,
GLFW_FKEY_LEFT_HYPER = 0xe065u,
GLFW_FKEY_LEFT_META = 0xe066u,
GLFW_FKEY_RIGHT_SHIFT = 0xe067u,
GLFW_FKEY_RIGHT_CONTROL = 0xe068u,
GLFW_FKEY_RIGHT_ALT = 0xe069u,
GLFW_FKEY_RIGHT_SUPER = 0xe06au,
GLFW_FKEY_RIGHT_HYPER = 0xe06bu,
GLFW_FKEY_RIGHT_META = 0xe06cu,
GLFW_FKEY_ISO_LEVEL3_SHIFT = 0xe06du,
GLFW_FKEY_ISO_LEVEL5_SHIFT = 0xe06eu,
GLFW_FKEY_LAST = 0xe06eu
} GLFWFunctionKey;
/* end functional key names */

1
glfw/input.c vendored
View File

@@ -607,6 +607,7 @@ _glfwGetKeyName(int key)
case GLFW_FKEY_KP_END: return "KP_END";
case GLFW_FKEY_KP_INSERT: return "KP_INSERT";
case GLFW_FKEY_KP_DELETE: return "KP_DELETE";
case GLFW_FKEY_KP_BEGIN: return "KP_BEGIN";
case GLFW_FKEY_MEDIA_PLAY: return "MEDIA_PLAY";
case GLFW_FKEY_MEDIA_PAUSE: return "MEDIA_PAUSE";
case GLFW_FKEY_MEDIA_PLAY_PAUSE: return "MEDIA_PLAY_PAUSE";

2
glfw/xkb_glfw.c vendored
View File

@@ -128,6 +128,7 @@ glfw_key_for_sym(xkb_keysym_t key) {
case XKB_KEY_KP_End: return GLFW_FKEY_KP_END;
case XKB_KEY_KP_Insert: return GLFW_FKEY_KP_INSERT;
case XKB_KEY_KP_Delete: return GLFW_FKEY_KP_DELETE;
case XKB_KEY_KP_Begin: return GLFW_FKEY_KP_BEGIN;
case XKB_KEY_XF86AudioPlay: return GLFW_FKEY_MEDIA_PLAY;
case XKB_KEY_XF86AudioPause: return GLFW_FKEY_MEDIA_PAUSE;
case XKB_KEY_XF86AudioStop: return GLFW_FKEY_MEDIA_STOP;
@@ -246,6 +247,7 @@ glfw_xkb_sym_for_key(uint32_t key) {
case GLFW_FKEY_KP_END: return XKB_KEY_KP_End;
case GLFW_FKEY_KP_INSERT: return XKB_KEY_KP_Insert;
case GLFW_FKEY_KP_DELETE: return XKB_KEY_KP_Delete;
case GLFW_FKEY_KP_BEGIN: return XKB_KEY_KP_Begin;
case GLFW_FKEY_MEDIA_PLAY: return XKB_KEY_XF86AudioPlay;
case GLFW_FKEY_MEDIA_PAUSE: return XKB_KEY_XF86AudioPause;
case GLFW_FKEY_MEDIA_STOP: return XKB_KEY_XF86AudioStop;