1 /*---------------------------------------------------------------------------*
2   Project:  Revolution USB keyboard library
3   File:     kbd_hid_codes.h
4 
5   Copyright 2007 Nintendo.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Log: kbd_hid_codes.h,v $
14   Revision 1.2  2007/07/13 10:22:26  hiratsu
15   Fixed missing typedef.
16 
17   Revision 1.1  2007/04/05 21:57:48  carlmu
18   Changed kbd_usb_codes.h to kbd_hid_codes.h.
19 
20   Revision 1.2  2007/03/28 00:28:14  carlmu
21   Updated to 0.2 API.
22 
23   Revision 1.1  2007/03/21 18:06:16  carlmu
24   Initial version.
25 
26   $NoKeywords: $
27  *---------------------------------------------------------------------------*/
28 
29 #ifndef __KBD_HID_CODES_H__
30 #define __KBD_HID_CODES_H__
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 // Table of USB HID key codes
37 
38 // We don't know the size of the enum, so we don't use this
39 // enum as a type for HID codes.  Instead we use KBDHIDCode (u8).
40 
41 typedef enum _KBDHIDEnum {
42     KBD_HID_No_Event = 0x00,
43     KBD_HID_Roll_Over = 0x01,
44     KBD_HID_Post_Fail= 0x02,
45     KBD_HID_Undefined_Error = 0x03,
46     KBD_HID_A = 0x04,
47     KBD_HID_B = 0x05,
48     KBD_HID_C = 0x06,
49     KBD_HID_D = 0x07,
50     KBD_HID_E = 0x08,
51     KBD_HID_F = 0x09,
52     KBD_HID_G = 0x0A,
53     KBD_HID_H = 0x0B,
54     KBD_HID_I = 0x0C,
55     KBD_HID_J = 0x0D,
56     KBD_HID_K = 0x0E,
57     KBD_HID_L = 0x0F,
58     KBD_HID_M = 0x10,
59     KBD_HID_N = 0x11,
60     KBD_HID_O = 0x12,
61     KBD_HID_P = 0x13,
62     KBD_HID_Q = 0x14,
63     KBD_HID_R = 0x15,
64     KBD_HID_S = 0x16,
65     KBD_HID_T = 0x17,
66     KBD_HID_U = 0x18,
67     KBD_HID_V = 0x19,
68     KBD_HID_W = 0x1A,
69     KBD_HID_X = 0x1B,
70     KBD_HID_Y = 0x1C,
71     KBD_HID_Z = 0x1D,
72     KBD_HID_1 = 0x1E,
73     KBD_HID_2 = 0x1F,
74     KBD_HID_3 = 0x20,
75     KBD_HID_4 = 0x21,
76     KBD_HID_5 = 0x22,
77     KBD_HID_6 = 0x23,
78     KBD_HID_7 = 0x24,
79     KBD_HID_8 = 0x25,
80     KBD_HID_9 = 0x26,
81     KBD_HID_0 = 0x27,
82     KBD_HID_Enter = 0x28,
83     KBD_HID_Escape = 0x29,
84     KBD_HID_Backspace = 0x2A,
85     KBD_HID_Tab = 0x2B,
86     KBD_HID_Spacebar = 0x2C,
87     KBD_HID_Hypen_Underscore = 0x2D,
88     KBD_HID_Equals_Plus = 0x2e,
89     KBD_HID_Bracketleft_Braceleft = 0x2f,
90     KBD_HID_Bracketright_Braceright = 0x30,
91     KBD_HID_Backslash_Bar = 0x31,
92     KBD_HID_NonUS_Pound_Tilde = 0x32,
93     KBD_HID_Semicolon_Colon = 0x33,
94     KBD_HID_Apostrophe_Doublequote = 0x34,
95     KBD_HID_Grave_Tilde = 0x35,
96     KBD_HID_Comma_Less = 0x36,
97     KBD_HID_Period_Greater = 0x37,
98     KBD_HID_Slash_Question = 0x38,
99     KBD_HID_Caps_Lock = 0x39,
100     KBD_HID_F1 = 0x3A,
101     KBD_HID_F2 = 0x3B,
102     KBD_HID_F3 = 0x3C,
103     KBD_HID_F4 = 0x3D,
104     KBD_HID_F5 = 0x3E,
105     KBD_HID_F6 = 0x3F,
106     KBD_HID_F7 = 0x40,
107     KBD_HID_F8 = 0x41,
108     KBD_HID_F9 = 0x42,
109     KBD_HID_F10 = 0x43,
110     KBD_HID_F11 = 0x44,
111     KBD_HID_F12 = 0x45,
112     KBD_HID_Print_Screen = 0x46,
113     KBD_HID_Scroll_Lock = 0x47,
114     KBD_HID_Pause = 0x48,
115     KBD_HID_Insert = 0x49,
116     KBD_HID_Home = 0x4A,
117     KBD_HID_Page_Up = 0x4B,
118     KBD_HID_Delete_Forward = 0x4C,
119     KBD_HID_End = 0x4D,
120     KBD_HID_Page_Down = 0x4E,
121     KBD_HID_Right_Arrow = 0x4F,
122     KBD_HID_Left_Arrow = 0x50,
123     KBD_HID_Down_Arrow = 0x51,
124     KBD_HID_Up_Arrow = 0x52,
125     KBD_HID_Keypad_Num_Lock = 0x53,
126     KBD_HID_Keypad_Slash = 0x54,
127     KBD_HID_Keypad_Asterisk = 0x55,
128     KBD_HID_Keypad_Minus = 0x56,
129     KBD_HID_Keypad_Plus = 0x57,
130     KBD_HID_Keypad_Enter = 0x58,
131     KBD_HID_Keypad_1_End = 0x59,
132     KBD_HID_Keypad_2_Down_Arrow = 0x5A,
133     KBD_HID_Keypad_3_Page_Down = 0x5B,
134     KBD_HID_Keypad_4_Left_Arrow = 0x5C,
135     KBD_HID_Keypad_5_Space = 0x5D,
136     KBD_HID_Keypad_6_Right_Arrow = 0x5E,
137     KBD_HID_Keypad_7_Home = 0x5F,
138     KBD_HID_Keypad_8_Up_Arrow = 0x60,
139     KBD_HID_Keypad_9_Page_Up = 0x61,
140     KBD_HID_Keypad_0_Insert = 0x62,
141     KBD_HID_Keypad_Period_Delete = 0x63,
142     KBD_HID_NonUS_backslash_bar = 0x64,
143     KBD_HID_Application = 0x65,
144     KBD_HID_Power = 0x66,
145     KBD_HID_Keypad_Equals = 0x67,
146     KBD_HID_F13 = 0x68,
147     KBD_HID_F14 = 0x69,
148     KBD_HID_F15 = 0x6A,
149     KBD_HID_F16 = 0x6B,
150     KBD_HID_F17 = 0x6C,
151     KBD_HID_F18 = 0x6D,
152     KBD_HID_F19 = 0x6E,
153     KBD_HID_F20 = 0x6F,
154     KBD_HID_F21 = 0x70,
155     KBD_HID_F22 = 0x71,
156     KBD_HID_F23 = 0x72,
157     KBD_HID_F24 = 0x73,
158     KBD_HID_Execute = 0x74,
159     KBD_HID_Help = 0x75,
160     KBD_HID_Menu = 0x76,
161     KBD_HID_Select = 0x77,
162     KBD_HID_Stop = 0x78,
163     KBD_HID_Again = 0x79,
164     KBD_HID_Undo = 0x7A,
165     KBD_HID_Cut = 0x7B,
166     KBD_HID_Copy = 0x7C,
167     KBD_HID_Paste = 0x7D,
168     KBD_HID_Find = 0x7E,
169     KBD_HID_Mute = 0x7F,
170     KBD_HID_Volume_Up = 0x80,
171     KBD_HID_Volume_Down = 0x81,
172     KBD_HID_Locking_Caps_Lock = 0x82,
173     KBD_HID_Locking_Num_Lock = 0x83,
174     KBD_HID_Locking_Scroll_Lock = 0x84,
175     KBD_HID_Keypad_Comma = 0x85,
176     KBD_HID_Keypad_Equals_AS400 = 0x86,
177     KBD_HID_I1_Ro = 0x87,
178     KBD_HID_I2_Katakana_Hiragana = 0x88,
179     KBD_HID_I3_Yen = 0x89,
180     KBD_HID_I4_Henkan = 0x8A,
181     KBD_HID_I5_Muhenkan = 0x8B,
182     KBD_HID_I6 = 0x8C,
183     KBD_HID_I7 = 0x8D,
184     KBD_HID_I8 = 0x8E,
185     KBD_HID_I9 = 0x8F,
186     KBD_HID_L1_Hangul_English = 0x90,
187     KBD_HID_L2_Hanja = 0x91,
188     KBD_HID_L3_Katakana = 0x92,
189     KBD_HID_L4_Hiragana = 0x93,
190     KBD_HID_L5_Zenkaku_Hankaku = 0x94,
191     KBD_HID_L6 = 0x95,
192     KBD_HID_L7 = 0x96,
193     KBD_HID_L8 = 0x97,
194     KBD_HID_L9 = 0x98,
195     KBD_HID_Alternate_Erase = 0x99,
196     KBD_HID_SysReq_Attention = 0x9A,
197     KBD_HID_Cancel = 0x9B,
198     KBD_HID_Clear = 0x9C,
199     KBD_HID_Prior = 0x9D,
200     KBD_HID_Return = 0x9E,
201     KBD_HID_Separator = 0x9F,
202     KBD_HID_Out = 0xA0,
203     KBD_HID_Oper = 0xA1,
204     KBD_HID_Clear_Again = 0xA2,
205     KBD_HID_CrSel_Props = 0xA3,
206     KBD_HID_ExSel = 0xA4,
207     // various extra reserved & keypad keys from 0xA5 to 0xDF omitted
208     KBD_HID_Left_Control = 0xE0,
209     KBD_HID_Left_Shift = 0xE1,
210     KBD_HID_Left_Alt = 0xE2,
211     KBD_HID_Left_GUI = 0xE3,
212     KBD_HID_Right_Control = 0xE4,
213     KBD_HID_Right_Shift = 0xE5,
214     KBD_HID_Right_AltGr = 0xE6,
215     KBD_HID_Right_GUI = 0xE7
216     // codes 0xE8 and up are reserved
217 } KBDHIDEnum;
218 
219 #ifdef __cplusplus
220 }
221 #endif
222 
223 #endif //  __KBD_HID_CODES_H__
224