Skip to content

Instantly share code, notes, and snippets.

@namandixit
Created October 8, 2024 03:39
Show Gist options
  • Save namandixit/06e7c52d2c9c9ef79a135f0c2d3179c0 to your computer and use it in GitHub Desktop.
Save namandixit/06e7c52d2c9c9ef79a135f0c2d3179c0 to your computer and use it in GitHub Desktop.
HID Keyboard Keys
/*
* The values in this enumeration are based on the HID Usage Tables for Universal Serial Bus (USB):
* https://usb.org/sites/default/files/hut1_4.pdf (Keyboard/Keypad page 0x07)
*/
/* Enum Usage ID String */
KEYBOARD_HID_USAGE_ENTRY( RESERVED, 0, "Reserved(0)" )
KEYBOARD_HID_USAGE_ENTRY( ERROR_ROLL_OVER, 1, "ErrorRollOver" )
KEYBOARD_HID_USAGE_ENTRY( POST_FAIL, 2, "PostFail" )
KEYBOARD_HID_USAGE_ENTRY( ERROR_UNDEFINED, 3, "ErrorUndefined" )
KEYBOARD_HID_USAGE_ENTRY( A, 4, "A" )
KEYBOARD_HID_USAGE_ENTRY( B, 5, "B" )
KEYBOARD_HID_USAGE_ENTRY( C, 6, "C" )
KEYBOARD_HID_USAGE_ENTRY( D, 7, "D" )
KEYBOARD_HID_USAGE_ENTRY( E, 8, "E" )
KEYBOARD_HID_USAGE_ENTRY( F, 9, "F" )
KEYBOARD_HID_USAGE_ENTRY( G, 10, "G" )
KEYBOARD_HID_USAGE_ENTRY( H, 11, "H" )
KEYBOARD_HID_USAGE_ENTRY( I, 12, "I" )
KEYBOARD_HID_USAGE_ENTRY( J, 13, "J" )
KEYBOARD_HID_USAGE_ENTRY( K, 14, "K" )
KEYBOARD_HID_USAGE_ENTRY( L, 15, "L" )
KEYBOARD_HID_USAGE_ENTRY( M, 16, "M" )
KEYBOARD_HID_USAGE_ENTRY( N, 17, "N" )
KEYBOARD_HID_USAGE_ENTRY( O, 18, "O" )
KEYBOARD_HID_USAGE_ENTRY( P, 19, "P" )
KEYBOARD_HID_USAGE_ENTRY( Q, 20, "Q" )
KEYBOARD_HID_USAGE_ENTRY( R, 21, "R" )
KEYBOARD_HID_USAGE_ENTRY( S, 22, "S" )
KEYBOARD_HID_USAGE_ENTRY( T, 23, "T" )
KEYBOARD_HID_USAGE_ENTRY( U, 24, "U" )
KEYBOARD_HID_USAGE_ENTRY( V, 25, "V" )
KEYBOARD_HID_USAGE_ENTRY( W, 26, "W" )
KEYBOARD_HID_USAGE_ENTRY( X, 27, "X" )
KEYBOARD_HID_USAGE_ENTRY( Y, 28, "Y" )
KEYBOARD_HID_USAGE_ENTRY( Z, 29, "Z" )
KEYBOARD_HID_USAGE_ENTRY( 1, 30, "1" )
KEYBOARD_HID_USAGE_ENTRY( 2, 31, "2" )
KEYBOARD_HID_USAGE_ENTRY( 3, 32, "3" )
KEYBOARD_HID_USAGE_ENTRY( 4, 33, "4" )
KEYBOARD_HID_USAGE_ENTRY( 5, 34, "5" )
KEYBOARD_HID_USAGE_ENTRY( 6, 35, "6" )
KEYBOARD_HID_USAGE_ENTRY( 7, 36, "7" )
KEYBOARD_HID_USAGE_ENTRY( 8, 37, "8" )
KEYBOARD_HID_USAGE_ENTRY( 9, 38, "9" )
KEYBOARD_HID_USAGE_ENTRY( 0, 39, "0" )
KEYBOARD_HID_USAGE_ENTRY( RETURN, 40, "Return" )
KEYBOARD_HID_USAGE_ENTRY( ESCAPE, 41, "Escape" )
KEYBOARD_HID_USAGE_ENTRY( BACKSPACE, 42, "Backspace" )
KEYBOARD_HID_USAGE_ENTRY( TAB, 43, "Tab" )
KEYBOARD_HID_USAGE_ENTRY( SPACE, 44, "Space" )
KEYBOARD_HID_USAGE_ENTRY( MINUS, 45, "-" )
KEYBOARD_HID_USAGE_ENTRY( EQUALS, 46, "=" )
KEYBOARD_HID_USAGE_ENTRY( LEFT_BRACKET, 47, "[" )
KEYBOARD_HID_USAGE_ENTRY( RIGHT_BRACKET, 48, "]" )
KEYBOARD_HID_USAGE_ENTRY( BACKSLASH, 49, "\\" )
KEYBOARD_HID_USAGE_ENTRY( NON_US_HASH, 50, "NonUS(#)" )
KEYBOARD_HID_USAGE_ENTRY( SEMICOLON, 51, ";" )
KEYBOARD_HID_USAGE_ENTRY( APOSTROPHE, 52, "'" )
KEYBOARD_HID_USAGE_ENTRY( GRAVE, 53, "`" )
KEYBOARD_HID_USAGE_ENTRY( COMMA, 54, "," )
KEYBOARD_HID_USAGE_ENTRY( PERIOD, 55, "." )
KEYBOARD_HID_USAGE_ENTRY( SLASH, 56, "/" )
KEYBOARD_HID_USAGE_ENTRY( CAPSLOCK, 57, "CapsLock" )
KEYBOARD_HID_USAGE_ENTRY( F1, 58, "F1" )
KEYBOARD_HID_USAGE_ENTRY( F2, 59, "F2" )
KEYBOARD_HID_USAGE_ENTRY( F3, 60, "F3" )
KEYBOARD_HID_USAGE_ENTRY( F4, 61, "F4" )
KEYBOARD_HID_USAGE_ENTRY( F5, 62, "F5" )
KEYBOARD_HID_USAGE_ENTRY( F6, 63, "F6" )
KEYBOARD_HID_USAGE_ENTRY( F7, 64, "F7" )
KEYBOARD_HID_USAGE_ENTRY( F8, 65, "F8" )
KEYBOARD_HID_USAGE_ENTRY( F9, 66, "F9" )
KEYBOARD_HID_USAGE_ENTRY( F10, 67, "F10" )
KEYBOARD_HID_USAGE_ENTRY( F11, 68, "F11" )
KEYBOARD_HID_USAGE_ENTRY( F12, 69, "F12" )
KEYBOARD_HID_USAGE_ENTRY( PRINT_SCREEN, 70, "PrintScreen" )
KEYBOARD_HID_USAGE_ENTRY( SCROLL_LOCK, 71, "ScrollLock" )
KEYBOARD_HID_USAGE_ENTRY( PAUSE, 72, "Pause" )
KEYBOARD_HID_USAGE_ENTRY( INSERT, 73, "Insert" )
KEYBOARD_HID_USAGE_ENTRY( HOME, 74, "Home" )
KEYBOARD_HID_USAGE_ENTRY( PAGE_UP, 75, "PageUp" )
KEYBOARD_HID_USAGE_ENTRY( DELETE, 76, "Delete" )
KEYBOARD_HID_USAGE_ENTRY( END, 77, "End" )
KEYBOARD_HID_USAGE_ENTRY( PAGE_DOWN, 78, "PageDown" )
KEYBOARD_HID_USAGE_ENTRY( RIGHT_ARROW, 79, "RightArrow" )
KEYBOARD_HID_USAGE_ENTRY( LEFT_ARROW, 80, "LeftArrow" )
KEYBOARD_HID_USAGE_ENTRY( DOWN_ARROW, 81, "DownArrow" )
KEYBOARD_HID_USAGE_ENTRY( UP_ARROW, 82, "UpArrow" )
KEYBOARD_HID_USAGE_ENTRY( NUM_LOCK, 83, "NumLock" )
KEYBOARD_HID_USAGE_ENTRY( KP_DIVIDE, 84, "Keypad(/)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MULTIPLY, 85, "Keypad(*)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MINUS, 86, "Keypad(-)" )
KEYBOARD_HID_USAGE_ENTRY( KP_PLUS, 87, "Keypad(+)" )
KEYBOARD_HID_USAGE_ENTRY( KP_ENTER, 88, "Keypad(Enter)" )
KEYBOARD_HID_USAGE_ENTRY( KP_1, 89, "Keypad(1)" )
KEYBOARD_HID_USAGE_ENTRY( KP_2, 90, "Keypad(2)" )
KEYBOARD_HID_USAGE_ENTRY( KP_3, 91, "Keypad(3)" )
KEYBOARD_HID_USAGE_ENTRY( KP_4, 92, "Keypad(4)" )
KEYBOARD_HID_USAGE_ENTRY( KP_5, 93, "Keypad(5)" )
KEYBOARD_HID_USAGE_ENTRY( KP_6, 94, "Keypad(6)" )
KEYBOARD_HID_USAGE_ENTRY( KP_7, 95, "Keypad(7)" )
KEYBOARD_HID_USAGE_ENTRY( KP_8, 96, "Keypad(8)" )
KEYBOARD_HID_USAGE_ENTRY( KP_9, 97, "Keypad(9)" )
KEYBOARD_HID_USAGE_ENTRY( KP_0, 98, "Keypad(0)" )
KEYBOARD_HID_USAGE_ENTRY( KP_PERIOD, 99, "Keypad(.)" )
KEYBOARD_HID_USAGE_ENTRY( NON_US_BACKSLASH, 100, "NonUS(\\)" )
KEYBOARD_HID_USAGE_ENTRY( APPLICATION, 101, "Application/Compose" )
KEYBOARD_HID_USAGE_ENTRY( POWER, 102, "Power" )
KEYBOARD_HID_USAGE_ENTRY( KP_EQUALS, 103, "Keypad(=)" )
KEYBOARD_HID_USAGE_ENTRY( F13, 104, "F13" )
KEYBOARD_HID_USAGE_ENTRY( F14, 105, "F14" )
KEYBOARD_HID_USAGE_ENTRY( F15, 106, "F15" )
KEYBOARD_HID_USAGE_ENTRY( F16, 107, "F16" )
KEYBOARD_HID_USAGE_ENTRY( F17, 108, "F17" )
KEYBOARD_HID_USAGE_ENTRY( F18, 109, "F18" )
KEYBOARD_HID_USAGE_ENTRY( F19, 110, "F19" )
KEYBOARD_HID_USAGE_ENTRY( F20, 111, "F20" )
KEYBOARD_HID_USAGE_ENTRY( F21, 112, "F21" )
KEYBOARD_HID_USAGE_ENTRY( F22, 113, "F22" )
KEYBOARD_HID_USAGE_ENTRY( F23, 114, "F23" )
KEYBOARD_HID_USAGE_ENTRY( F24, 115, "F24" )
KEYBOARD_HID_USAGE_ENTRY( EXECUTE, 116, "Execute" )
KEYBOARD_HID_USAGE_ENTRY( HELP, 117, "Help" )
KEYBOARD_HID_USAGE_ENTRY( MENU, 118, "Menu" )
KEYBOARD_HID_USAGE_ENTRY( SELECT, 119, "Select" )
KEYBOARD_HID_USAGE_ENTRY( STOP, 120, "Stop" )
KEYBOARD_HID_USAGE_ENTRY( AGAIN, 121, "Redo" )
KEYBOARD_HID_USAGE_ENTRY( UNDO, 122, "Undo" )
KEYBOARD_HID_USAGE_ENTRY( CUT, 123, "Cut" )
KEYBOARD_HID_USAGE_ENTRY( COPY, 124, "Copy" )
KEYBOARD_HID_USAGE_ENTRY( PASTE, 125, "Paste" )
KEYBOARD_HID_USAGE_ENTRY( FIND, 126, "Find" )
KEYBOARD_HID_USAGE_ENTRY( MUTE, 127, "Mute" )
KEYBOARD_HID_USAGE_ENTRY( VOLUME_UP, 128, "VolumeUp" )
KEYBOARD_HID_USAGE_ENTRY( VOLUME_DOWN, 129, "VolumeDown" )
KEYBOARD_HID_USAGE_ENTRY( LOCKING_CAPS_LOCK, 130, "LockingCaps" ) /* Legacy Key */
KEYBOARD_HID_USAGE_ENTRY( LOCKING_NUM_LOCK, 131, "LockingNum" ) /* Legacy Key */
KEYBOARD_HID_USAGE_ENTRY( LOCKING_SCROLL_LOCK, 132, "LockingScroll" ) /* Legacy Key */
KEYBOARD_HID_USAGE_ENTRY( KP_COMMA, 133, "Keypad(,)" )
KEYBOARD_HID_USAGE_ENTRY( KP_EQUALS_AS400, 134, "Keypad(=)(AS400)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL1, 135, "InterNational1(ろ)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL2, 136, "InterNational2(カ)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL3, 137, "InterNational3(¥)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL4, 138, "InterNational4(前)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL5, 139, "InterNational5(無)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL6, 140, "InterNational6(ソ)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL7, 141, "InterNational7(ToggleCharWchar)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL8, 142, "InterNational8(Undefined)" )
KEYBOARD_HID_USAGE_ENTRY( INTERNATIONAL9, 143, "InterNational9(Undefined)" )
KEYBOARD_HID_USAGE_ENTRY( LANG1, 144, "Korean(HangulEnglishToggle)" )
KEYBOARD_HID_USAGE_ENTRY( LANG2, 145, "Korean(HanjaCoversion)" )
KEYBOARD_HID_USAGE_ENTRY( LANG3, 146, "Japanese(Katakana)" )
KEYBOARD_HID_USAGE_ENTRY( LANG4, 147, "Japanese(Hiragana)" )
KEYBOARD_HID_USAGE_ENTRY( LANG5, 148, "Japanese(Zenkaku/Hankaku)" )
KEYBOARD_HID_USAGE_ENTRY( LANG6, 149, "Lang6(Reserved)" )
KEYBOARD_HID_USAGE_ENTRY( LANG7, 150, "Lang7(Reserved)" )
KEYBOARD_HID_USAGE_ENTRY( LANG8, 151, "Lang8(Reserved)" )
KEYBOARD_HID_USAGE_ENTRY( LANG9, 152, "Lang9(Reserved)" )
KEYBOARD_HID_USAGE_ENTRY( ALTERNATE_ERASE, 153, "AlternateErase" )
KEYBOARD_HID_USAGE_ENTRY( SYS_REQ, 154, "SysReq" )
KEYBOARD_HID_USAGE_ENTRY( CANCEL, 155, "Cancel" )
KEYBOARD_HID_USAGE_ENTRY( CLEAR, 156, "Clear" )
KEYBOARD_HID_USAGE_ENTRY( PRIOR, 157, "Prior" )
KEYBOARD_HID_USAGE_ENTRY( RETURN2, 158, "Return" )
KEYBOARD_HID_USAGE_ENTRY( SEPARATOR, 159, "Separator" )
KEYBOARD_HID_USAGE_ENTRY( OUT, 160, "Out" )
KEYBOARD_HID_USAGE_ENTRY( OPER, 161, "Oper" )
KEYBOARD_HID_USAGE_ENTRY( CLEAR_AGAIN, 162, "Clear/Again" )
KEYBOARD_HID_USAGE_ENTRY( CRSEL_PROPS, 163, "CrSel/Props" )
KEYBOARD_HID_USAGE_ENTRY( EXSEL, 164, "ExSel" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_165, 165, "Reserved(165)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_166, 166, "Reserved(166)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_167, 167, "Reserved(167)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_168, 168, "Reserved(168)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_169, 169, "Reserved(169)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_170, 170, "Reserved(170)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_171, 171, "Reserved(171)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_172, 172, "Reserved(172)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_173, 173, "Reserved(173)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_174, 174, "Reserved(174)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_175, 175, "Reserved(175)" )
KEYBOARD_HID_USAGE_ENTRY( KP_00, 176, "Keypad(00)" )
KEYBOARD_HID_USAGE_ENTRY( KP_000, 177, "Keypad(000)" )
KEYBOARD_HID_USAGE_ENTRY( THOUSANDSSEPARATOR, 178, "ThousandsSeparator" )
KEYBOARD_HID_USAGE_ENTRY( DECIMALSEPARATOR, 179, "DecimalSeparator" )
KEYBOARD_HID_USAGE_ENTRY( CURRENCY_UNIT, 180, "CurrencyUnit" )
KEYBOARD_HID_USAGE_ENTRY( CURRENCY_SUB_UNIT, 181, "CurrencySubUnit" )
KEYBOARD_HID_USAGE_ENTRY( KP_LEFT_PARENTHESIS, 182, "Keypad(()" )
KEYBOARD_HID_USAGE_ENTRY( KP_RIGHT_PARENTHESIS, 183, "Keypad())" )
KEYBOARD_HID_USAGE_ENTRY( KP_LEFT_BRACE, 184, "Keypad({)" )
KEYBOARD_HID_USAGE_ENTRY( KP_RIGHT_BRACE, 185, "Keypad(})" )
KEYBOARD_HID_USAGE_ENTRY( KP_TAB, 186, "Keypad(Tab)" )
KEYBOARD_HID_USAGE_ENTRY( KP_BACKSPACE, 187, "Keypad(Backspace)" )
KEYBOARD_HID_USAGE_ENTRY( KP_A, 188, "Keypad(A)" )
KEYBOARD_HID_USAGE_ENTRY( KP_B, 189, "Keypad(B)" )
KEYBOARD_HID_USAGE_ENTRY( KP_C, 190, "Keypad(C)" )
KEYBOARD_HID_USAGE_ENTRY( KP_D, 191, "Keypad(D)" )
KEYBOARD_HID_USAGE_ENTRY( KP_E, 192, "Keypad(E)" )
KEYBOARD_HID_USAGE_ENTRY( KP_F, 193, "Keypad(F)" )
KEYBOARD_HID_USAGE_ENTRY( KP_XOR, 194, "Keypad(XOR)" )
KEYBOARD_HID_USAGE_ENTRY( KP_POWER, 195, "Keypad(^)" )
KEYBOARD_HID_USAGE_ENTRY( KP_PERCENT, 196, "Keypad(%)" )
KEYBOARD_HID_USAGE_ENTRY( KP_LESS, 197, "Keypad(<)" )
KEYBOARD_HID_USAGE_ENTRY( KP_GREATER, 198, "Keypad(>)" )
KEYBOARD_HID_USAGE_ENTRY( KP_AMPERSAND, 199, "Keypad(&)" )
KEYBOARD_HID_USAGE_ENTRY( KP_DOUBLE_AMPERSAND, 200, "Keypad(&&)" )
KEYBOARD_HID_USAGE_ENTRY( KP_VERTICAL_BAR, 201, "Keypad(|)" )
KEYBOARD_HID_USAGE_ENTRY( KP_DOUBLE_VERTICAL_BAR, 202, "Keypad(||)" )
KEYBOARD_HID_USAGE_ENTRY( KP_COLON, 203, "Keypad(:)" )
KEYBOARD_HID_USAGE_ENTRY( KP_HASH, 204, "Keypad(#)" )
KEYBOARD_HID_USAGE_ENTRY( KP_SPACE, 205, "Keypad(Space)" )
KEYBOARD_HID_USAGE_ENTRY( KP_AT, 206, "Keypad(@)" )
KEYBOARD_HID_USAGE_ENTRY( KP_EXCLAM, 207, "Keypad(!)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MEMORY_STORE, 208, "Keypad(MemoryStore)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MEMORY_RECALL, 209, "Keypad(MemoryRecall)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MEMORY_CLEAR, 210, "Keypad(MemoryClear)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MEMORY_ADD, 211, "Keypad(MemoryAdd)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MEMORY_SUBTRACT, 212, "Keypad(MemorySubtract)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MEMORY_MULTIPLY, 213, "Keypad(MemoryMultiply)" )
KEYBOARD_HID_USAGE_ENTRY( KP_MEMORY_DIVIDE, 214, "Keypad(MemoryDivide)" )
KEYBOARD_HID_USAGE_ENTRY( KP_PLUS_MINUS, 215, "Keypad(+/-)" )
KEYBOARD_HID_USAGE_ENTRY( KP_CLEAR, 216, "Keypad(Clear)" )
KEYBOARD_HID_USAGE_ENTRY( KP_CLEAR_ENTRY, 217, "Keypad(ClearEntry)" )
KEYBOARD_HID_USAGE_ENTRY( KP_BINARY, 218, "Keypad(Binary)" )
KEYBOARD_HID_USAGE_ENTRY( KP_OCTAL, 219, "Keypad(Octal)" )
KEYBOARD_HID_USAGE_ENTRY( KP_DECIMAL, 220, "Keypad(Decimal)" )
KEYBOARD_HID_USAGE_ENTRY( KP_HEXADECIMAL, 221, "Keypad(Hexadecimal)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_222, 222, "Reserved(222)" )
KEYBOARD_HID_USAGE_ENTRY( RESERVED_223, 223, "Reserved(223)" )
KEYBOARD_HID_USAGE_ENTRY( LEFT_CONTROL, 224, "LeftControl" )
KEYBOARD_HID_USAGE_ENTRY( LEFT_SHIFT, 225, "LeftShift" )
KEYBOARD_HID_USAGE_ENTRY( LEFT_ALT, 226, "LeftAlt" )
KEYBOARD_HID_USAGE_ENTRY( LEFT_GUI, 227, "LeftGUI" )
KEYBOARD_HID_USAGE_ENTRY( RIGHT_CTRL, 228, "RightCtrl" )
KEYBOARD_HID_USAGE_ENTRY( RIGHT_SHIFT, 229, "RightShift" )
KEYBOARD_HID_USAGE_ENTRY( RIGHT_ALT, 230, "RightAlt" )
KEYBOARD_HID_USAGE_ENTRY( RIGHT_GUI, 231, "RightGUI" )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment