]> git.donarmstrong.com Git - kiibohd-controller.git/blob - Keymap/usb_keys.h
Intial commit of the SonyNEWS scan module
[kiibohd-controller.git] / Keymap / usb_keys.h
1 /* Copyright (C) 2011 by Jacob Alexander
2  * 
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to deal
5  * in the Software without restriction, including without limitation the rights
6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  * copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions:
9  * 
10  * The above copyright notice and this permission notice shall be included in
11  * all copies or substantial portions of the Software.
12  * 
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  * THE SOFTWARE.
20  */
21
22 #ifndef __usb_keys_h
23 #define __usb_keys_h
24
25 // ----- Defines -----
26
27 // List of Modifiers
28 #define KEY_CTRL          0x01
29 #define KEY_SHIFT         0x02
30 #define KEY_ALT           0x04
31 #define KEY_GUI           0x08
32 #define KEY_LEFT_CTRL     0x01
33 #define KEY_LEFT_SHIFT    0x02
34 #define KEY_LEFT_ALT      0x04
35 #define KEY_LEFT_GUI      0x08
36 #define KEY_RIGHT_CTRL    0x10
37 #define KEY_RIGHT_SHIFT   0x20
38 #define KEY_RIGHT_ALT     0x40
39 #define KEY_RIGHT_GUI     0x80
40
41 // List of Keycodes
42 #define KEY_A                4
43 #define KEY_B                5
44 #define KEY_C                6
45 #define KEY_D                7
46 #define KEY_E                8
47 #define KEY_F                9
48 #define KEY_G               10
49 #define KEY_H               11
50 #define KEY_I               12
51 #define KEY_J               13
52 #define KEY_K               14
53 #define KEY_L               15
54 #define KEY_M               16
55 #define KEY_N               17
56 #define KEY_O               18
57 #define KEY_P               19
58 #define KEY_Q               20
59 #define KEY_R               21
60 #define KEY_S               22
61 #define KEY_T               23
62 #define KEY_U               24
63 #define KEY_V               25
64 #define KEY_W               26
65 #define KEY_X               27
66 #define KEY_Y               28
67 #define KEY_Z               29
68 #define KEY_1               30
69 #define KEY_2               31
70 #define KEY_3               32
71 #define KEY_4               33
72 #define KEY_5               34
73 #define KEY_6               35
74 #define KEY_7               36
75 #define KEY_8               37
76 #define KEY_9               38
77 #define KEY_0               39
78 #define KEY_ENTER           40
79 #define KEY_ESC             41
80 #define KEY_BACKSPACE       42
81 #define KEY_TAB             43
82 #define KEY_SPACE           44
83 #define KEY_MINUS           45
84 #define KEY_EQUAL           46
85 #define KEY_LEFT_BRACE      47
86 #define KEY_RIGHT_BRACE     48
87 #define KEY_BACKSLASH       49
88 #define KEY_NUMBER          50
89 #define KEY_SEMICOLON       51
90 #define KEY_QUOTE           52
91 #define KEY_TILDE           53
92 #define KEY_COMMA           54
93 #define KEY_PERIOD          55
94 #define KEY_SLASH           56
95 #define KEY_CAPS_LOCK       57
96 #define KEY_F1              58
97 #define KEY_F2              59
98 #define KEY_F3              60
99 #define KEY_F4              61
100 #define KEY_F5              62
101 #define KEY_F6              63
102 #define KEY_F7              64
103 #define KEY_F8              65
104 #define KEY_F9              66
105 #define KEY_F10             67
106 #define KEY_F11             68
107 #define KEY_F12             69
108 #define KEY_PRINTSCREEN     70
109 #define KEY_SCROLL_LOCK     71
110 #define KEY_PAUSE           72
111 #define KEY_INSERT          73
112 #define KEY_HOME            74
113 #define KEY_PAGE_UP         75
114 #define KEY_DELETE          76
115 #define KEY_END             77
116 #define KEY_PAGE_DOWN       78
117 #define KEY_RIGHT           79
118 #define KEY_LEFT            80
119 #define KEY_DOWN            81
120 #define KEY_UP              82
121 #define KEY_NUM_LOCK        83
122 #define KEYPAD_SLASH        84
123 #define KEYPAD_ASTERIX      85
124 #define KEYPAD_MINUS        86
125 #define KEYPAD_PLUS         87
126 #define KEYPAD_ENTER        88
127 #define KEYPAD_1            89
128 #define KEYPAD_2            90
129 #define KEYPAD_3            91
130 #define KEYPAD_4            92
131 #define KEYPAD_5            93
132 #define KEYPAD_6            94
133 #define KEYPAD_7            95
134 #define KEYPAD_8            96
135 #define KEYPAD_9            97
136 #define KEYPAD_0            98
137 #define KEYPAD_PERIOD       99
138 #define KEY_ISO_BACKSLASH  100
139 #define KEY_APP            101
140 #define KEYBOARD_ERROR     102 // See spec
141 #define KEYPAD_EQUAL       103
142 #define KEY_F13            104
143 #define KEY_F14            105
144 #define KEY_F15            106
145 #define KEY_F16            107
146 #define KEY_F17            108
147 #define KEY_F18            109
148 #define KEY_F19            110
149 #define KEY_F20            111
150 #define KEY_F21            112
151 #define KEY_F22            113
152 #define KEY_F23            114
153 #define KEY_F24            115
154 #define KEY_EXEC           116
155 #define KEY_HELP           117
156 #define KEY_MENU           118
157 #define KEY_SELECT         119
158 #define KEY_STOP           120
159 #define KEY_AGAIN          121
160 #define KEY_UNDO           122
161 #define KEY_CUT            123
162 #define KEY_COPY           124
163 #define KEY_PASTE          125
164 #define KEY_FIND           126
165 #define KEY_MUTE           127
166 #define KEY_VOL_UP         128
167 #define KEY_VOL_DOWN       129
168 #define KEY_CAPS_LLOCK     130 // "Locking" Scroll Lock (Old keyboards with Locking Caps Lock)
169 #define KEY_NUM_LLOCK      131
170 #define KEY_SCROLL_LLOCK   132
171 #define KEYPAD_COMMA       133 // Brazillian (See spec)
172 #define KEYPAD_EQUAL_AS    134 // AS/400 Keyboard (See spec)
173 #define KEY_INTER1         135 // KANJI1 - Brazillian and Japanese "Ru" and "-"
174 #define KEY_INTER2         136 // KANJI2 - Japanese Katakana/Hiragana
175 #define KEY_INTER3         137 // KANJI3 - Japanese Yen
176 #define KEY_INTER4         138 // KANJI4 - Japanese Henkan
177 #define KEY_INTER5         139 // KANJI5 - Japanese Muhenkan
178 #define KEY_INTER6         140 // KANJI6 - PC98 Comma (Ka-m-ma)
179 #define KEY_INTER7         141 // KANJI7 - Double-Byte/Single-Byte Toggle
180 #define KEY_INTER8         142 // KANJI8 - Undefined
181 #define KEY_INTER9         143 // KANJI9 - Undefined
182 #define KEY_LANG1          144 // Korean Hangul/English Toggle
183 #define KEY_LANG2          145 // Korean Hanja Conversion - Japanese Eisu
184 #define KEY_LANG3          146 // Japanese Katakana Key (USB)
185 #define KEY_LANG4          147 // Japanese Hiragana Key (USB)
186 #define KEY_LANG5          148 // Japanese Zenkaku/Hankaku Key (USB)
187 #define KEY_LANG6          149 // Reserved (Application Specific)
188 #define KEY_LANG7          150 // Reserved (Application Specific)
189 #define KEY_LANG8          151 // Reserved (Application Specific)
190 #define KEY_LANG9          152 // Reserved (Application Specific)
191 #define KEY_ALT_ERASE      153 // Special Erase (See Spec)
192 #define KEY_SYSREQ_ATT     154 // Modifier Type
193 #define KEY_CANCEL         155
194 #define KEY_CLEAR          156
195 #define KEY_PRIOR          157
196 #define KEY_RETURN         158
197 #define KEY_SEPARATOR      159
198 #define KEY_OUT            160
199 #define KEY_OPER           161
200 #define KEY_CLEAR_AGAIN    162
201 #define KEY_CRSEL_PROPS    163
202 #define KEY_EXSEL          164
203 // 165 - 175 Reserved
204 #define KEYPAD_00          176
205 #define KEYPAD_000         177
206 #define KEY_1000_SEP       178
207 #define KEY_DECIMAL_SEP    179
208 #define KEY_CURRENCY_MAIN  180
209 #define KEY_CURRENCY_SUB   181
210 #define KEYPAD_LPAREN      182
211 #define KEYPAD_RPAREN      183
212 #define KEYPAD_LBRACE      184
213 #define KEYPAD_RBRACE      185
214 #define KEYPAD_TAB         186
215 #define KEYPAD_BACKSPACE   187
216 #define KEYPAD_A           188
217 #define KEYPAD_B           189
218 #define KEYPAD_C           190
219 #define KEYPAD_D           191
220 #define KEYPAD_E           192
221 #define KEYPAD_F           193
222 #define KEYPAD_XOR         194
223 #define KEYPAD_CHEVRON     195
224 #define KEYPAD_PERCENT     196
225 #define KEYPAD_LTHAN       197
226 #define KEYPAD_GTHAN       198
227 #define KEYPAD_AND         199
228 #define KEYPAD_AND_AND     200
229 #define KEYPAD_OR          201
230 #define KEYPAD_OR_OR       202
231 #define KEYPAD_COLON       203
232 #define KEYPAD_POUND       204
233 #define KEYPAD_SPACE       205
234 #define KEYPAD_AT          206
235 #define KEYPAD_EXCLAIM     207
236 #define KEYPAD_MEM_STORE   208
237 #define KEYPAD_MEM_RECALL  209
238 #define KEYPAD_MEM_CLEAR   210
239 #define KEYPAD_MEM_ADD     211
240 #define KEYPAD_MEM_SUB     212
241 #define KEYPAD_MEM_MULT    213
242 #define KEYPAD_MEM_DIV     214
243 #define KEYPAD_PLUS_MINUS  215
244 #define KEYPAD_CLEAR       216
245 #define KEYPAD_CLEAR_ENTRY 217
246 #define KEYPAD_BINARY      218
247 #define KEYPAD_OCTAL       219
248 #define KEYPAD_DECIMAL     220
249 #define KEYPAD_HEX         221
250 // 222 - 223 Reserved
251 #define KEYS_LCTRL         224
252 #define KEYS_LSHIFT        225
253 #define KEYS_LALT          226
254 #define KEYS_LGUI          227
255 #define KEYS_RCTRL         228
256 #define KEYS_RSHIFT        229
257 #define KEYS_RALT          230
258 #define KEYS_RGUI          231
259 // 232 - 65535 Reserved
260
261 #endif
262