1*b6ec842dSStephan Aßmus /* 2*b6ec842dSStephan Aßmus * Copyright 2004-2010, Haiku Inc. All Rights Reserved. 3*b6ec842dSStephan Aßmus * Distributed under the terms of the MIT License. 4*b6ec842dSStephan Aßmus */ 5*b6ec842dSStephan Aßmus #ifndef _USB_HID_PAGE_KEYBOARD_H 6*b6ec842dSStephan Aßmus #define _USB_HID_PAGE_KEYBOARD_H 7*b6ec842dSStephan Aßmus 8*b6ec842dSStephan Aßmus 9*b6ec842dSStephan Aßmus /* Reference: 10*b6ec842dSStephan Aßmus * HID Usage Page 0x07: KEYBOARD 11*b6ec842dSStephan Aßmus * HID Usage Tables Ver. 1.12 12*b6ec842dSStephan Aßmus * http://www.usb.org/developers/devclass_docs/Hut1_12.pdf 13*b6ec842dSStephan Aßmus */ 14*b6ec842dSStephan Aßmus 15*b6ec842dSStephan Aßmus // Usage IDs 16*b6ec842dSStephan Aßmus enum { 17*b6ec842dSStephan Aßmus B_HID_UID_KB_ERROR_ROLL_OVER = 0x01, 18*b6ec842dSStephan Aßmus B_HID_UID_KB_POST_FAIL, 19*b6ec842dSStephan Aßmus B_HID_UID_KB_ERROR_UNDEFINED, 20*b6ec842dSStephan Aßmus 21*b6ec842dSStephan Aßmus B_HID_UID_KB_a_AND_A = 0x04, 22*b6ec842dSStephan Aßmus B_HID_UID_KB_b_AND_B, 23*b6ec842dSStephan Aßmus B_HID_UID_KB_c_AND_C, 24*b6ec842dSStephan Aßmus B_HID_UID_KB_d_AND_D, 25*b6ec842dSStephan Aßmus B_HID_UID_KB_e_AND_E, 26*b6ec842dSStephan Aßmus B_HID_UID_KB_f_AND_F, 27*b6ec842dSStephan Aßmus B_HID_UID_KB_g_AND_G, 28*b6ec842dSStephan Aßmus B_HID_UID_KB_h_AND_H, 29*b6ec842dSStephan Aßmus B_HID_UID_KB_i_AND_I, 30*b6ec842dSStephan Aßmus B_HID_UID_KB_j_AND_J, 31*b6ec842dSStephan Aßmus B_HID_UID_KB_k_AND_K, 32*b6ec842dSStephan Aßmus B_HID_UID_KB_l_AND_L, 33*b6ec842dSStephan Aßmus B_HID_UID_KB_m_AND_M, 34*b6ec842dSStephan Aßmus B_HID_UID_KB_n_AND_N, 35*b6ec842dSStephan Aßmus B_HID_UID_KB_o_AND_O, 36*b6ec842dSStephan Aßmus B_HID_UID_KB_p_AND_P, 37*b6ec842dSStephan Aßmus B_HID_UID_KB_q_AND_Q, 38*b6ec842dSStephan Aßmus B_HID_UID_KB_r_AND_R, 39*b6ec842dSStephan Aßmus B_HID_UID_KB_s_AND_S, 40*b6ec842dSStephan Aßmus B_HID_UID_KB_t_AND_T, 41*b6ec842dSStephan Aßmus B_HID_UID_KB_u_AND_U, 42*b6ec842dSStephan Aßmus B_HID_UID_KB_v_AND_V, 43*b6ec842dSStephan Aßmus B_HID_UID_KB_w_AND_W, 44*b6ec842dSStephan Aßmus B_HID_UID_KB_x_AND_X, 45*b6ec842dSStephan Aßmus B_HID_UID_KB_y_AND_Y, 46*b6ec842dSStephan Aßmus B_HID_UID_KB_z_AND_Z, 47*b6ec842dSStephan Aßmus 48*b6ec842dSStephan Aßmus B_HID_UID_KB_1_AND_EXCLAMATION_MARK = 0x1e, 49*b6ec842dSStephan Aßmus B_HID_UID_KB_2_AND_AT, 50*b6ec842dSStephan Aßmus B_HID_UID_KB_3_AND_HASH, 51*b6ec842dSStephan Aßmus B_HID_UID_KB_4_AND_DOLLAR, 52*b6ec842dSStephan Aßmus B_HID_UID_KB_5_AND_PERCENT, 53*b6ec842dSStephan Aßmus B_HID_UID_KB_6_AND_CIRCUMFLEX, 54*b6ec842dSStephan Aßmus B_HID_UID_KB_7_AND_AMPERSAND, 55*b6ec842dSStephan Aßmus B_HID_UID_KB_8_AND_ASTERISK, 56*b6ec842dSStephan Aßmus B_HID_UID_KB_9_AND_LPAREN, 57*b6ec842dSStephan Aßmus B_HID_UID_KB_0_AND_RPAREN, 58*b6ec842dSStephan Aßmus 59*b6ec842dSStephan Aßmus B_HID_UID_KB_ENTER = 0x28, 60*b6ec842dSStephan Aßmus B_HID_UID_KB_ESCAPE, 61*b6ec842dSStephan Aßmus B_HID_UID_KB_DELETE, 62*b6ec842dSStephan Aßmus B_HID_UID_KB_TAB, 63*b6ec842dSStephan Aßmus B_HID_UID_KB_SPACEBAR, 64*b6ec842dSStephan Aßmus B_HID_UID_KB_DASH_AND_UNDERSCORE, 65*b6ec842dSStephan Aßmus B_HID_UID_KB_EQUAL_SIGN_AND_PLUS, 66*b6ec842dSStephan Aßmus B_HID_UID_KB_LBRACKET_AND_LBRACE, 67*b6ec842dSStephan Aßmus B_HID_UID_KB_RBRACKET_AND_RBRACE, 68*b6ec842dSStephan Aßmus B_HID_UID_KB_BACKSLASH_AND_PIPE, 69*b6ec842dSStephan Aßmus B_HID_UID_KB_NON_US_HASH_AND_TILDE, // some notes 70*b6ec842dSStephan Aßmus B_HID_UID_KB_SEMICOLON_AND_COLON, 71*b6ec842dSStephan Aßmus B_HID_UID_KB_APOSTROPHE_AND_QUOTATION_MARK, 72*b6ec842dSStephan Aßmus B_HID_UID_KB_GRAVE_ACCENT_AND_TILDE, 73*b6ec842dSStephan Aßmus B_HID_UID_KB_COMMA_AND_LCHEVRON, 74*b6ec842dSStephan Aßmus B_HID_UID_KB_PERIOD_AND_RCHEVRON, 75*b6ec842dSStephan Aßmus B_HID_UID_KB_SLASH_AND_QUESTION_MARK, 76*b6ec842dSStephan Aßmus B_HID_UID_KB_CAPS_LOCK, 77*b6ec842dSStephan Aßmus 78*b6ec842dSStephan Aßmus B_HID_UID_KB_F1 = 0x3a, 79*b6ec842dSStephan Aßmus B_HID_UID_KB_F2, 80*b6ec842dSStephan Aßmus B_HID_UID_KB_F3, 81*b6ec842dSStephan Aßmus B_HID_UID_KB_F4, 82*b6ec842dSStephan Aßmus B_HID_UID_KB_F5, 83*b6ec842dSStephan Aßmus B_HID_UID_KB_F6, 84*b6ec842dSStephan Aßmus B_HID_UID_KB_F7, 85*b6ec842dSStephan Aßmus B_HID_UID_KB_F8, 86*b6ec842dSStephan Aßmus B_HID_UID_KB_F9, 87*b6ec842dSStephan Aßmus B_HID_UID_KB_F10, 88*b6ec842dSStephan Aßmus B_HID_UID_KB_F11, 89*b6ec842dSStephan Aßmus B_HID_UID_KB_F12, 90*b6ec842dSStephan Aßmus 91*b6ec842dSStephan Aßmus B_HID_UID_KB_PRINT_SCREEN = 0x46, 92*b6ec842dSStephan Aßmus B_HID_UID_KB_SCROLL_LOCK, 93*b6ec842dSStephan Aßmus B_HID_UID_KB_PAUSE, 94*b6ec842dSStephan Aßmus B_HID_UID_KB_INSERT, 95*b6ec842dSStephan Aßmus B_HID_UID_KB_HOME, 96*b6ec842dSStephan Aßmus B_HID_UID_KB_PAGE_UP, 97*b6ec842dSStephan Aßmus B_HID_UID_KB_DELETE_FORWARD, 98*b6ec842dSStephan Aßmus B_HID_UID_KB_END, 99*b6ec842dSStephan Aßmus B_HID_UID_KB_PAGE_DOWN, 100*b6ec842dSStephan Aßmus B_HID_UID_KB_RIGHT_ARROW, 101*b6ec842dSStephan Aßmus B_HID_UID_KB_LEFT_ARROW, 102*b6ec842dSStephan Aßmus B_HID_UID_KB_DOWN_ARROW, 103*b6ec842dSStephan Aßmus B_HID_UID_KB_UP_ARROW, 104*b6ec842dSStephan Aßmus B_HID_UID_KB_NUM_LOCK_AND_CLEAR, 105*b6ec842dSStephan Aßmus 106*b6ec842dSStephan Aßmus B_HID_UID_KP_DIVIDE = 0x54, 107*b6ec842dSStephan Aßmus B_HID_UID_KP_MULTIPLY, 108*b6ec842dSStephan Aßmus B_HID_UID_KP_SUBTRACT, 109*b6ec842dSStephan Aßmus B_HID_UID_KP_ADD, 110*b6ec842dSStephan Aßmus B_HID_UID_KP_ENTER, 111*b6ec842dSStephan Aßmus B_HID_UID_KP_1_AND_END, 112*b6ec842dSStephan Aßmus B_HID_UID_KP_2_AND_DOWN_ARROW, 113*b6ec842dSStephan Aßmus B_HID_UID_KP_3_AND_PAGE_DOWN, 114*b6ec842dSStephan Aßmus B_HID_UID_KP_4_AND_LEFT_ARROW, 115*b6ec842dSStephan Aßmus B_HID_UID_KP_5, 116*b6ec842dSStephan Aßmus B_HID_UID_KP_6_AND_RIGHT_ARROW, 117*b6ec842dSStephan Aßmus B_HID_UID_KP_7_AND_HOME, 118*b6ec842dSStephan Aßmus B_HID_UID_KP_8_AND_UP_ARROW, 119*b6ec842dSStephan Aßmus B_HID_UID_KP_9_AND_PAGE_UP, 120*b6ec842dSStephan Aßmus B_HID_UID_KP_0_AND_INSERT, 121*b6ec842dSStephan Aßmus B_HID_UID_KP_PERIOD_AND_DELETE, 122*b6ec842dSStephan Aßmus 123*b6ec842dSStephan Aßmus B_HID_UID_KB_NON_US_BACKSLASH_AND_PIPE = 0x64, 124*b6ec842dSStephan Aßmus B_HID_UID_KB_APPLICATION, 125*b6ec842dSStephan Aßmus B_HID_UID_KB_POWER, 126*b6ec842dSStephan Aßmus 127*b6ec842dSStephan Aßmus B_HID_UID_KP_EQUAL_SIGN = 0x67, 128*b6ec842dSStephan Aßmus B_HID_UID_KB_F13, 129*b6ec842dSStephan Aßmus B_HID_UID_KB_F14, 130*b6ec842dSStephan Aßmus B_HID_UID_KB_F15, 131*b6ec842dSStephan Aßmus B_HID_UID_KB_F16, 132*b6ec842dSStephan Aßmus B_HID_UID_KB_F17, 133*b6ec842dSStephan Aßmus B_HID_UID_KB_F18, 134*b6ec842dSStephan Aßmus B_HID_UID_KB_F19, 135*b6ec842dSStephan Aßmus B_HID_UID_KB_F20, 136*b6ec842dSStephan Aßmus B_HID_UID_KB_F21, 137*b6ec842dSStephan Aßmus B_HID_UID_KB_F22, 138*b6ec842dSStephan Aßmus B_HID_UID_KB_F23, 139*b6ec842dSStephan Aßmus B_HID_UID_KB_F24, 140*b6ec842dSStephan Aßmus 141*b6ec842dSStephan Aßmus B_HID_UID_KB_EXECUTE = 0x74, 142*b6ec842dSStephan Aßmus B_HID_UID_KB_HELP, 143*b6ec842dSStephan Aßmus B_HID_UID_KB_MENU, 144*b6ec842dSStephan Aßmus B_HID_UID_KB_SELECT, 145*b6ec842dSStephan Aßmus B_HID_UID_KB_STOP, 146*b6ec842dSStephan Aßmus B_HID_UID_KB_AGAIN, 147*b6ec842dSStephan Aßmus B_HID_UID_KB_UNDO, 148*b6ec842dSStephan Aßmus B_HID_UID_KB_CUT, 149*b6ec842dSStephan Aßmus B_HID_UID_KB_COPY, 150*b6ec842dSStephan Aßmus B_HID_UID_KB_PASTE, 151*b6ec842dSStephan Aßmus B_HID_UID_KB_FIND, 152*b6ec842dSStephan Aßmus B_HID_UID_KB_MUTE, 153*b6ec842dSStephan Aßmus B_HID_UID_KB_VOLUME_UP, 154*b6ec842dSStephan Aßmus B_HID_UID_KB_VOLUME_DOWN, 155*b6ec842dSStephan Aßmus B_HID_UID_KB_LOCKING_CAPS_LOCK, 156*b6ec842dSStephan Aßmus B_HID_UID_KB_LOCKING_NUM_LOCK, 157*b6ec842dSStephan Aßmus B_HID_UID_KB_LOCKING_SCROLL_LOCK, 158*b6ec842dSStephan Aßmus 159*b6ec842dSStephan Aßmus B_HID_UID_KP_COMMA = 0x85, 160*b6ec842dSStephan Aßmus B_HID_UID_KB_EQUAL_SIGN, 161*b6ec842dSStephan Aßmus 162*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_1 = 0x87, 163*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_2, 164*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_3, 165*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_4, 166*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_5, 167*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_6, 168*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_7, 169*b6ec842dSStephan Aßmus B_HID_UID_KB_INTERNATIONAL_8, 170*b6ec842dSStephan Aßmus 171*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_1 = 0x90, 172*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_2, 173*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_3, 174*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_4, 175*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_5, 176*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_6, 177*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_7, 178*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_8, 179*b6ec842dSStephan Aßmus B_HID_UID_KB_LANG_9, 180*b6ec842dSStephan Aßmus 181*b6ec842dSStephan Aßmus B_HID_UID_KB_ALTERNATE_ERASE = 0x99, 182*b6ec842dSStephan Aßmus B_HID_UID_KB_SYSREQ_ATTENTION, 183*b6ec842dSStephan Aßmus B_HID_UID_KB_CANCEL, 184*b6ec842dSStephan Aßmus B_HID_UID_KB_CLEAR, 185*b6ec842dSStephan Aßmus B_HID_UID_KB_PRIOR, 186*b6ec842dSStephan Aßmus B_HID_UID_KB_RETURN, 187*b6ec842dSStephan Aßmus B_HID_UID_KB_SEPARATOR, 188*b6ec842dSStephan Aßmus B_HID_UID_KB_OUT, 189*b6ec842dSStephan Aßmus B_HID_UID_KB_OPER, 190*b6ec842dSStephan Aßmus B_HID_UID_KB_CLEAR_AGAIN, 191*b6ec842dSStephan Aßmus B_HID_UID_KB_CRSEL_PROPS, 192*b6ec842dSStephan Aßmus B_HID_UID_KB_EXSEL, 193*b6ec842dSStephan Aßmus 194*b6ec842dSStephan Aßmus B_HID_UID_KB_00 = 0xb0, 195*b6ec842dSStephan Aßmus B_HID_UID_KB_000, 196*b6ec842dSStephan Aßmus B_HID_UID_KB_THOUSANDS_SEPARATOR, 197*b6ec842dSStephan Aßmus B_HID_UID_KB_DECIMAL_SEPARATOR, 198*b6ec842dSStephan Aßmus B_HID_UID_KB_CURRENCY_UNIT, 199*b6ec842dSStephan Aßmus B_HID_UID_KB_CURRENCY_SUBUNIT, 200*b6ec842dSStephan Aßmus 201*b6ec842dSStephan Aßmus B_HID_UID_KP_LPAREN = 0xb6, 202*b6ec842dSStephan Aßmus B_HID_UID_KP_RPAREN, 203*b6ec842dSStephan Aßmus B_HID_UID_KP_LBRACE, 204*b6ec842dSStephan Aßmus B_HID_UID_KP_RBRACE, 205*b6ec842dSStephan Aßmus B_HID_UID_KP_TAB, 206*b6ec842dSStephan Aßmus B_HID_UID_KP_BACKSPACE, 207*b6ec842dSStephan Aßmus B_HID_UID_KP_A, 208*b6ec842dSStephan Aßmus B_HID_UID_KP_B, 209*b6ec842dSStephan Aßmus B_HID_UID_KP_C, 210*b6ec842dSStephan Aßmus B_HID_UID_KP_D, 211*b6ec842dSStephan Aßmus B_HID_UID_KP_E, 212*b6ec842dSStephan Aßmus B_HID_UID_KP_F, 213*b6ec842dSStephan Aßmus B_HID_UID_KP_XOR, 214*b6ec842dSStephan Aßmus B_HID_UID_KP_CIRCUMFLEX, 215*b6ec842dSStephan Aßmus B_HID_UID_KP_PERCENT, 216*b6ec842dSStephan Aßmus B_HID_UID_KP_LCHEVRON, 217*b6ec842dSStephan Aßmus B_HID_UID_KP_RCHEVRON, 218*b6ec842dSStephan Aßmus B_HID_UID_KP_AMPERSAND, 219*b6ec842dSStephan Aßmus B_HID_UID_KP_AMPERSAND2, 220*b6ec842dSStephan Aßmus B_HID_UID_KP_PIPE, 221*b6ec842dSStephan Aßmus B_HID_UID_KP_PIPE2, 222*b6ec842dSStephan Aßmus B_HID_UID_KP_COLON, 223*b6ec842dSStephan Aßmus B_HID_UID_KP_HASH, 224*b6ec842dSStephan Aßmus B_HID_UID_KP_SPACE, 225*b6ec842dSStephan Aßmus B_HID_UID_KP_AT, 226*b6ec842dSStephan Aßmus B_HID_UID_KP_EXCLAMATION_MARK, 227*b6ec842dSStephan Aßmus B_HID_UID_KP_MEMORY_STORE, 228*b6ec842dSStephan Aßmus B_HID_UID_KP_MEMORY_RECALL, 229*b6ec842dSStephan Aßmus B_HID_UID_KP_MEMORY_CLEAR, 230*b6ec842dSStephan Aßmus B_HID_UID_KP_MEMORY_ADD, 231*b6ec842dSStephan Aßmus B_HID_UID_KP_MEMORY_SUBTRACT, 232*b6ec842dSStephan Aßmus B_HID_UID_KP_MEMORY_MULTIPLY, 233*b6ec842dSStephan Aßmus B_HID_UID_KP_MEMORY_DIVIDE, 234*b6ec842dSStephan Aßmus B_HID_UID_KP_PLUS_MINUS, 235*b6ec842dSStephan Aßmus B_HID_UID_KP_CLEAR, 236*b6ec842dSStephan Aßmus B_HID_UID_KP_CLEAR_ENTRY, 237*b6ec842dSStephan Aßmus B_HID_UID_KP_BINARY, 238*b6ec842dSStephan Aßmus B_HID_UID_KP_OCTAL, 239*b6ec842dSStephan Aßmus B_HID_UID_KP_DECIMAL, 240*b6ec842dSStephan Aßmus B_HID_UID_KP_HEXADECIMAL, 241*b6ec842dSStephan Aßmus 242*b6ec842dSStephan Aßmus B_HID_UID_KB_LEFT_CONTROL = 0xe0, 243*b6ec842dSStephan Aßmus B_HID_UID_KB_LEFT_SHIFT, 244*b6ec842dSStephan Aßmus B_HID_UID_KB_LEFT_ALT, 245*b6ec842dSStephan Aßmus B_HID_UID_KB_LEFT_GUI, 246*b6ec842dSStephan Aßmus B_HID_UID_KB_RIGHT_CONTROL, 247*b6ec842dSStephan Aßmus B_HID_UID_KB_RIGHT_SHIFT, 248*b6ec842dSStephan Aßmus B_HID_UID_KB_RIGHT_ALT, 249*b6ec842dSStephan Aßmus B_HID_UID_KB_RIGHT_GUI 250*b6ec842dSStephan Aßmus }; 251*b6ec842dSStephan Aßmus 252*b6ec842dSStephan Aßmus 253*b6ec842dSStephan Aßmus #endif // _USB_HID_PAGE_KEYBOARD_H 254