]>
git.gir.st - tmk_keyboard.git/blob - converter/ps2_usb/unimap_trans.h
2 Copyright 2016 Jun Wako <wakojun@gmail.com>
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef UNIMAP_TRNAS_H
18 #define UNIMAP_TRNAS_H
21 #include <avr/pgmspace.h>
26 K68,K69,K6A,K6B,K6C,K6D,K6E,K6F,K70,K71,K72,K73, \
27 K29, K3A,K3B,K3C,K3D,K3E,K3F,K40,K41,K42,K43,K44,K45, K46,K47,K48, K01,K02,K03, \
28 K35,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K2D,K2E,K74,K2A, K49,K4A,K4B, K53,K54,K55,K56, \
29 K2B,K14,K1A,K08,K15,K17,K1C,K18,K0C,K12,K13,K2F,K30, K31, K4C,K4D,K4E, K5F,K60,K61,K57, \
30 K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34, K28, K5C,K5D,K5E,K66, \
31 K79,K64,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, K75,K7D, K52, K59,K5A,K5B,K58, \
32 K78,K7B,K7A,K77, K2C, K76,K00,K7E,K7F,K65,K7C, K50,K51,K4F, K32,K62,K63,K67 \
34 K68,K69,K6A,K6B,K6C,K6D,K6E,K6F,K70,K71,K72,K73, \
35 K29, K3A,K3B,K3C,K3D,K3E,K3F,K40,K41,K42,K43,K44,K45, K46,K47,K48, K01,K02,K03, \
36 K35,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K2D,K2E,K74,K2A, K49,K4A,K4B, K53,K54,K55,K56, \
37 K2B,K14,K1A,K08,K15,K17,K1C,K18,K0C,K12,K13,K2F,K30, K31, K4C,K4D,K4E, K5F,K60,K61,K57, \
38 K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34, K32,K28, K5C,K5D,K5E,K66, \
39 K79,K64,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, K75,K7D, K52, K59,K5A,K5B,K58, \
40 K78,K7B,K7A,K77, K2C, K76,K00,K7E,K7F,K65,K7C, K50,K51,K4F, K62,K63,K67 \
44 /* Mapping to Universal keyboard layout
46 * Universal keyboard layout
47 * ,-----------------------------------------------.
48 * |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
49 * ,---. |-----------------------------------------------| ,-----------. ,-----------.
50 * |Esc| |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|
51 * `---' `-----------------------------------------------' `-----------' `-----------'
52 * ,-----------------------------------------------------------. ,-----------. ,---------------.
53 * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -|
54 * |-----------------------------------------------------------| |-----------| |---------------|
55 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +|
56 * |-----------------------------------------------------------| `-----------' |---------------|
57 * |CapsL | A| S| D| F| G| H| J| K| L| ;| '| ^a|Retn| | 4| 5| 6|KP,|
58 * |-----------------------------------------------------------| ,---. |---------------|
59 * |Shft| <| Z| X| C| V| B| N| M| ,| .| /| RO|Shift | |Up | | 1| 2| 3|KP=|
60 * |-----------------------------------------------------------| ,-----------. |---------------|
61 * |Ctl|Gui|Alt|MHEN| Space |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | #| 0| .|Ent|
62 * `-----------------------------------------------------------' `-----------' `---------------'
65 * http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf
66 * ,-----------------------------------------------.
67 * | 08| 10| 18| 20| 28| 30| 38| 40| 48| 50| 57| 5F|
68 * ,---. |-----------------------------------------------| ,-----------. ,-----------.
69 * | 76| | 05| 06| 04| 0C| 03| 0B| 83| 0A| 01| 09| 78| 07| | FC| 7E| FE| | A1| B2| A3|
70 * `---' `-----------------------------------------------' `-----------' `-----------'
71 * ,-----------------------------------------------------------. ,-----------. ,---------------.
72 * | 0E| 16| 1E| 26| 25| 2E| 36| 3D| 3E| 46| 45| 4E| 55| 6A| 66| | F0| EC| FD| | 77| CA| 7C| 7B|
73 * |-----------------------------------------------------------| |-----------| |---------------|
74 * | 0D | 15| 1D| 24| 2D| 2C| 35| 3C| 43| 44| 4D| 54| 5B| 5D | | F1| E9| FA| | 6C| 75| 7D| 79|
75 * |-----------------------------------------------------------| `-----------' |---------------|
76 * | 58 | 1C| 1B| 23| 2B| 34| 33| 3B| 42| 4B| 4C| 52| ^a| 5A | | 6B| 73| 74| 6D|
77 * |-----------------------------------------------------------| ,---. |---------------|
78 * | 12 | 61| 1A| 22| 21| 2A| 32| 31| 3A| 41| 49| 4A| 51| 59 | | F5| | 69| 72| 7A| DA|
79 * |-----------------------------------------------------------| ,-----------. |---------------|
80 * | 14| 9F| 11| 67 | 29 | 64 | 13 | 91| A7| AF| 94| | EB| F2| F4| | 68| 70| 71| 63|
81 * `-----------------------------------------------------------' `-----------' `---------------'
82 * ^a: ISO hash key uses identical scancode 5D to US backslash.
83 * 51, 63, 68, 6D: hidden keys in IBM model M
85 const uint8_t PROGMEM unimap_trans
[MATRIX_ROWS
][MATRIX_COLS
] = {
86 { UNIMAP_NO
, UNIMAP_F9
, UNIMAP_NO
, UNIMAP_F5
, UNIMAP_F3
, UNIMAP_F1
, UNIMAP_F2
, UNIMAP_F12
}, /* 00-07 */
87 { UNIMAP_F13
, UNIMAP_F10
, UNIMAP_F8
, UNIMAP_F6
, UNIMAP_F4
, UNIMAP_TAB
, UNIMAP_GRV
, UNIMAP_NO
}, /* 08-0F */
88 { UNIMAP_F14
, UNIMAP_LALT
, UNIMAP_LSHIFT
,UNIMAP_KANA
, UNIMAP_LCTL
, UNIMAP_Q
, UNIMAP_1
, UNIMAP_NO
}, /* 10-17 */
89 { UNIMAP_F15
, UNIMAP_NO
, UNIMAP_Z
, UNIMAP_S
, UNIMAP_A
, UNIMAP_W
, UNIMAP_2
, UNIMAP_NO
}, /* 18-1F */
90 { UNIMAP_F16
, UNIMAP_C
, UNIMAP_X
, UNIMAP_D
, UNIMAP_E
, UNIMAP_4
, UNIMAP_3
, UNIMAP_NO
}, /* 20-27 */
91 { UNIMAP_F17
, UNIMAP_SPACE
, UNIMAP_V
, UNIMAP_F
, UNIMAP_T
, UNIMAP_R
, UNIMAP_5
, UNIMAP_NO
}, /* 28-2F */
92 { UNIMAP_F18
, UNIMAP_N
, UNIMAP_B
, UNIMAP_H
, UNIMAP_G
, UNIMAP_Y
, UNIMAP_6
, UNIMAP_NO
}, /* 30-37 */
93 { UNIMAP_F19
, UNIMAP_NO
, UNIMAP_M
, UNIMAP_J
, UNIMAP_U
, UNIMAP_7
, UNIMAP_8
, UNIMAP_NO
}, /* 38-3F */
94 { UNIMAP_F20
, UNIMAP_COMMA
, UNIMAP_K
, UNIMAP_I
, UNIMAP_O
, UNIMAP_0
, UNIMAP_9
, UNIMAP_NO
}, /* 40-47 */
95 { UNIMAP_F21
, UNIMAP_DOT
, UNIMAP_SLASH
, UNIMAP_L
, UNIMAP_SCOLON
,UNIMAP_P
, UNIMAP_MINUS
, UNIMAP_NO
}, /* 48-4F */
96 { UNIMAP_F22
, UNIMAP_RO
, UNIMAP_QUOTE
, UNIMAP_NO
, UNIMAP_LBRC
, UNIMAP_EQUAL
, UNIMAP_NO
, UNIMAP_F23
}, /* 50-57 */
97 { UNIMAP_CAPS
, UNIMAP_RSHIFT
,UNIMAP_ENTER
, UNIMAP_RBRC
, UNIMAP_NO
, UNIMAP_BSLASH
,UNIMAP_NO
, UNIMAP_F24
}, /* 58-5F */
98 { UNIMAP_NO
, UNIMAP_NUBS
, UNIMAP_NO
, UNIMAP_PEQL
, UNIMAP_HENK
, UNIMAP_NO
, UNIMAP_BSPACE
,UNIMAP_MHEN
}, /* 60-67 */
99 { UNIMAP_NUHS
, UNIMAP_P1
, UNIMAP_JYEN
, UNIMAP_P4
, UNIMAP_P7
, UNIMAP_PCMM
, UNIMAP_NO
, UNIMAP_NO
}, /* 68-6F */
100 { UNIMAP_P0
, UNIMAP_PDOT
, UNIMAP_P2
, UNIMAP_P5
, UNIMAP_P6
, UNIMAP_P8
, UNIMAP_ESC
, UNIMAP_NLCK
}, /* 70-77 */
101 { UNIMAP_F11
, UNIMAP_PPLS
, UNIMAP_P3
, UNIMAP_PMNS
, UNIMAP_PAST
, UNIMAP_P9
, UNIMAP_SLCK
, UNIMAP_NO
}, /* 78-7F */
102 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_F7
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* 80-87 */
103 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* 88-8F */
104 { UNIMAP_NO
, UNIMAP_RALT
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_RCTRL
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* 90-97 */
105 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_LGUI
}, /* 98-9F */
106 { UNIMAP_NO
, UNIMAP_VOLD
, UNIMAP_NO
, UNIMAP_MUTE
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_RGUI
}, /* A0-A7 */
107 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_APP
}, /* A8-AF */
108 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_VOLU
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* B0-B7 */
109 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* B8-BF */
110 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* C0-C7 */
111 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_PSLS
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* C8-CF */
112 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* D0-D7 */
113 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_PENT
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* D8-DF */
114 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* E0-E7 */
115 { UNIMAP_NO
, UNIMAP_END
, UNIMAP_NO
, UNIMAP_LEFT
, UNIMAP_HOME
, UNIMAP_NO
, UNIMAP_NO
, UNIMAP_NO
}, /* E8-EF */
116 { UNIMAP_INS
, UNIMAP_DEL
, UNIMAP_DOWN
, UNIMAP_NO
, UNIMAP_RIGHT
, UNIMAP_UP
, UNIMAP_NO
, UNIMAP_NO
}, /* F0-F7 */
117 { UNIMAP_NO
, UNIMAP_NO
, UNIMAP_PGDOWN
,UNIMAP_NO
, UNIMAP_PSCR
, UNIMAP_PGUP
, UNIMAP_PAUSE
, UNIMAP_NO
}, /* F8-FF */