1 // Copyright 2016 The Fuchsia Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #pragma once 6 7 // These codes are defined in: 8 // "Universal Serial Bus HID Usage Tables" 9 // http://www.usb.org/developers/hidpage/Hut1_12v2.pdf 10 // (Version 1.12, 10/28/2004) 11 // See "Table 12: Keyboard/Keypad Page" 12 13 enum { 14 HID_USAGE_KEY_ERROR_ROLLOVER = 0x01, 15 HID_USAGE_KEY_POST_FAIL = 0x02, 16 HID_USAGE_KEY_ERROR_UNDEF = 0x03, 17 HID_USAGE_KEY_A = 0x04, 18 HID_USAGE_KEY_B = 0x05, 19 HID_USAGE_KEY_C = 0x06, 20 HID_USAGE_KEY_D = 0x07, 21 HID_USAGE_KEY_E = 0x08, 22 HID_USAGE_KEY_F = 0x09, 23 HID_USAGE_KEY_G = 0x0a, 24 HID_USAGE_KEY_H = 0x0b, 25 HID_USAGE_KEY_I = 0x0c, 26 HID_USAGE_KEY_J = 0x0d, 27 HID_USAGE_KEY_K = 0x0e, 28 HID_USAGE_KEY_L = 0x0f, 29 HID_USAGE_KEY_M = 0x10, 30 HID_USAGE_KEY_N = 0x11, 31 HID_USAGE_KEY_O = 0x12, 32 HID_USAGE_KEY_P = 0x13, 33 HID_USAGE_KEY_Q = 0x14, 34 HID_USAGE_KEY_R = 0x15, 35 HID_USAGE_KEY_S = 0x16, 36 HID_USAGE_KEY_T = 0x17, 37 HID_USAGE_KEY_U = 0x18, 38 HID_USAGE_KEY_V = 0x19, 39 HID_USAGE_KEY_W = 0x1a, 40 HID_USAGE_KEY_X = 0x1b, 41 HID_USAGE_KEY_Y = 0x1c, 42 HID_USAGE_KEY_Z = 0x1d, 43 HID_USAGE_KEY_1 = 0x1e, 44 HID_USAGE_KEY_2 = 0x1f, 45 HID_USAGE_KEY_3 = 0x20, 46 HID_USAGE_KEY_4 = 0x21, 47 HID_USAGE_KEY_5 = 0x22, 48 HID_USAGE_KEY_6 = 0x23, 49 HID_USAGE_KEY_7 = 0x24, 50 HID_USAGE_KEY_8 = 0x25, 51 HID_USAGE_KEY_9 = 0x26, 52 HID_USAGE_KEY_0 = 0x27, 53 HID_USAGE_KEY_ENTER = 0x28, 54 HID_USAGE_KEY_ESC = 0x29, 55 HID_USAGE_KEY_BACKSPACE = 0x2a, 56 HID_USAGE_KEY_TAB = 0x2b, 57 HID_USAGE_KEY_SPACE = 0x2c, 58 HID_USAGE_KEY_MINUS = 0x2d, 59 HID_USAGE_KEY_EQUAL = 0x2e, 60 HID_USAGE_KEY_LEFTBRACE = 0x2f, 61 HID_USAGE_KEY_RIGHTBRACE = 0x30, 62 HID_USAGE_KEY_BACKSLASH = 0x31, 63 HID_USAGE_KEY_NON_US_OCTOTHORPE = 0x32, 64 HID_USAGE_KEY_SEMICOLON = 0x33, 65 HID_USAGE_KEY_APOSTROPHE = 0x34, 66 HID_USAGE_KEY_GRAVE = 0x35, 67 HID_USAGE_KEY_COMMA = 0x36, 68 HID_USAGE_KEY_DOT = 0x37, 69 HID_USAGE_KEY_SLASH = 0x38, 70 HID_USAGE_KEY_CAPSLOCK = 0x39, 71 HID_USAGE_KEY_F1 = 0x3a, 72 HID_USAGE_KEY_F2 = 0x3b, 73 HID_USAGE_KEY_F3 = 0x3c, 74 HID_USAGE_KEY_F4 = 0x3d, 75 HID_USAGE_KEY_F5 = 0x3e, 76 HID_USAGE_KEY_F6 = 0x3f, 77 HID_USAGE_KEY_F7 = 0x40, 78 HID_USAGE_KEY_F8 = 0x41, 79 HID_USAGE_KEY_F9 = 0x42, 80 HID_USAGE_KEY_F10 = 0x43, 81 HID_USAGE_KEY_F11 = 0x44, 82 HID_USAGE_KEY_F12 = 0x45, 83 HID_USAGE_KEY_PRINTSCREEN = 0x46, 84 HID_USAGE_KEY_SCROLLLOCK = 0x47, 85 HID_USAGE_KEY_PAUSE = 0x48, 86 HID_USAGE_KEY_INSERT = 0x49, 87 HID_USAGE_KEY_HOME = 0x4a, 88 HID_USAGE_KEY_PAGEUP = 0x4b, 89 HID_USAGE_KEY_DELETE = 0x4c, 90 HID_USAGE_KEY_END = 0x4d, 91 HID_USAGE_KEY_PAGEDOWN = 0x4e, 92 HID_USAGE_KEY_RIGHT = 0x4f, 93 HID_USAGE_KEY_LEFT = 0x50, 94 HID_USAGE_KEY_DOWN = 0x51, 95 HID_USAGE_KEY_UP = 0x52, 96 HID_USAGE_KEY_NUMLOCK = 0x53, 97 HID_USAGE_KEY_KP_SLASH = 0x54, 98 HID_USAGE_KEY_KP_ASTERISK = 0x55, 99 HID_USAGE_KEY_KP_MINUS = 0x56, 100 HID_USAGE_KEY_KP_PLUS = 0x57, 101 HID_USAGE_KEY_KP_ENTER = 0x58, 102 HID_USAGE_KEY_KP_1 = 0x59, 103 HID_USAGE_KEY_KP_2 = 0x5a, 104 HID_USAGE_KEY_KP_3 = 0x5b, 105 HID_USAGE_KEY_KP_4 = 0x5c, 106 HID_USAGE_KEY_KP_5 = 0x5d, 107 HID_USAGE_KEY_KP_6 = 0x5e, 108 HID_USAGE_KEY_KP_7 = 0x5f, 109 HID_USAGE_KEY_KP_8 = 0x60, 110 HID_USAGE_KEY_KP_9 = 0x61, 111 HID_USAGE_KEY_KP_0 = 0x62, 112 HID_USAGE_KEY_KP_DOT = 0x63, 113 HID_USAGE_KEY_NON_US_BACKSLASH = 0x64, 114 115 // TODO: other keys 116 117 HID_USAGE_KEY_LEFT_CTRL = 0xe0, 118 HID_USAGE_KEY_LEFT_SHIFT = 0xe1, 119 HID_USAGE_KEY_LEFT_ALT = 0xe2, 120 HID_USAGE_KEY_LEFT_GUI = 0xe3, 121 HID_USAGE_KEY_RIGHT_CTRL = 0xe4, 122 HID_USAGE_KEY_RIGHT_SHIFT = 0xe5, 123 HID_USAGE_KEY_RIGHT_ALT = 0xe6, 124 HID_USAGE_KEY_RIGHT_GUI = 0xe7, 125 HID_USAGE_KEY_VOL_DOWN = 0xe8, 126 HID_USAGE_KEY_VOL_UP = 0xe9, 127 }; 128