[client] input: add platform-neutral keycodes

This commit is contained in:
Geoffrey McRae
2026-09-12 10:12:18 +10:00
parent 382f35e503
commit 7ea69f3d1c
26 changed files with 1412 additions and 1000 deletions

View File

@@ -20,152 +20,152 @@
#include "kb.h"
const uint8_t linux_to_hid[KEY_MAX] =
const uint8_t lg_keycode_to_hid[LG_KEY_MAX] =
{
[KEY_ESC] = 41,
[KEY_1] = 30,
[KEY_2] = 31,
[KEY_3] = 32,
[KEY_4] = 33,
[KEY_5] = 34,
[KEY_6] = 35,
[KEY_7] = 36,
[KEY_8] = 37,
[KEY_9] = 38,
[KEY_0] = 39,
[KEY_MINUS] = 45,
[KEY_EQUAL] = 46,
[KEY_BACKSPACE] = 42,
[KEY_TAB] = 43,
[KEY_Q] = 20,
[KEY_W] = 26,
[KEY_E] = 8,
[KEY_R] = 21,
[KEY_T] = 23,
[KEY_Y] = 28,
[KEY_U] = 24,
[KEY_I] = 12,
[KEY_O] = 18,
[KEY_P] = 19,
[KEY_LEFTBRACE] = 47,
[KEY_RIGHTBRACE] = 48,
[KEY_ENTER] = 40,
[KEY_LEFTCTRL] = 224,
[KEY_A] = 4,
[KEY_S] = 22,
[KEY_D] = 7,
[KEY_F] = 9,
[KEY_G] = 10,
[KEY_H] = 11,
[KEY_J] = 13,
[KEY_K] = 14,
[KEY_L] = 15,
[KEY_SEMICOLON] = 51,
[KEY_APOSTROPHE] = 52,
[KEY_GRAVE] = 53,
[KEY_LEFTSHIFT] = 225,
[KEY_BACKSLASH] = 49,
[KEY_Z] = 29,
[KEY_X] = 27,
[KEY_C] = 6,
[KEY_V] = 25,
[KEY_B] = 5,
[KEY_N] = 17,
[KEY_M] = 16,
[KEY_COMMA] = 54,
[KEY_DOT] = 55,
[KEY_SLASH] = 56,
[KEY_RIGHTSHIFT] = 229,
[KEY_KPASTERISK] = 85,
[KEY_LEFTALT] = 226,
[KEY_SPACE] = 44,
[KEY_CAPSLOCK] = 57,
[KEY_F1] = 58,
[KEY_F2] = 59,
[KEY_F3] = 60,
[KEY_F4] = 61,
[KEY_F5] = 62,
[KEY_F6] = 63,
[KEY_F7] = 64,
[KEY_F8] = 65,
[KEY_F9] = 66,
[KEY_F10] = 67,
[KEY_NUMLOCK] = 83,
[KEY_SCROLLLOCK] = 71,
[KEY_KP7] = 95,
[KEY_KP8] = 96,
[KEY_KP9] = 97,
[KEY_KPMINUS] = 86,
[KEY_KP4] = 92,
[KEY_KP5] = 93,
[KEY_KP6] = 94,
[KEY_KPPLUS] = 87,
[KEY_KP1] = 89,
[KEY_KP2] = 90,
[KEY_KP3] = 91,
[KEY_KP0] = 98,
[KEY_KPDOT] = 99,
[KEY_102ND] = 100,
[KEY_F11] = 68,
[KEY_F12] = 69,
[KEY_RO] = 135,
[KEY_HENKAN] = 138,
[KEY_KATAKANAHIRAGANA] = 136,
[KEY_MUHENKAN] = 139,
[KEY_KPENTER] = 88,
[KEY_RIGHTCTRL] = 228,
[KEY_KPSLASH] = 84,
[KEY_SYSRQ] = 70,
[KEY_RIGHTALT] = 230,
[KEY_HOME] = 74,
[KEY_UP] = 82,
[KEY_PAGEUP] = 75,
[KEY_LEFT] = 80,
[KEY_RIGHT] = 79,
[KEY_END] = 77,
[KEY_DOWN] = 81,
[KEY_PAGEDOWN] = 78,
[KEY_INSERT] = 73,
[KEY_DELETE] = 76,
[KEY_KPEQUAL] = 103,
[KEY_PAUSE] = 72,
[KEY_KPCOMMA] = 133,
[KEY_HANGEUL] = 144,
[KEY_HANJA] = 145,
[KEY_YEN] = 137,
[KEY_LEFTMETA] = 227,
[KEY_RIGHTMETA] = 231,
[KEY_COMPOSE] = 101,
[KEY_POWER] = 102,
[KEY_F13] = 104,
[KEY_F14] = 105,
[KEY_F15] = 106,
[KEY_F16] = 107,
[KEY_F17] = 108,
[KEY_F18] = 109,
[KEY_F19] = 110,
[KEY_F20] = 111,
[KEY_F21] = 112,
[KEY_F22] = 113,
[KEY_F23] = 114,
[KEY_F24] = 115,
[KEY_OPEN] = 116,
[KEY_HELP] = 117,
[KEY_MENU] = 118,
[KEY_FRONT] = 119,
[KEY_AGAIN] = 121,
[KEY_UNDO] = 122,
[KEY_CUT] = 123,
[KEY_COPY] = 124,
[KEY_PASTE] = 125,
[KEY_KPJPCOMMA] = 140,
[KEY_KATAKANA] = 146,
[KEY_HIRAGANA] = 147,
[KEY_ZENKAKUHANKAKU] = 148,
[KEY_KPLEFTPAREN] = 182,
[KEY_KPRIGHTPAREN] = 183,
[KEY_PRINT] = 70,
[KEY_MUTE] = 127,
[KEY_VOLUMEUP] = 128,
[KEY_VOLUMEDOWN] = 129,
[LG_KEY_ESC] = 41,
[LG_KEY_1] = 30,
[LG_KEY_2] = 31,
[LG_KEY_3] = 32,
[LG_KEY_4] = 33,
[LG_KEY_5] = 34,
[LG_KEY_6] = 35,
[LG_KEY_7] = 36,
[LG_KEY_8] = 37,
[LG_KEY_9] = 38,
[LG_KEY_0] = 39,
[LG_KEY_MINUS] = 45,
[LG_KEY_EQUAL] = 46,
[LG_KEY_BACKSPACE] = 42,
[LG_KEY_TAB] = 43,
[LG_KEY_Q] = 20,
[LG_KEY_W] = 26,
[LG_KEY_E] = 8,
[LG_KEY_R] = 21,
[LG_KEY_T] = 23,
[LG_KEY_Y] = 28,
[LG_KEY_U] = 24,
[LG_KEY_I] = 12,
[LG_KEY_O] = 18,
[LG_KEY_P] = 19,
[LG_KEY_LEFTBRACE] = 47,
[LG_KEY_RIGHTBRACE] = 48,
[LG_KEY_ENTER] = 40,
[LG_KEY_LEFTCTRL] = 224,
[LG_KEY_A] = 4,
[LG_KEY_S] = 22,
[LG_KEY_D] = 7,
[LG_KEY_F] = 9,
[LG_KEY_G] = 10,
[LG_KEY_H] = 11,
[LG_KEY_J] = 13,
[LG_KEY_K] = 14,
[LG_KEY_L] = 15,
[LG_KEY_SEMICOLON] = 51,
[LG_KEY_APOSTROPHE] = 52,
[LG_KEY_GRAVE] = 53,
[LG_KEY_LEFTSHIFT] = 225,
[LG_KEY_BACKSLASH] = 49,
[LG_KEY_Z] = 29,
[LG_KEY_X] = 27,
[LG_KEY_C] = 6,
[LG_KEY_V] = 25,
[LG_KEY_B] = 5,
[LG_KEY_N] = 17,
[LG_KEY_M] = 16,
[LG_KEY_COMMA] = 54,
[LG_KEY_DOT] = 55,
[LG_KEY_SLASH] = 56,
[LG_KEY_RIGHTSHIFT] = 229,
[LG_KEY_KPASTERISK] = 85,
[LG_KEY_LEFTALT] = 226,
[LG_KEY_SPACE] = 44,
[LG_KEY_CAPSLOCK] = 57,
[LG_KEY_F1] = 58,
[LG_KEY_F2] = 59,
[LG_KEY_F3] = 60,
[LG_KEY_F4] = 61,
[LG_KEY_F5] = 62,
[LG_KEY_F6] = 63,
[LG_KEY_F7] = 64,
[LG_KEY_F8] = 65,
[LG_KEY_F9] = 66,
[LG_KEY_F10] = 67,
[LG_KEY_NUMLOCK] = 83,
[LG_KEY_SCROLLLOCK] = 71,
[LG_KEY_KP7] = 95,
[LG_KEY_KP8] = 96,
[LG_KEY_KP9] = 97,
[LG_KEY_KPMINUS] = 86,
[LG_KEY_KP4] = 92,
[LG_KEY_KP5] = 93,
[LG_KEY_KP6] = 94,
[LG_KEY_KPPLUS] = 87,
[LG_KEY_KP1] = 89,
[LG_KEY_KP2] = 90,
[LG_KEY_KP3] = 91,
[LG_KEY_KP0] = 98,
[LG_KEY_KPDOT] = 99,
[LG_KEY_102ND] = 100,
[LG_KEY_F11] = 68,
[LG_KEY_F12] = 69,
[LG_KEY_RO] = 135,
[LG_KEY_HENKAN] = 138,
[LG_KEY_KATAKANAHIRAGANA] = 136,
[LG_KEY_MUHENKAN] = 139,
[LG_KEY_KPENTER] = 88,
[LG_KEY_RIGHTCTRL] = 228,
[LG_KEY_KPSLASH] = 84,
[LG_KEY_SYSRQ] = 70,
[LG_KEY_RIGHTALT] = 230,
[LG_KEY_HOME] = 74,
[LG_KEY_UP] = 82,
[LG_KEY_PAGEUP] = 75,
[LG_KEY_LEFT] = 80,
[LG_KEY_RIGHT] = 79,
[LG_KEY_END] = 77,
[LG_KEY_DOWN] = 81,
[LG_KEY_PAGEDOWN] = 78,
[LG_KEY_INSERT] = 73,
[LG_KEY_DELETE] = 76,
[LG_KEY_KPEQUAL] = 103,
[LG_KEY_PAUSE] = 72,
[LG_KEY_KPCOMMA] = 133,
[LG_KEY_HANGEUL] = 144,
[LG_KEY_HANJA] = 145,
[LG_KEY_YEN] = 137,
[LG_KEY_LEFTMETA] = 227,
[LG_KEY_RIGHTMETA] = 231,
[LG_KEY_COMPOSE] = 101,
[LG_KEY_POWER] = 102,
[LG_KEY_F13] = 104,
[LG_KEY_F14] = 105,
[LG_KEY_F15] = 106,
[LG_KEY_F16] = 107,
[LG_KEY_F17] = 108,
[LG_KEY_F18] = 109,
[LG_KEY_F19] = 110,
[LG_KEY_F20] = 111,
[LG_KEY_F21] = 112,
[LG_KEY_F22] = 113,
[LG_KEY_F23] = 114,
[LG_KEY_F24] = 115,
[LG_KEY_OPEN] = 116,
[LG_KEY_HELP] = 117,
[LG_KEY_MENU] = 118,
[LG_KEY_FRONT] = 119,
[LG_KEY_AGAIN] = 121,
[LG_KEY_UNDO] = 122,
[LG_KEY_CUT] = 123,
[LG_KEY_COPY] = 124,
[LG_KEY_PASTE] = 125,
[LG_KEY_KPJPCOMMA] = 140,
[LG_KEY_KATAKANA] = 146,
[LG_KEY_HIRAGANA] = 147,
[LG_KEY_ZENKAKUHANKAKU] = 148,
[LG_KEY_KPLEFTPAREN] = 182,
[LG_KEY_KPRIGHTPAREN] = 183,
[LG_KEY_PRINT] = 70,
[LG_KEY_MUTE] = 127,
[LG_KEY_VOLUMEUP] = 128,
[LG_KEY_VOLUMEDOWN] = 129,
};