]> git.donarmstrong.com Git - kiibohd-controller.git/blob - Keymap/kaypro1.h
Adding Kaypro1 functional support
[kiibohd-controller.git] / Keymap / kaypro1.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 __KAYPRO1_H
23 #define __KAYPRO1_H
24
25 // This file contains various key layouts for the Kaypro 1 keyboard
26
27
28 // ----- Variables -----
29
30 static uint8_t kaypro1_ModifierMask[] = { 0xF5, 0xF6 };
31
32 static uint8_t kaypro1_DefaultMap[] = { 0,
33                                 0, // 0x01
34                                 0, // 0x02
35                                 0, // 0x03
36                                 0, // 0x04
37                                 0, // 0x05
38                                 0, // 0x06
39                                 0, // 0x07
40                                 KEY_BACKSPACE, // 0x08
41                                 KEY_TAB, // 0x09
42                                 0, // 0x0A
43                                 0, // 0x0B
44                                 0, // 0x0C
45                                 KEY_ENTER, // 0x0D
46                                 0, // 0x0E
47                                 0, // 0x0F
48                                 0, // 0x10
49                                 0, // 0x11
50                                 0, // 0x12
51                                 0, // 0x13
52                                 0, // 0x14
53                                 0, // 0x15
54                                 0, // 0x16
55                                 0, // 0x17
56                                 0, // 0x18
57                                 0, // 0x19
58                                 0, // 0x1A
59                                 KEY_ESC, // 0x1B
60                                 0, // 0x1C
61                                 0, // 0x1D
62                                 0, // 0x1E
63                                 0, // 0x1F
64                                 KEY_SPACE, // 0x20
65                                 0, // 0x21
66                                 0, // 0x22
67                                 0, // 0x23
68                                 0, // 0x24
69                                 0, // 0x25
70                                 0, // 0x26
71                                 KEY_QUOTE, // 0x27
72                                 0, // 0x28
73                                 0, // 0x29
74                                 0, // 0x2A
75                                 0, // 0x2B
76                                 KEY_COMMA, // 0x2C
77                                 KEY_MINUS, // 0x2D
78                                 KEY_PERIOD, // 0x2E
79                                 KEY_SLASH, // 0x2F
80                                 KEY_0, // 0x30
81                                 KEY_1, // 0x31
82                                 KEY_2, // 0x32
83                                 KEY_3, // 0x33
84                                 KEY_4, // 0x34
85                                 KEY_5, // 0x35
86                                 KEY_6, // 0x36
87                                 KEY_7, // 0x37
88                                 KEY_8, // 0x38
89                                 KEY_9, // 0x39
90                                 0, // 0x3A
91                                 KEY_SEMICOLON, // 0x3B
92                                 0, // 0x3C
93                                 KEY_EQUAL, // 0x3D
94                                 0, // 0x3E
95                                 0, // 0x3F
96                                 0, // 0x40
97                                 0, // 0x41
98                                 0, // 0x42
99                                 0, // 0x43
100                                 0, // 0x44
101                                 0, // 0x45
102                                 0, // 0x46
103                                 0, // 0x47
104                                 0, // 0x48
105                                 0, // 0x49
106                                 0, // 0x4A
107                                 0, // 0x4B
108                                 0, // 0x4C
109                                 0, // 0x4D
110                                 0, // 0x4E
111                                 0, // 0x4F
112                                 0, // 0x50
113                                 0, // 0x51
114                                 0, // 0x52
115                                 0, // 0x53
116                                 0, // 0x54
117                                 0, // 0x55
118                                 0, // 0x56
119                                 0, // 0x57
120                                 0, // 0x58
121                                 0, // 0x59
122                                 0, // 0x5A
123                                 KEY_LEFT_BRACE, // 0x5B
124                                 KEY_BACKSLASH, // 0x5C
125                                 KEY_RIGHT_BRACE, // 0x5D
126                                 0, // 0x5E
127                                 0, // 0x5F
128                                 KEY_TILDE, // 0x60
129                                 KEY_A, // 0x61
130                                 KEY_B, // 0x62
131                                 KEY_C, // 0x63
132                                 KEY_D, // 0x64
133                                 KEY_E, // 0x65
134                                 KEY_F, // 0x66
135                                 KEY_G, // 0x67
136                                 KEY_H, // 0x68
137                                 KEY_I, // 0x69
138                                 KEY_J, // 0x6A
139                                 KEY_K, // 0x6B
140                                 KEY_L, // 0x6C
141                                 KEY_M, // 0x6D
142                                 KEY_N, // 0x6E
143                                 KEY_O, // 0x6F
144                                 KEY_P, // 0x70
145                                 KEY_Q, // 0x71
146                                 KEY_R, // 0x72
147                                 KEY_S, // 0x73
148                                 KEY_T, // 0x74
149                                 KEY_U, // 0x75
150                                 KEY_V, // 0x76
151                                 KEY_W, // 0x77
152                                 KEY_X, // 0x78
153                                 KEY_Y, // 0x79
154                                 KEY_Z, // 0x7A
155                                 0, // 0x7B
156                                 0, // 0x7C
157                                 0, // 0x7D
158                                 0, // 0x7E
159                                 KEY_DELETE, // 0x7F
160                                 0, // 0x80
161                                 0, // 0x81
162                                 0, // 0x82
163                                 0, // 0x83
164                                 0, // 0x84
165                                 0, // 0x85
166                                 0, // 0x86
167                                 0, // 0x87
168                                 0, // 0x88
169                                 0, // 0x89
170                                 0, // 0x8A
171                                 0, // 0x8B
172                                 0, // 0x8C
173                                 0, // 0x8D
174                                 0, // 0x8E
175                                 0, // 0x8F
176                                 0, // 0x90
177                                 0, // 0x91
178                                 0, // 0x92
179                                 0, // 0x93
180                                 0, // 0x94
181                                 0, // 0x95
182                                 0, // 0x96
183                                 0, // 0x97
184                                 0, // 0x98
185                                 0, // 0x99
186                                 0, // 0x9A
187                                 0, // 0x9B
188                                 0, // 0x9C
189                                 0, // 0x9D
190                                 0, // 0x9E
191                                 0, // 0x9F
192                                 0, // 0xA0
193                                 0, // 0xA1
194                                 0, // 0xA2
195                                 0, // 0xA3
196                                 0, // 0xA4
197                                 0, // 0xA5
198                                 0, // 0xA6
199                                 0, // 0xA7
200                                 0, // 0xA8
201                                 0, // 0xA9
202                                 0, // 0xAA
203                                 0, // 0xAB
204                                 0, // 0xAC
205                                 0, // 0xAD
206                                 0, // 0xAE
207                                 0, // 0xAF
208                                 0, // 0xB0
209                                 KEYPAD_0, // 0xB1
210                                 KEYPAD_PERIOD, // 0xB2
211                                 0, // 0xB3
212                                 0, // 0xB4
213                                 0, // 0xB5
214                                 0, // 0xB6
215                                 0, // 0xB7
216                                 0, // 0xB8
217                                 0, // 0xB9
218                                 0, // 0xBA
219                                 0, // 0xBB
220                                 0, // 0xBC
221                                 0, // 0xBD
222                                 0, // 0xBE
223                                 0, // 0xBF
224                                 KEYPAD_1, // 0xC0
225                                 KEYPAD_2, // 0xC1
226                                 KEYPAD_3, // 0xC2
227                                 KEYPAD_ENTER, // 0xC3
228                                 0, // 0xC4
229                                 0, // 0xC5
230                                 0, // 0xC6
231                                 0, // 0xC7
232                                 0, // 0xC8
233                                 0, // 0xC9
234                                 0, // 0xCA
235                                 0, // 0xCB
236                                 0, // 0xCC
237                                 0, // 0xCD
238                                 0, // 0xCE
239                                 0, // 0xCF
240                                 KEYPAD_4, // 0xD0
241                                 KEYPAD_5, // 0xD1
242                                 KEYPAD_6, // 0xD2
243                                 KEYPAD_COMMA, // 0xD3
244                                 0, // 0xD4
245                                 0, // 0xD5
246                                 0, // 0xD6
247                                 0, // 0xD7
248                                 0, // 0xD8
249                                 0, // 0xD9
250                                 0, // 0xDA
251                                 0, // 0xDB
252                                 0, // 0xDC
253                                 0, // 0xDD
254                                 0, // 0xDE
255                                 0, // 0xDF
256                                 0, // 0xE0
257                                 KEYPAD_7, // 0xE1
258                                 KEYPAD_8, // 0xE2
259                                 KEYPAD_9, // 0xE3
260                                 KEYPAD_MINUS, // 0xE4
261                                 0, // 0xE5
262                                 0, // 0xE6
263                                 0, // 0xE7
264                                 0, // 0xE8
265                                 0, // 0xE9
266                                 0, // 0xEA
267                                 0, // 0xEB
268                                 0, // 0xEC
269                                 0, // 0xED
270                                 0, // 0xEE
271                                 0, // 0xEF
272                                 0, // 0xF0
273                                 KEY_UP, // 0xF1
274                                 KEY_DOWN, // 0xF2
275                                 KEY_LEFT, // 0xF3
276                                 KEY_RIGHT, // 0xF4
277                                 KEY_LEFT_SHIFT, // 0xF5
278                                 KEY_CTRL, // 0xF6
279                                 0, // 0xF7
280                                 0, // 0xF8
281                                 0, // 0xF9
282                                 0, // 0xFA
283                                 0, // 0xFB
284                                 0, // 0xFC
285                                 0, // 0xFD
286                                 0, // 0xFE
287                                 0, // 0xFF
288 };
289
290 static uint8_t kaypro1_ColemakMap[] = { 0,
291                                 0, // 0x01
292                                 0, // 0x02
293                                 0, // 0x03
294                                 0, // 0x04
295                                 0, // 0x05
296                                 0, // 0x06
297                                 0, // 0x07
298                                 KEY_BACKSPACE, // 0x08
299                                 KEY_TAB, // 0x09
300                                 0, // 0x0A
301                                 0, // 0x0B
302                                 0, // 0x0C
303                                 KEY_ENTER, // 0x0D
304                                 0, // 0x0E
305                                 0, // 0x0F
306                                 0, // 0x10
307                                 0, // 0x11
308                                 0, // 0x12
309                                 0, // 0x13
310                                 0, // 0x14
311                                 0, // 0x15
312                                 0, // 0x16
313                                 0, // 0x17
314                                 0, // 0x18
315                                 0, // 0x19
316                                 0, // 0x1A
317                                 KEY_ESC, // 0x1B
318                                 0, // 0x1C
319                                 0, // 0x1D
320                                 0, // 0x1E
321                                 0, // 0x1F
322                                 KEY_SPACE, // 0x20
323                                 0, // 0x21
324                                 0, // 0x22
325                                 0, // 0x23
326                                 0, // 0x24
327                                 0, // 0x25
328                                 0, // 0x26
329                                 KEY_QUOTE, // 0x27
330                                 0, // 0x28
331                                 0, // 0x29
332                                 0, // 0x2A
333                                 0, // 0x2B
334                                 KEY_COMMA, // 0x2C
335                                 KEY_MINUS, // 0x2D
336                                 KEY_PERIOD, // 0x2E
337                                 KEY_SLASH, // 0x2F
338                                 KEY_0, // 0x30
339                                 KEY_1, // 0x31
340                                 KEY_2, // 0x32
341                                 KEY_3, // 0x33
342                                 KEY_4, // 0x34
343                                 KEY_5, // 0x35
344                                 KEY_6, // 0x36
345                                 KEY_7, // 0x37
346                                 KEY_8, // 0x38
347                                 KEY_9, // 0x39
348                                 0, // 0x3A
349                                 KEY_O, // 0x3B
350                                 0, // 0x3C
351                                 KEY_EQUAL, // 0x3D
352                                 0, // 0x3E
353                                 0, // 0x3F
354                                 0, // 0x40
355                                 0, // 0x41
356                                 0, // 0x42
357                                 0, // 0x43
358                                 0, // 0x44
359                                 0, // 0x45
360                                 0, // 0x46
361                                 0, // 0x47
362                                 0, // 0x48
363                                 0, // 0x49
364                                 0, // 0x4A
365                                 0, // 0x4B
366                                 0, // 0x4C
367                                 0, // 0x4D
368                                 0, // 0x4E
369                                 0, // 0x4F
370                                 0, // 0x50
371                                 0, // 0x51
372                                 0, // 0x52
373                                 0, // 0x53
374                                 0, // 0x54
375                                 0, // 0x55
376                                 0, // 0x56
377                                 0, // 0x57
378                                 0, // 0x58
379                                 0, // 0x59
380                                 0, // 0x5A
381                                 KEY_LEFT_BRACE, // 0x5B
382                                 KEY_BACKSLASH, // 0x5C
383                                 KEY_RIGHT_BRACE, // 0x5D
384                                 0, // 0x5E
385                                 0, // 0x5F
386                                 KEY_TILDE, // 0x60
387                                 KEY_A, // 0x61
388                                 KEY_B, // 0x62
389                                 KEY_C, // 0x63
390                                 KEY_S, // 0x64
391                                 KEY_F, // 0x65
392                                 KEY_T, // 0x66
393                                 KEY_D, // 0x67
394                                 KEY_H, // 0x68
395                                 KEY_U, // 0x69
396                                 KEY_N, // 0x6A
397                                 KEY_E, // 0x6B
398                                 KEY_I, // 0x6C
399                                 KEY_M, // 0x6D
400                                 KEY_K, // 0x6E
401                                 KEY_Y, // 0x6F
402                                 KEY_SEMICOLON, // 0x70
403                                 KEY_Q, // 0x71
404                                 KEY_P, // 0x72
405                                 KEY_R, // 0x73
406                                 KEY_G, // 0x74
407                                 KEY_L, // 0x75
408                                 KEY_V, // 0x76
409                                 KEY_W, // 0x77
410                                 KEY_X, // 0x78
411                                 KEY_J, // 0x79
412                                 KEY_Z, // 0x7A
413                                 0, // 0x7B
414                                 0, // 0x7C
415                                 0, // 0x7D
416                                 0, // 0x7E
417                                 KEY_DELETE, // 0x7F
418                                 0, // 0x80
419                                 0, // 0x81
420                                 0, // 0x82
421                                 0, // 0x83
422                                 0, // 0x84
423                                 0, // 0x85
424                                 0, // 0x86
425                                 0, // 0x87
426                                 0, // 0x88
427                                 0, // 0x89
428                                 0, // 0x8A
429                                 0, // 0x8B
430                                 0, // 0x8C
431                                 0, // 0x8D
432                                 0, // 0x8E
433                                 0, // 0x8F
434                                 0, // 0x90
435                                 0, // 0x91
436                                 0, // 0x92
437                                 0, // 0x93
438                                 0, // 0x94
439                                 0, // 0x95
440                                 0, // 0x96
441                                 0, // 0x97
442                                 0, // 0x98
443                                 0, // 0x99
444                                 0, // 0x9A
445                                 0, // 0x9B
446                                 0, // 0x9C
447                                 0, // 0x9D
448                                 0, // 0x9E
449                                 0, // 0x9F
450                                 0, // 0xA0
451                                 0, // 0xA1
452                                 0, // 0xA2
453                                 0, // 0xA3
454                                 0, // 0xA4
455                                 0, // 0xA5
456                                 0, // 0xA6
457                                 0, // 0xA7
458                                 0, // 0xA8
459                                 0, // 0xA9
460                                 0, // 0xAA
461                                 0, // 0xAB
462                                 0, // 0xAC
463                                 0, // 0xAD
464                                 0, // 0xAE
465                                 0, // 0xAF
466                                 0, // 0xB0
467                                 KEYPAD_0, // 0xB1
468                                 KEYPAD_PERIOD, // 0xB2
469                                 0, // 0xB3
470                                 0, // 0xB4
471                                 0, // 0xB5
472                                 0, // 0xB6
473                                 0, // 0xB7
474                                 0, // 0xB8
475                                 0, // 0xB9
476                                 0, // 0xBA
477                                 0, // 0xBB
478                                 0, // 0xBC
479                                 0, // 0xBD
480                                 0, // 0xBE
481                                 0, // 0xBF
482                                 KEYPAD_1, // 0xC0
483                                 KEYPAD_2, // 0xC1
484                                 KEYPAD_3, // 0xC2
485                                 KEYPAD_ENTER, // 0xC3
486                                 0, // 0xC4
487                                 0, // 0xC5
488                                 0, // 0xC6
489                                 0, // 0xC7
490                                 0, // 0xC8
491                                 0, // 0xC9
492                                 0, // 0xCA
493                                 0, // 0xCB
494                                 0, // 0xCC
495                                 0, // 0xCD
496                                 0, // 0xCE
497                                 0, // 0xCF
498                                 KEYPAD_4, // 0xD0
499                                 KEYPAD_5, // 0xD1
500                                 KEYPAD_6, // 0xD2
501                                 KEYPAD_COMMA, // 0xD3
502                                 0, // 0xD4
503                                 0, // 0xD5
504                                 0, // 0xD6
505                                 0, // 0xD7
506                                 0, // 0xD8
507                                 0, // 0xD9
508                                 0, // 0xDA
509                                 0, // 0xDB
510                                 0, // 0xDC
511                                 0, // 0xDD
512                                 0, // 0xDE
513                                 0, // 0xDF
514                                 0, // 0xE0
515                                 KEYPAD_7, // 0xE1
516                                 KEYPAD_8, // 0xE2
517                                 KEYPAD_9, // 0xE3
518                                 KEYPAD_MINUS, // 0xE4
519                                 0, // 0xE5
520                                 0, // 0xE6
521                                 0, // 0xE7
522                                 0, // 0xE8
523                                 0, // 0xE9
524                                 0, // 0xEA
525                                 0, // 0xEB
526                                 0, // 0xEC
527                                 0, // 0xED
528                                 0, // 0xEE
529                                 0, // 0xEF
530                                 0, // 0xF0
531                                 KEY_UP, // 0xF1
532                                 KEY_DOWN, // 0xF2
533                                 KEY_LEFT, // 0xF3
534                                 KEY_RIGHT, // 0xF4
535                                 KEY_LEFT_SHIFT, // 0xF5
536                                 KEY_CTRL, // 0xF6
537                                 0, // 0xF7
538                                 0, // 0xF8
539                                 0, // 0xF9
540                                 0, // 0xFA
541                                 0, // 0xFB
542                                 0, // 0xFC
543                                 0, // 0xFD
544                                 0, // 0xFE
545                                 0, // 0xFF
546 };
547
548
549
550 #endif
551