xref: /haiku/headers/os/drivers/usb/USB_hid_page_keyboard.h (revision b6ec842de4c268c02649990c58c1f891869ca285)
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