Files
LookingGlass/client/src/kb_hid.c
2026-11-06 14:34:25 +11:00

172 lines
5.8 KiB
C

/**
* Looking Glass
* Copyright © 2017-2026 The Looking Glass Authors
* https://looking-glass.io
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc., 59
* Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "kb.h"
const uint8_t lg_keycode_to_hid[LG_KEY_MAX] =
{
[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,
};