]> git.donarmstrong.com Git - kiibohd-controller.git/blob - Keymap/keymap.h
Adding soft entry bootloader via key sequence.
[kiibohd-controller.git] / Keymap / keymap.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 __KEYMAP_h
23 #define __KEYMAP_h
24
25 // ----- Includes -----
26
27 #include "usb_keys.h"
28
29
30
31 // ----- Defines -----
32
33
34
35 // ----- Variables -----
36
37 // Lots of these variables are not used, so ignore gcc unused warnings
38 // But just for the variables in this file (and those included into it)
39 #pragma GCC diagnostic ignored "-Wunused-variable"
40 #pragma GCC diagnostic push
41
42 static uint8_t tandy1000_modifierMask[] = { 0x1D, 0x2A, 0x36, 0x38, 0x46 };
43
44 static uint8_t tandy1000_map[] = { 0,
45                                 KEY_ESC,
46                                 KEY_1,
47                                 KEY_2,
48                                 KEY_3,
49                                 KEY_4,
50                                 KEY_5,
51                                 KEY_6,
52                                 KEY_7,
53                                 KEY_8,
54                                 KEY_9,
55                                 KEY_0,
56                                 KEY_MINUS,
57                                 KEY_EQUAL,
58                                 KEY_BACKSPACE,
59                                 KEY_TAB,
60                                 KEY_Q,
61                                 KEY_W,
62                                 KEY_E,
63                                 KEY_R,
64                                 KEY_T,
65                                 KEY_Y,
66                                 KEY_U,
67                                 KEY_I,
68                                 KEY_O,
69                                 KEY_P,
70                                 KEY_LEFT_BRACE,
71                                 KEY_RIGHT_BRACE,
72                                 KEY_ENTER,
73                                 KEY_CTRL, // 0x1D
74                                 KEY_A,
75                                 KEY_S,
76                                 KEY_D,
77                                 KEY_F,
78                                 KEY_G,
79                                 KEY_H,
80                                 KEY_J,
81                                 KEY_K,
82                                 KEY_L,
83                                 KEY_SEMICOLON,
84                                 KEY_QUOTE,
85                                 KEY_UP,
86                                 KEY_LEFT_SHIFT, // 0x2A
87                                 KEY_LEFT,
88                                 KEY_Z,
89                                 KEY_X,
90                                 KEY_C,
91                                 KEY_V,
92                                 KEY_B,
93                                 KEY_N,
94                                 KEY_M,
95                                 KEY_COMMA,
96                                 KEY_PERIOD,
97                                 KEY_SLASH,
98                                 KEY_RIGHT_SHIFT, // 0x36
99                                 KEY_PRINTSCREEN,
100                                 KEY_ALT, // 0x38
101                                 KEY_SPACE,
102                                 KEY_CAPS_LOCK,
103                                 KEY_F1,
104                                 KEY_F2,
105                                 KEY_F3,
106                                 KEY_F4,
107                                 KEY_F5,
108                                 KEY_F6,
109                                 KEY_F7,
110                                 KEY_F8,
111                                 KEY_F9,
112                                 KEY_F10,
113                                 KEY_NUM_LOCK,
114                                 KEY_GUI, // Actually Hold... 0x48
115                                 KEY_BACKSLASH, // Also KEYPAD_7
116                                 KEY_TILDE, // Also KEYPAD_8
117                                 KEYPAD_9,
118                                 KEY_UP,
119                                 KEY_BACKSLASH, // Actually | and KEYPAD_4
120                                 KEYPAD_5,
121                                 KEYPAD_6,
122                                 KEY_RIGHT,
123                                 KEYPAD_1,
124                                 KEY_TILDE, // Actually ` and KEYPAD_2
125                                 KEYPAD_3,
126                                 KEYPAD_0,
127                                 KEY_DELETE,
128                                 KEY_PAUSE,
129                                 KEY_INSERT,
130                                 KEYPAD_PERIOD,
131                                 KEYPAD_ENTER,
132                                 KEY_HOME,
133                                 KEY_F11,
134                                 KEY_F12, // 0x5A
135 };
136
137 static uint8_t tandy1000_colemak[] = { 0,
138                                 KEY_ESC,
139                                 KEY_1,
140                                 KEY_2,
141                                 KEY_3,
142                                 KEY_4,
143                                 KEY_5,
144                                 KEY_6,
145                                 KEY_7,
146                                 KEY_8,
147                                 KEY_9,
148                                 KEY_0,
149                                 KEY_MINUS,
150                                 KEY_EQUAL,
151                                 KEY_BACKSPACE,
152                                 KEY_TAB,
153                                 KEY_Q,
154                                 KEY_W,
155                                 KEY_F,
156                                 KEY_P,
157                                 KEY_G,
158                                 KEY_J,
159                                 KEY_L,
160                                 KEY_U,
161                                 KEY_Y,
162                                 KEY_SEMICOLON,
163                                 KEY_LEFT_BRACE,
164                                 KEY_RIGHT_BRACE,
165                                 KEY_ENTER,
166                                 KEY_CTRL, // 0x1D
167                                 KEY_A,
168                                 KEY_R,
169                                 KEY_S,
170                                 KEY_T,
171                                 KEY_D,
172                                 KEY_H,
173                                 KEY_N,
174                                 KEY_E,
175                                 KEY_I,
176                                 KEY_O,
177                                 KEY_QUOTE,
178                                 KEY_UP,
179                                 KEY_LEFT_SHIFT, // 0x2A
180                                 KEY_LEFT,
181                                 KEY_Z,
182                                 KEY_X,
183                                 KEY_C,
184                                 KEY_V,
185                                 KEY_B,
186                                 KEY_K,
187                                 KEY_M,
188                                 KEY_COMMA,
189                                 KEY_PERIOD,
190                                 KEY_SLASH,
191                                 KEY_RIGHT_SHIFT, // 0x36
192                                 KEY_PRINTSCREEN,
193                                 KEY_ALT, // 0x38
194                                 KEY_SPACE,
195                                 0, //KEY_CAPS_LOCK,
196                                 KEY_F1,
197                                 KEY_F2,
198                                 KEY_F3,
199                                 KEY_F4,
200                                 KEY_F5,
201                                 KEY_F6,
202                                 KEY_F7,
203                                 KEY_F8,
204                                 KEY_F9,
205                                 KEY_F10,
206                                 0, //KEY_NUM_LOCK,
207                                 KEY_GUI, // Actually Hold... 0x48
208                                 KEY_BACKSLASH, // Also KEYPAD_7
209                                 KEY_TILDE, // Also KEYPAD_8
210                                 KEYPAD_9,
211                                 KEY_DOWN,
212                                 KEY_BACKSLASH, // Actually | and KEYPAD_4
213                                 KEYPAD_5,
214                                 KEYPAD_6,
215                                 KEY_RIGHT,
216                                 KEYPAD_1,
217                                 KEY_TILDE, // Actually ` and KEYPAD_2
218                                 KEYPAD_3,
219                                 KEYPAD_0,
220                                 KEY_DELETE,
221                                 KEY_PAUSE,
222                                 KEY_INSERT,
223                                 KEYPAD_PERIOD,
224                                 KEYPAD_ENTER,
225                                 KEY_HOME,
226                                 KEY_F11,
227                                 KEY_F12, // 0x5A
228 };
229
230
231
232
233
234
235
236 //static uint8_t    keypad_modifierMask[] = {};
237 //static uint8_t  keyboard_modifierMask[] = { 1, 17, 33, 49 };
238 //static uint8_t alternate_modifierMask[] = { 1, 17, 33, 49, 62 };
239
240 // Default 1-indexed key mappings
241 /*
242 static uint8_t keypadDefaultMap[] = { 0,
243                                 KEYPAD_7,
244                                 KEYPAD_8,
245                                 KEYPAD_9,
246                                 KEYPAD_SLASH,
247                                 KEYPAD_4,
248                                 KEYPAD_5,
249                                 KEYPAD_6,
250                                 KEYPAD_ASTERIX,
251                                 KEYPAD_1,
252                                 KEYPAD_2,
253                                 KEYPAD_3,
254                                 KEYPAD_MINUS,
255                                 KEYPAD_ENTER,
256                                 KEYPAD_0,
257                                 KEYPAD_PERIOD,
258                                 KEYPAD_PLUS };
259 static uint8_t defaultMap[] = { 0,
260                                 KEY_GUI,
261                                 KEY_1,
262                                 KEY_2,
263                                 KEY_3,
264                                 KEY_4,
265                                 KEY_5,
266                                 KEY_6,
267                                 KEY_7,
268                                 KEY_8,
269                                 KEY_9,
270                                 KEY_0,
271                                 KEY_MINUS,
272                                 KEY_EQUAL,
273                                 KEY_BACKSLASH,
274                                 KEY_TILDE,
275                                 KEY_BACKSPACE,
276                                 KEY_ALT,
277                                 KEY_TAB,
278                                 KEY_Q,
279                                 KEY_W,
280                                 KEY_E,
281                                 KEY_R,
282                                 KEY_T,
283                                 KEY_Y,
284                                 KEY_U,
285                                 KEY_I,
286                                 KEY_O,
287                                 KEY_P,
288                                 KEY_LEFT_BRACE,
289                                 KEY_RIGHT_BRACE,
290                                 KEY_DELETE,
291                                 KEY_UP,
292                                 KEY_CTRL,
293                                 KEY_CAPS_LLOCK,
294                                 KEY_A,
295                                 KEY_S,
296                                 KEY_D,
297                                 KEY_F,
298                                 KEY_G,
299                                 KEY_H,
300                                 KEY_J,
301                                 KEY_K,
302                                 KEY_L,
303                                 KEY_SEMICOLON,
304                                 KEY_QUOTE,
305                                 KEY_ENTER,
306                                 KEY_DOWN,
307                                 KEY_ESC,
308                                 KEY_LEFT_SHIFT,
309                                 KEY_Z,
310                                 KEY_X,
311                                 KEY_C,
312                                 KEY_V,
313                                 KEY_B,
314                                 KEY_N,
315                                 KEY_M,
316                                 KEY_COMMA,
317                                 KEY_PERIOD,
318                                 KEY_SLASH,
319                                 KEY_RIGHT_SHIFT,
320                                 KEY_LEFT,
321                                 KEY_RIGHT,
322                                 KEY_SPACE };
323 */
324 /*
325 static uint8_t navigationMap[] = { 0,
326                                 KEY_GUI,
327                                 KEY_F1,
328                                 KEY_F2,
329                                 KEY_F3,
330                                 KEY_F4,
331                                 KEY_F5,
332                                 KEY_F6,
333                                 KEY_F7,
334                                 KEY_F8,
335                                 KEY_F9,
336                                 KEY_F10,
337                                 KEY_F11,
338                                 KEY_F12,
339                                 KEY_INSERT,
340                                 KEY_DELETE,
341                                 KEY_BACKSPACE,
342                                 KEY_ALT,
343                                 KEY_CAPS_LOCK,
344                                 0,
345                                 0,
346                                 0,
347                                 0,
348                                 0,
349                                 0,
350                                 0,
351                                 KEY_SYSREQ_ATT,
352                                 KEY_SCROLL_LOCK,
353                                 KEY_PAUSE,
354                                 KEY_UP,
355                                 0,
356                                 0,
357                                 0,
358                                 KEY_CTRL,
359                                 KEY_CAPS_LLOCK,
360                                 0,
361                                 0,
362                                 0,
363                                 0,
364                                 0,
365                                 KEYPAD_ASTERIX,
366                                 KEYPAD_SLASH,
367                                 KEY_HOME,
368                                 KEY_PAGE_UP,
369                                 KEY_LEFT,
370                                 KEY_RIGHT,
371                                 KEY_ENTER,
372                                 0,
373                                 KEY_ESC,
374                                 KEY_LEFT_SHIFT,
375                                 0,
376                                 0,
377                                 0,
378                                 0,
379                                 0,
380                                 KEYPAD_PLUS,
381                                 KEYPAD_MINUS,
382                                 KEY_END,
383                                 KEY_PAGE_DOWN,
384                                 KEY_DOWN,
385                                 KEY_RIGHT_SHIFT,
386                                 165,
387                                 KEY_RIGHT_ALT,
388                                 KEY_SPACE };
389
390 static uint8_t colemakMap[] = { 0,
391                                 KEY_GUI,
392                                 KEY_1,
393                                 KEY_2,
394                                 KEY_3,
395                                 KEY_4,
396                                 KEY_5,
397                                 KEY_6,
398                                 KEY_7,
399                                 KEY_8,
400                                 KEY_9,
401                                 KEY_0,
402                                 KEY_MINUS,
403                                 KEY_EQUAL,
404                                 KEY_BACKSLASH,
405                                 KEY_TILDE,
406                                 KEY_BACKSPACE,
407                                 KEY_ALT,
408                                 KEY_TAB,
409                                 KEY_Q,
410                                 KEY_W,
411                                 KEY_F,
412                                 KEY_P,
413                                 KEY_G,
414                                 KEY_J,
415                                 KEY_L,
416                                 KEY_U,
417                                 KEY_Y,
418                                 KEY_SEMICOLON,
419                                 KEY_LEFT_BRACE,
420                                 KEY_RIGHT_BRACE,
421                                 KEY_DELETE,
422                                 KEY_PAGE_UP,
423                                 KEY_CTRL,
424                                 KEY_CAPS_LLOCK,
425                                 KEY_A,
426                                 KEY_R,
427                                 KEY_S,
428                                 KEY_T,
429                                 KEY_D,
430                                 KEY_H,
431                                 KEY_N,
432                                 KEY_E,
433                                 KEY_I,
434                                 KEY_O,
435                                 KEY_QUOTE,
436                                 KEY_ENTER,
437                                 KEY_PAGE_DOWN,
438                                 KEY_ESC,
439                                 KEY_LEFT_SHIFT,
440                                 KEY_Z,
441                                 KEY_X,
442                                 KEY_C,
443                                 KEY_V,
444                                 KEY_B,
445                                 KEY_K,
446                                 KEY_M,
447                                 KEY_COMMA,
448                                 KEY_PERIOD,
449                                 KEY_SLASH,
450                                 KEY_RIGHT_SHIFT,
451                                 165,
452                                 KEY_RIGHT_ALT,
453                                 KEY_SPACE };
454 */
455
456 // Only ignore unused warnings for the above variables
457 #pragma GCC diagnostic pop
458
459 #endif
460