]> git.donarmstrong.com Git - kiibohd-controller.git/blob - Keymap/sonyoas3400.h
Adding initial version of Sony OA-S3400 converter.
[kiibohd-controller.git] / Keymap / sonyoas3400.h
1 /* Copyright (C) 2012 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 __SONYOAS3400_H
23 #define __SONYOAS3400_H
24
25 // This file contains various key layouts for the Sony OA-S3400 Word Processor Keyboard
26
27
28 // ----- Variables -----
29 static uint8_t sonyoas3400_ModifierMask[] = { 0x90, 0x91, 0x92, 0xCE, 0xE0 };
30
31 static uint8_t sonyoas3400_DefaultMap[] = { 
32                                 0, // 0x00
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                                 0, // 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                                 0, // 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                                 KEY_A, // 0x41
98                                 KEY_B, // 0x42
99                                 KEY_C, // 0x43
100                                 KEY_D, // 0x44
101                                 KEY_E, // 0x45
102                                 KEY_F, // 0x46
103                                 KEY_G, // 0x47
104                                 KEY_H, // 0x48
105                                 KEY_I, // 0x49
106                                 KEY_J, // 0x4A
107                                 KEY_K, // 0x4B
108                                 KEY_L, // 0x4C
109                                 KEY_M, // 0x4D
110                                 KEY_N, // 0x4E
111                                 KEY_O, // 0x4F
112                                 KEY_P, // 0x50
113                                 KEY_Q, // 0x51
114                                 KEY_R, // 0x52
115                                 KEY_S, // 0x53
116                                 KEY_T, // 0x54
117                                 KEY_U, // 0x55
118                                 KEY_V, // 0x56
119                                 KEY_W, // 0x57
120                                 KEY_X, // 0x58
121                                 KEY_Y, // 0x59
122                                 KEY_Z, // 0x5A
123                                 0, // 0x5B
124                                 0, // 0x5C
125                                 0, // 0x5D
126                                 0, // 0x5E
127                                 0, // 0x5F
128                                 0, // 0x60
129                                 0, // 0x61
130                                 0, // 0x62
131                                 0, // 0x63
132                                 0, // 0x64
133                                 0, // 0x65
134                                 0, // 0x66
135                                 0, // 0x67
136                                 0, // 0x68
137                                 0, // 0x69
138                                 0, // 0x6A
139                                 0, // 0x6B
140                                 0, // 0x6C
141                                 0, // 0x6D
142                                 0, // 0x6E
143                                 0, // 0x6F
144                                 0, // 0x70
145                                 0, // 0x71
146                                 0, // 0x72
147                                 0, // 0x73
148                                 0, // 0x74
149                                 0, // 0x75
150                                 0, // 0x76
151                                 0, // 0x77
152                                 0, // 0x78
153                                 0, // 0x79
154                                 0, // 0x7A
155                                 0, // 0x7B
156                                 0, // 0x7C
157                                 0, // 0x7D
158                                 0, // 0x7E
159                                 0, // 0x7F
160                                 0, // 0x80
161                                 0, // 0x81
162                                 KEY_LEFT_BRACE, // 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                                 KEY_LEFT_SHIFT, // 0x90
177                                 KEY_LEFT_CTRL, // 0x91
178                                 KEY_LEFT_ALT, // 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                                 KEY_TAB, // 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                                 0, // 0xB1
210                                 0, // 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                                 0, // 0xC0
225                                 0, // 0xC1
226                                 0, // 0xC2
227                                 0, // 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                                 KEY_LEFT_GUI, // 0xCE
239                                 KEY_RIGHT_BRACE, // 0xCF
240                                 KEY_ESC, // 0xD0
241                                 KEY_TILDE, // 0xD1
242                                 KEY_BACKSLASH, // 0xD2
243                                 KEY_F11, // 0xD3
244                                 KEY_F12, // 0xD4
245                                 KEY_F10, // 0xD5
246                                 KEY_UP, // 0xD6
247                                 KEY_DOWN, // 0xD7
248                                 KEY_LEFT, // 0xD8
249                                 KEY_RIGHT, // 0xD9
250                                 0, // 0xDA
251                                 0, // 0xDB
252                                 0, // 0xDC
253                                 0, // 0xDD
254                                 0, // 0xDE
255                                 0, // 0xDF
256                                 KEY_RIGHT_ALT, // 0xE0
257                                 KEY_INSERT, // 0xE1
258                                 KEY_HOME, // 0xE2
259                                 KEY_PAGE_UP, // 0xE3
260                                 KEY_DELETE, // 0xE4
261                                 KEY_END, // 0xE5
262                                 KEY_PAGE_DOWN, // 0xE6
263                                 KEY_DOWN, // 0xE7
264                                 KEY_F9, // 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                                 0, // 0xF1
274                                 0, // 0xF2
275                                 0, // 0xF3
276                                 0, // 0xF4
277                                 0, // 0xF5
278                                 KEY_F1, // 0xF6
279                                 KEY_F2, // 0xF7
280                                 KEY_F3, // 0xF8
281                                 KEY_F4, // 0xF9
282                                 KEY_F5, // 0xFA
283                                 KEY_F6, // 0xFB
284                                 KEY_F7, // 0xFC
285                                 KEY_F8, // 0xFD
286                                 0, // 0xFE
287                                 0, // 0xFF
288 };
289
290 static uint8_t sonyoas3400_ColemakMap[] = {
291                                 0, // 0x00
292                                 0, // 0x01
293                                 0, // 0x02
294                                 0, // 0x03
295                                 0, // 0x04
296                                 0, // 0x05
297                                 0, // 0x06
298                                 0, // 0x07
299                                 KEY_BACKSPACE, // 0x08
300                                 0, // 0x09
301                                 0, // 0x0A
302                                 0, // 0x0B
303                                 0, // 0x0C
304                                 KEY_ENTER, // 0x0D
305                                 0, // 0x0E
306                                 0, // 0x0F
307                                 0, // 0x10
308                                 0, // 0x11
309                                 0, // 0x12
310                                 0, // 0x13
311                                 0, // 0x14
312                                 0, // 0x15
313                                 0, // 0x16
314                                 0, // 0x17
315                                 0, // 0x18
316                                 0, // 0x19
317                                 0, // 0x1A
318                                 0, // 0x1B
319                                 0, // 0x1C
320                                 0, // 0x1D
321                                 0, // 0x1E
322                                 0, // 0x1F
323                                 KEY_SPACE, // 0x20
324                                 0, // 0x21
325                                 0, // 0x22
326                                 0, // 0x23
327                                 0, // 0x24
328                                 0, // 0x25
329                                 0, // 0x26
330                                 KEY_QUOTE, // 0x27
331                                 0, // 0x28
332                                 0, // 0x29
333                                 0, // 0x2A
334                                 0, // 0x2B
335                                 KEY_COMMA, // 0x2C
336                                 KEY_MINUS, // 0x2D
337                                 KEY_PERIOD, // 0x2E
338                                 KEY_SLASH, // 0x2F
339                                 KEY_0, // 0x30
340                                 KEY_1, // 0x31
341                                 KEY_2, // 0x32
342                                 KEY_3, // 0x33
343                                 KEY_4, // 0x34
344                                 KEY_5, // 0x35
345                                 KEY_6, // 0x36
346                                 KEY_7, // 0x37
347                                 KEY_8, // 0x38
348                                 KEY_9, // 0x39
349                                 0, // 0x3A
350                                 KEY_O, // 0x3B
351                                 0, // 0x3C
352                                 KEY_EQUAL, // 0x3D
353                                 0, // 0x3E
354                                 0, // 0x3F
355                                 0, // 0x40
356                                 KEY_A, // 0x41
357                                 KEY_B, // 0x42
358                                 KEY_C, // 0x43
359                                 KEY_S, // 0x44
360                                 KEY_F, // 0x45
361                                 KEY_T, // 0x46
362                                 KEY_D, // 0x47
363                                 KEY_H, // 0x48
364                                 KEY_U, // 0x49
365                                 KEY_N, // 0x4A
366                                 KEY_E, // 0x4B
367                                 KEY_I, // 0x4C
368                                 KEY_M, // 0x4D
369                                 KEY_K, // 0x4E
370                                 KEY_Y, // 0x4F
371                                 KEY_SEMICOLON, // 0x50
372                                 KEY_Q, // 0x51
373                                 KEY_P, // 0x52
374                                 KEY_R, // 0x53
375                                 KEY_G, // 0x54
376                                 KEY_L, // 0x55
377                                 KEY_V, // 0x56
378                                 KEY_W, // 0x57
379                                 KEY_X, // 0x58
380                                 KEY_J, // 0x59
381                                 KEY_Z, // 0x5A
382                                 0, // 0x5B
383                                 0, // 0x5C
384                                 0, // 0x5D
385                                 0, // 0x5E
386                                 0, // 0x5F
387                                 0, // 0x60
388                                 0, // 0x61
389                                 0, // 0x62
390                                 0, // 0x63
391                                 0, // 0x64
392                                 0, // 0x65
393                                 0, // 0x66
394                                 0, // 0x67
395                                 0, // 0x68
396                                 0, // 0x69
397                                 0, // 0x6A
398                                 0, // 0x6B
399                                 0, // 0x6C
400                                 0, // 0x6D
401                                 0, // 0x6E
402                                 0, // 0x6F
403                                 0, // 0x70
404                                 0, // 0x71
405                                 0, // 0x72
406                                 0, // 0x73
407                                 0, // 0x74
408                                 0, // 0x75
409                                 0, // 0x76
410                                 0, // 0x77
411                                 0, // 0x78
412                                 0, // 0x79
413                                 0, // 0x7A
414                                 0, // 0x7B
415                                 0, // 0x7C
416                                 0, // 0x7D
417                                 0, // 0x7E
418                                 0, // 0x7F
419                                 0, // 0x80
420                                 0, // 0x81
421                                 KEY_LEFT_BRACE, // 0x82
422                                 0, // 0x83
423                                 0, // 0x84
424                                 0, // 0x85
425                                 0, // 0x86
426                                 0, // 0x87
427                                 0, // 0x88
428                                 0, // 0x89
429                                 0, // 0x8A
430                                 0, // 0x8B
431                                 0, // 0x8C
432                                 0, // 0x8D
433                                 0, // 0x8E
434                                 0, // 0x8F
435                                 KEY_LEFT_SHIFT, // 0x90
436                                 KEY_LEFT_CTRL, // 0x91
437                                 KEY_LEFT_ALT, // 0x92
438                                 0, // 0x93
439                                 0, // 0x94
440                                 0, // 0x95
441                                 0, // 0x96
442                                 0, // 0x97
443                                 0, // 0x98
444                                 0, // 0x99
445                                 0, // 0x9A
446                                 0, // 0x9B
447                                 0, // 0x9C
448                                 0, // 0x9D
449                                 0, // 0x9E
450                                 0, // 0x9F
451                                 0, // 0xA0
452                                 KEY_TAB, // 0xA1
453                                 0, // 0xA2
454                                 0, // 0xA3
455                                 0, // 0xA4
456                                 0, // 0xA5
457                                 0, // 0xA6
458                                 0, // 0xA7
459                                 0, // 0xA8
460                                 0, // 0xA9
461                                 0, // 0xAA
462                                 0, // 0xAB
463                                 0, // 0xAC
464                                 0, // 0xAD
465                                 0, // 0xAE
466                                 0, // 0xAF
467                                 0, // 0xB0
468                                 0, // 0xB1
469                                 0, // 0xB2
470                                 0, // 0xB3
471                                 0, // 0xB4
472                                 0, // 0xB5
473                                 0, // 0xB6
474                                 0, // 0xB7
475                                 0, // 0xB8
476                                 0, // 0xB9
477                                 0, // 0xBA
478                                 0, // 0xBB
479                                 0, // 0xBC
480                                 0, // 0xBD
481                                 0, // 0xBE
482                                 0, // 0xBF
483                                 0, // 0xC0
484                                 0, // 0xC1
485                                 0, // 0xC2
486                                 0, // 0xC3
487                                 0, // 0xC4
488                                 0, // 0xC5
489                                 0, // 0xC6
490                                 0, // 0xC7
491                                 0, // 0xC8
492                                 0, // 0xC9
493                                 0, // 0xCA
494                                 0, // 0xCB
495                                 0, // 0xCC
496                                 0, // 0xCD
497                                 KEY_LEFT_GUI, // 0xCE
498                                 KEY_RIGHT_BRACE, // 0xCF
499                                 KEY_ESC, // 0xD0
500                                 KEY_TILDE, // 0xD1
501                                 KEY_BACKSLASH, // 0xD2
502                                 KEY_F11, // 0xD3
503                                 KEY_F12, // 0xD4
504                                 KEY_F10, // 0xD5
505                                 KEY_UP, // 0xD6
506                                 KEY_DOWN, // 0xD7
507                                 KEY_LEFT, // 0xD8
508                                 KEY_RIGHT, // 0xD9
509                                 0, // 0xDA
510                                 0, // 0xDB
511                                 0, // 0xDC
512                                 0, // 0xDD
513                                 0, // 0xDE
514                                 0, // 0xDF
515                                 KEY_RIGHT_ALT, // 0xE0
516                                 KEY_INSERT, // 0xE1
517                                 KEY_HOME, // 0xE2
518                                 KEY_PAGE_UP, // 0xE3
519                                 KEY_DELETE, // 0xE4
520                                 KEY_END, // 0xE5
521                                 KEY_PAGE_DOWN, // 0xE6
522                                 KEY_DOWN, // 0xE7
523                                 KEY_F9, // 0xE8
524                                 0, // 0xE9
525                                 0, // 0xEA
526                                 0, // 0xEB
527                                 0, // 0xEC
528                                 0, // 0xED
529                                 0, // 0xEE
530                                 0, // 0xEF
531                                 0, // 0xF0
532                                 0, // 0xF1
533                                 0, // 0xF2
534                                 0, // 0xF3
535                                 0, // 0xF4
536                                 0, // 0xF5
537                                 KEY_F1, // 0xF6
538                                 KEY_F2, // 0xF7
539                                 KEY_F3, // 0xF8
540                                 KEY_F4, // 0xF9
541                                 KEY_F5, // 0xFA
542                                 KEY_F6, // 0xFB
543                                 KEY_F7, // 0xFC
544                                 KEY_F8, // 0xFD
545                                 0, // 0xFE
546                                 0, // 0xFF
547 };
548
549
550
551 #endif
552