forked from DreymaR/BigBagKbdTrixPKL
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_eD_Remap.ini
More file actions
244 lines (228 loc) · 21.9 KB
/
_eD_Remap.ini
File metadata and controls
244 lines (228 loc) · 21.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
;
;; Remap definitions
;; for Portable Keyboard Layout by Farkas Máté [https://github.com/Portable-Keyboard-Layout]
;; edition DreymaR (Øystein B Gadmar, 2015-) [https://github.com/DreymaR/BigBagKbdTrixPKL]
;;
;; This file provides remap cycles for compatibility and ergonomic mods.
;; It usually goes in the ./Files folder and is used by EPKL.exe.
;; NOTE: Help images are not updated automatically. You have to run the Help Image Generator (which requires Inkscape) for that.
;
;; Remap notes:
;; - There are remap loops/permutations/cycles, and a section of remaps referring to them.
;; - There's a VK table using VK## for long names and names for shorter ones. Abbreviations explained in comments. The default table uses ANSI VK_OEM codes.
;; - VK/SC entries are case agnostic. EPKL converts them to upper case internally.
;; - The KLM map codes are 3 long for special keys and 2 for letters/numbers. For SC, use QW### or Co### as desired. For VK, vc### is a synonym for QW###.
;; - The keys to the right of the main block can be left out of a map if unused.
;
[KeyLayoutMap]
;; These key maps are used in cycles below. A key remap cycle will be converted from the chosen map type (specified at the start of the cycle) to SC.
;; 'Enhanced 101/102-key' (type 4 keyboard). VirtualKey, ScanCode and Colemak alias mappings.
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
;; ||Esc |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10 |F11 |F12 ||Back |Menu ||PrtSc |ScrLk |Pause ||NumLk |KP / |KP * |KP - ||
VK0 ="ESCAPE| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 || BACK | APPS || vk2c |SCROLL|PAUSE || vk90 | vk6f | vk6a | vk6d |"
SC0 ="sc001 |sc03b |sc03c |sc03d |sc03e |sc03f |sc040 |sc041 |sc042 |sc043 |sc044 |sc057 |sc058 ||sc00e |sc15d ||sc137 |sc046 |sc045 ||sc145 |sc135 |sc137 |sc04a |"
Co0 =" ESC | _F1 | _F2 | _F3 | _F4 | _F5 | _F6 | _F7 | _F8 | _F9 | F10 | F11 | F12 || BSP | APP || PSC | SLK | PAU || NLK | PDV | PMU | PMN |"
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX------+------+------+------XX
;; ||` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= ||LShft |RShft ||Ins |Home |PgUp ||KP 7 |KP 8 |KP 9 |KP + ||
VK1 ="OEM_3 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | vkbd | vkbb ||LSHIFT|RSHIFT||INSERT| HOME |PRIOR || vk67 | vk68 | vk69 | vk6b |"
SC1 ="sc029 |sc002 |sc003 |sc004 |sc005 |sc006 |sc007 |sc008 |sc009 |sc00a |sc00b |sc00c |sc00d ||sc02a |sc136 ||sc152 |sc147 |sc149 ||sc047 |sc048 |sc049 |sc04e |"
Co1 =" _GR | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _0 | _MN | _PL || LSH | RSH || INS | HOM | PGU || P_7 | P_8 | P_9 | PPL |"
;; XX------+------+------+------+------+------+------+------+------+------+------+------+------XX------+------XX------+------+------XX------+------+------+------XX
;Cmk||Tab |Q |W |F |P |G |J |L |U |Y |; |[ |] ||LCtrl |RCtrl ||Del |End |PgDn ||KP 4 |KP 5 |KP 6 |KPEnt ||
VK2 =" TAB | Q | W | E | R | T | Y | U | I | O | P |OEM_4 |OEM_6 || vka2 | vka3 ||DELETE| END | NEXT || vk64 | vk65 | vk66 | vk6c |"
SC2 ="sc00f |sc010 |sc011 |sc012 |sc013 |sc014 |sc015 |sc016 |sc017 |sc018 |sc019 |sc01a |sc01b ||sc01d |sc11d ||sc153 |sc14f |sc151 ||sc04b |sc04c |sc04d |sc11c |"
Co2 =" TAB | _Q | _W | _F | _P | _G | _J | _L | _U | _Y | _SC | _LB | _RB || LCT | RCT || DEL | END | PGD || P_4 | P_5 | P_6 | PEN |"
;; XX------+------+------+------+------+------+------+------+------+------+------+------+------XX------+------XX======+======+======XX------+------+------+------XX
;Cmk||Caps |A |R |S |T |D |H |N |E |I |O |' |\ ||LGUI |RGUI ||VolDn |Up |VolUp ||KP 1 |KP 2 |KP 3 |Mute ||
VK3 =" vk14 | A | S | D | F | G | H | J | K | L |OEM_1 |OEM_7 |OEM_5 || LWIN | RWIN || vkaf | UP | vkae || vk61 | vk62 | vk63 | vkad |"
SC3 ="sc03a |sc01e |sc01f |sc020 |sc021 |sc022 |sc023 |sc024 |sc025 |sc026 |sc027 |sc028 |sc02b ||sc15b |sc15c ||sc130 |sc148 |sc12e ||sc04e |sc04f |sc050 |sc120 |"
Co3 =" CLK | _A | _R | _S | _T | _D | _H | _N | _E | _I | _O | _QU | _BS || LWI | RWI || VLD | _UP | VLU || P_1 | P_2 | P_3 | MUT |"
;; XX------+------+------+------+------+------+------+------+------+------+------+------+------XX------+------XX------+------+------XX------+------+------+------XX
;Cmk||LS/GT |Z |X |C |V |B |K |M |, |. |/ |Enter |Space ||LAlt |RAlt ||Left |Down |Right ||KP 0 |KP . |Power |Sleep ||
VK4 =" vke2 | Z | X | C | V | B | N | M | vkbc | vkbe |OEM_2 |RETURN|SPACE ||LMENU |RMENU || LEFT | DOWN |RIGHT || vk60 | vk6e |POWER |SLEEP |"
SC4 ="sc056 |sc02c |sc02d |sc02e |sc02f |sc030 |sc031 |sc032 |sc033 |sc034 |sc035 |sc01c |sc039 ||sc038 |sc138 ||sc14b |sc150 |sc14d ||sc052 |sc053 |sc15e |sc15f |"
Co4 =" _LG | _Z | _X | _C | _V | _B | _K | _M | _CM | _PD | _SL | ENT | SPC || LAL | RAL || _LE | _DN | _RI || P_0 | PDC | PWR | SLP |"
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
;; VK general abbreviations: 14-CAPITAL, 2c-SNAPSHOT, e2-OEM_102, [a2-a3]-#CONTROL, bb-OEM_PLUS, bc-OEM_COMMA, bd-OEM_MINUS, be-OEM_PERIOD, df-OEM_8 (not on ANSI)
;; VK NumPad abbreviations: [60-69]-NUMPAD#, 6a-MULTIPLY, 6b-ADD, 6c-SEPARATOR, 6d-SUBTRACT, 6e-DECIMAL, 6f-DIVIDE, 90-NUMLOCK
;; Other key codes: SC146 = CtrlBrk; SC054 = SysReq; SC163 = Wake. These and Power/Sleep may not work well on all systems.
;; These are other KeyLayoutMap variants with positional information and full-length maps. You can use them in remap cycles.
;; * QWERTY labeled Co-like KeyLayoutMap.
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
QW0 =" ESC | _F1 | _F2 | _F3 | _F4 | _F5 | _F6 | _F7 | _F8 | _F9 | F10 | F11 | F12 || BSP | APP || PSC | SLK | PAU || NLK | PDV | PMU | PMN |"
QW1 =" _GR | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _0 | _MN | _PL || LSH | RSH || INS | HOM | PGU || P_7 | P_8 | P_9 | PPL |"
QW2 =" TAB | _Q | _W | _E | _R | _T | _Y | _U | _I | _O | _P | _LB | _RB || LCT | RCT || DEL | END | PGD || P_4 | P_5 | P_6 | PEN |"
QW3 =" CLK | _A | _S | _D | _F | _G | _H | _J | _K | _L | _SC | _QU | _BS || LWI | RWI || VLD | _UP | VLU || P_1 | P_2 | P_3 | MUT |"
QW4 =" _LG | _Z | _X | _C | _V | _B | _N | _M | _CM | _PD | _SL | ENT | SPC || LAL | RAL || _LE | _DN | _RI || P_0 | PDC | PWR | SLP |"
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
;;
;; * Colemak labeled TMK-like KeyLayoutMap.
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
TC0 =" ESC_ | _F1_ | _F2_ | _F3_ | _F4_ | _F5_ | _F6_ | _F7_ | _F8_ | _F9_ | _F10 | _F11 | _F12 || BSPC | APP_ || PSCR | SCLK | PAUS || NLCK | PSLS | PAST | PMNS |"
TC1 =" N0GR | N1_1 | N2_2 | N3_3 | N4_4 | N5_5 | N6_6 | N7_7 | N8_8 | N9_9 | Na_0 | NbMN | NcPL || LSFT | RSFT || INS_ | HOME | PGUP || _P7_ | _P8_ | _P9_ | PPLS |"
TC2 =" TAB_ | U1_Q | U2_W | U3_F | U4_P | U5_G | U6_J | U7_L | U8_U | U9_Y | UaSC | UbLB | UcRB || LCTL | RCTL || DEL_ | END_ | PGDN || _P4_ | _P5_ | _P6_ | PENT |"
TC3 =" CAPS | H1_A | H2_R | H3_S | H4_T | H5_D | H6_H | H7_N | H8_E | H9_I | Ha_O | HbQU | HcBS || LGUI | RGUI || VOLD | _UP_ | VOLU || _P1_ | _P2_ | _P3_ | MUTE |"
TC4 =" L0LG | L1_Z | L2_X | L3_C | L4_V | L5_B | L6_K | L7_M | L8CM | L9PD | LaSL | ENT_ | SPC_ || LALT | RALT || LEFT | DOWN | RGHT || _P0_ | PDEC | PWR_ | SLEP |"
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
;;
;; * QWERTY labeled TMK-like KeyLayoutMap.
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
TQ0 =" ESC_ | _F1_ | _F2_ | _F3_ | _F4_ | _F5_ | _F6_ | _F7_ | _F8_ | _F9_ | _F10 | _F11 | _F12 || BSPC | APP_ || PSCR | SCLK | PAUS || NLCK | PSLS | PAST | PMNS |"
TQ1 =" N0GR | N1_1 | N2_2 | N3_3 | N4_4 | N5_5 | N6_6 | N7_7 | N8_8 | N9_9 | Na_0 | NbMN | NcPL || LSFT | RSFT || INS_ | HOME | PGUP || _P7_ | _P8_ | _P9_ | PPLS |"
TQ2 =" TAB_ | U1_Q | U2_W | U3_E | U4_R | U5_T | U6_Y | U7_U | U8_I | U9_O | Ua_P | UbLB | UcRB || LCTL | RCTL || DEL_ | END_ | PGDN || _P4_ | _P5_ | _P6_ | PENT |"
TQ3 =" CAPS | H1_A | H2_S | H3_D | H4_F | H5_G | H6_H | H7_J | H8_K | H9_L | HaSC | HbQU | HcBS || LGUI | RGUI || VOLD | _UP_ | VOLU || _P1_ | _P2_ | _P3_ | MUTE |"
TQ4 =" L0LG | L1_Z | L2_X | L3_C | L4_V | L5_B | L6_N | L7_M | L8CM | L9PD | LaSL | ENT_ | SPC_ || LALT | RALT || LEFT | DOWN | RGHT || _P0_ | PDEC | PWR_ | SLEP |"
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
;;
;; * XKB key alias table. The main block is purely positional and therefore layout agnostic.
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
XK0 =" ESC | FK01 | FK02 | FK03 | FK04 | FK05 | FK06 | FK07 | FK08 | FK09 | FK10 | FK11 | FK12 || BKSP | MENU || PRSC | SCLK | PAUS || NMLK | KPDV | KPMU | KPSU |"
XK1 =" TLDE | AE01 | AE02 | AE03 | AE04 | AE05 | AE06 | AE07 | AE08 | AE09 | AE10 | AE11 | AE12 || LFSH | RTSH || INS | HOME | PGUP || KP7 | KP8 | KP9 | KPAD |"
XK2 =" TAB | AD01 | AD02 | AD03 | AD04 | AD05 | AD06 | AD07 | AD08 | AD09 | AD10 | AD11 | AD12 || LCTL | RCTL || DELE | END | PGDN || KP4 | KP5 | KP6 | KPEN |"
XK3 =" CAPS | AC01 | AC02 | AC03 | AC04 | AC05 | AC06 | AC07 | AC08 | AC09 | AC10 | AC11 | BKSL || LWIN | RWIN || VOL- | UP | VOL+ || KP1 | KP2 | KP3 | MUTE |"
XK4 =" LSGT | AB01 | AB02 | AB03 | AB04 | AB05 | AB06 | AB07 | AB08 | AB09 | AB10 | RTRN | SPCE || LALT | RALT || LEFT | DOWN | RGHT || KP0 | KPDL | POWR | I150 |"
;; XX======+======+======+======+======+======+======+======+======+======+======+======+======XX======+======XX======+======+======XX======+======+======+======XX
[Remaps]
;; Remap syntax: Each remap is a comma separated (CSV) list of permutation cycles marked with ^.
;; - <remap> without ^ includes another map. <remap> + ^<cycle> etc merges cycles/remaps.
;; - Note that merged cycles/remaps must all be of the same KeyLayMap type (e.g., "Co").
;; - Layout files may use the same syntax as these remaps.
ANS2ISO-Sc = ^VK_ANSI2ISOSc ; This remap may not be necessary anymore? ; eD WIP
AWide_ISO = Angle_ISO , Wide_ISO
AWide_ANS = Angle_ANS , Wide_ANS
DH-Angle_ISO = Cmk-Curl-DH , Angle_ISO
DH-Angle_ANS = Cmk-Curl-DH , Angle_ANS
Cmk-CAW_ISO = Cmk-Curl-DH , AWide_ISO
Cmk-CAW_ANS = Cmk-Curl-DH , AWide_ANS
Cmk-CkAW_ISO = Cmk-Curl-DHk , AWide_ISO
Cmk-CkAW_ANS = Cmk-Curl-DHk , AWide_ANS
Angle_ISO = ^Angle_ISO105
Angle_ANS = ^Angle_ANSI-Z
Wide_ISO = ^Wide7_Number , ^Wide__Upper_ , ^Wide__RBHome + ^WidSl_Lower_ ;Wide_Slash for ISO
Wide_ANS = ^Wide7_Number , ^Wide__Upper_ , ^Wide__RBHome , ^WidQu_Lower_ ;Wide_Quote for ANS
Cmk-Curl-DH = ^CurlDH_L_Std , ^CurlDH_R_DHm ; The M-on-homerow original DH(m) mod was (re)installed as DH standard in Oct 2020
Cmk-Curl-DHk = ^CurlDH_L_Std , ^CurlDH_R_DHk ; The K-on-homerow DHk variant was the DH standard from 2017 to 2020
V-B = ^Swap_V_B ; Swap V-B so CurlDH Ext+V follows V by swapping V and D, as Curl-DH puts D on the B key
SL-BS = ^Swap_SL_BS ; For Wide-ISO Extend, swap / - \ to get WhLe/WhRi together
Sym_ISO = ^SymQuMn2_ISO ; DreymaR's Symbol Rotation mod (SymQu/Mn/QuMn)
Sym1ISO = ^SymQuMn1_ISO ; DreymaR's Symbol Rotation mod (ISO 1-loop variant, leaving SL alone to improve MN on non-wide layouts)
Sym_ANS = ^SymQuMn1_ANS ; DreymaR's Symbol Rotation mod (ANSI 1-loop variant, probably the better option for ANSI overall)
;Colemaq = ^Cycl_Q_SC_QU ; Discord user snth's 'Colemaq' mod. Demo/test.
QWERTY = ^Tarmak_Rev_E + Tarmak-1
Y-Z = ^Swap_Y_Z ; Swap Y-Z to convert positions between QWERTY and QWERTZ (Germany etc.)
QW-AZ = ^Swap_QWE_AZE ; Swap A-Q, W-Z and M-SC(?) to convert roughly between QWERTY and AZERTY (France). ; eD WIP: Do the M-SC-CM-PD-etc stuff by layout VKey maps?
Tarmak-1 = ^Tarmak_Rev_T + Tarmak-2
Tarmak-2 = ^Tarmak_Rev_R + Tarmak-3
Tarmak-3 = ^Tarmak_Rev_O , Tarmak-4
Tarmak-4 = ^Tarmak_Rev_I
Tmk-1A_ISO = Tarmak-1 , Angle_ISO
Tmk-2A_ISO = Tarmak-2 , Angle_ISO
Tmk-3A_ISO = Tarmak-3 , Angle_ISO
Tmk-4A_ISO = Tarmak-4 , Angle_ISO
Tmk-1C_ISO = Tarmak-1 , ^CurlDH_R_DHm
Tmk-2C_ISO = Tarmak-2 , Cmk-Curl-DH
Tmk-3C_ISO = Tarmak-3 , Cmk-Curl-DH
Tmk-4C_ISO = Tarmak-4 , Cmk-Curl-DH ; Using the DH(m) mod, one may actually choose freely when to implement the right-hand side.
Tmk-1CA_ISO = Tmk-1C_ISO , Angle_ISO ; A Tm1, Tm1C, (Tm1CA,) Tm2C(A) starting progression is the most careful; maybe overmuch for some.
Tmk-2CA_ISO = Tmk-2C_ISO , Angle_ISO ; At Tm2, it's good to get the Angle mod in place
Tmk-3CA_ISO = Tmk-3C_ISO , Angle_ISO
Tmk-4CA_ISO = Tmk-4C_ISO , Angle_ISO
Tmk-1A_ANS = Tarmak-1 , Angle_ANS
Tmk-2A_ANS = Tarmak-2 , Angle_ANS
Tmk-3A_ANS = Tarmak-3 , Angle_ANS
Tmk-4A_ANS = Tarmak-4 , Angle_ANS
Tmk-1C_ANS = Tarmak-1 , ^CurlDH_R_DHm
Tmk-2C_ANS = Tarmak-2 , Cmk-Curl-DH
Tmk-3C_ANS = Tarmak-3 , Cmk-Curl-DH
Tmk-4C_ANS = Tarmak-4 , Cmk-Curl-DH
Tmk-1CA_ANS = Tmk-1C_ANS , Angle_ANS
Tmk-2CA_ANS = Tmk-2C_ANS , Angle_ANS
Tmk-3CA_ANS = Tmk-3C_ANS , Angle_ANS
Tmk-4CA_ANS = Tmk-4C_ANS , Angle_ANS
Dvorak = ^Dvorak_Loop1 , ^Dvorak_Loop2 + ^Dvorak_Norm3 ; Standard Dvorak
Dvk-AWide_ISO = ^Dvorak_Loop1 , ^Dvorak_Loop2 + ^Dvk_WideISO3 , AWide_ISO
Dvk-AWide_ANS = ^Dvorak_Loop1 , ^Dvorak_Loop2 + ^Dvk_WideANS3 , AWide_ANS
Dvk-CAW_ISO = ^Dvk_Curl-ID , Dvk-AWide_ISO
Dvk-CAW_ANS = ^Dvk_Curl-ID , Dvk-AWide_ANS
[RemapCycles]
;; Cycles are pipe delimited like a KeyLayoutMap.
;; The first entry determines map type (Co etc) and >(L-R)/<(R-L) order.
;; eD TODO: Order isn't implemented yet! Is it necessary? I've just reversed some cycles manually for now.
CurlDH_L_Std = Co> | _D | _V | _B | _G |
CurlDH_R_DHk = Co> | _H | _M | _K | ; The 2017 standard DHk mod, good on row-staggered boards
CurlDH_R_DHm = Co> | _H | _M | ; SteveP99's 2014 DH mod, good on matrix boards, now standard
SymQu = Co> | _QU | _SC | ; DreymaR's ' → ; symbol key rotation for a better quote pos.
SymMn_ISO = Co> | _SL | _BS | _PL | _MN | ; DreymaR's - → / → \ → = symbol key rotation for the hyphen
SymMn_ANS = Co> | _SL | _PL | _MN | ; DreymaR's - → / → = symbol key rotation for the hyphen
SymQuMn1_ISO = Co> | _QU | _SC | _BS | _PL | _MN | ; DreymaR's symbol key rotations ( ISO: ' → ; → \ → = → - )
SymQuMn2_ISO = Co> | _QU | _SC / _SL | _BS | _PL | _MN | ; DreymaR's symbol key rotations ( ' → ; and / → \ → = → - )
SymQuMn1_ANS = Co> | _QU | _SC | _SL | _PL | _MN | ; DreymaR's symbol key rotations ( ANSI: ' → ; → / → = → - )
Swap_V_B = Co> | _V | _B | ; Swap V and B (for Curl-DH Extend)
Swap_SL_BS = Co> | _SL | _BS | ; Swap / and \ (for Wide-ISO Extend)
Angle_ISO105 = Co> | _B | _V | _C | _X | _Z | _LG |
Angle_ANSI-Z = Co> | _B | _V | _C | _X | _Z |
Swap_Y_Z = Co> | _Y | _Z | ; Swap Y-Z to convert positions between QWERTY and QWERTZ (Germany etc.)
Swap_QWE_AZE = Co> | _A | _Q / _W | _Z / _M | _SC | ; Swap A-Q, W-Z and M-SC to convert roughly between QWERTY and AZERTY (France)
;Cycl_Q_SC_QU = Co> | _Q | _SC | _QU | ; Discord user snth's Q > ; > ' rotation a.k.a 'Colemaq'
;Wide6_Number = TC> | N6_6 | N7_7 | N8_8 | N9_9 | Na_0 | NbMN | NcPL |
;Wide7_Number = TC> | N7_7 | N8_8 | N9_9 | Na_0 | NbMN | NcPL |
Wide6_Number = Co> | _6 | _7 | _8 | _9 | _0 | _MN | _PL |
Wide7_Number = Co> | _7 | _8 | _9 | _0 | _MN | _PL |
Wide__Upper_ = TC> | U6_J | U7_L | U8_U | U9_Y | UaSC | UbLB |
Wide__RBHome = TC> | UcRB | H6_H | H7_N | H8_E | H9_I | Ha_O | HbQU |
WidSl_Lower_ = TC> | HcBS | L6_K | L7_M | L8CM | L9PD | LaSL |
WidQu_Lower_ = TC> | L6_K | L7_M | L8CM | L9PD | LaSL |
;; Since my layouts are Colemak-centric, the Tarmak_Rev progression is backwards from Cmk[eD] to QWERTY like in my XKB files.
;; The five Tarmak loop elements are: L>U>I J>Y>O>;>P > R>S>D > G>T>F > E>K>N
Tarmak_Rev_E = Co> | _N | _K | _E |
Tarmak_Rev_T = Co> | _F | _T | _G |
Tarmak_Rev_R = Co> | _D | _S | _R |
Tarmak_Rev_O = Co> | _P | _SC | _O | _Y | _J |
Tarmak_Rev_I = Co> | _I | _U | _L |
;Tarmak_LoopE = QW> | _E | _K | _N | _J |
;Tarmak_LoopT = QW> | _G | _T | _F |
;Tarmak_LoopR = QW> | _R | _S | _D |
;Tarmak_LoopO = QW> | _Y | _O | _SC | _P |
;Tarmak_LoopI = QW> | _L | _U | _I |
;; The Dvorak layout will also be implemented here as a remap from Colemak. Users shouldn't notice.
;; Heatmap from Ioboru: G 13.1 / F 12.1 / D 11.4 / RSh 11.0 / P 10.7 / B 9.9 / LSh 9.1 / , 8.3 / . 6.6
;; TODO: Split loop 2! Make SL/MN/LB and RB/PL on a short loop where they may be rearranged to get LB/RB in the middle for Wide.
;; We need Z and SL in the lower/upper middle and MN in the RBr position?
;Dvorak_Swaps = QW> | _RB | _PL / _W | _CM | ; Ioboru's loops from QWERTY (2/2/14/15 keys)
;Dvorak_Loop1 = QW> | _E | _D | _H | _J | _C | _I | _G | _U | _F | _Y | _T | _K | _V | _PD |
;Dvorak_Loop2 = QW> | _Q | _X | _B | _N | _L | _P | _R | _O | _S | _SC | _Z | _SL | _LB | _MN | _QU |
Dvorak_Loop1 = Co> | _I | _D | _H | _N / _W | _CM | ; Going from Colemak, there's a 4-loop and 2 swaps
Dvorak_Loop2 = Co> | _Q | _X | _B | _K | _V | _PD | _F | _J | _C | _U | _T | _E | _S | _O | _R | _Y | _G | _L | _SC | _Z |
Dvorak_Norm3 = Co> | _SL | _LB | _MN | _QU / _RB | _PL | ; The rest of the big loop and a swap, for normal Dvorak
Dvk_WideISO3 = Co> | _BS | _PL | _MN | _QU | ; For Wide(ISO) Dvorak, using the Wide_Slash remap
Dvk_WideANS3 = Co> | _SL | _PL | _MN | _QU | ; For Wide(ANSI) Dvorak, using the Wide_Quote remap
Dvk_Curl-ID = Co> | _I | _U | _K | _X / _D | _M | _B | _F | ; DreymaR's Dvorak Curl mod, bettering IU and DF positions
;; VirtualKey remaps follow the same general syntax as others, but are applied to VK entries. Complex, since different ISO locales use different codes!
;; - KLM vc_## VKs: | SC | GR | BS | SL | MN | PL | LB | RB | LG | QU | bd=MN, bb=PL, bc=CM, be=PD |
;; - ANSI OEM_# VKs: | ;: 1 | `~ 3 | \| 5 | /? 2 | -_ - | =+ + | [{ 4 | ]} 6 | vke2 | '" 7 | vkbd MINUS | vkbb PLUS | vkdf OEM_8 |
;; - ISO-Sc OEM_# VKs: | ;: 3 | `~ 5 | \| 2 | /? - | -_ + | =+ 4 | [{ 6 | ]} 1 | _ 102 | '" 7 | vkbc COMMA | vkbe PERIOD | (UK non-ANS) |
VK_ANSI2ISOSc = VK> | OEM_1 | OEM_3 | OEM_5 | OEM_2 | vkbd | vkbb | OEM_4 | OEM_6 | ; This remap cycle may not be necessary anymore?
;VK_ISOSc2ANSI = VK> | OEM_6 | OEM_4 | vkbb | vkbd | OEM_2 | OEM_5 | OEM_3 | OEM_1 | ; This remap cycle isn't in use
;; ****************************************************************
;; **** VK_OEM key code table (Key and SC for ANSI) ****
;; ****************************************************************
;; KLM : SC PL CM MN PD SL GR LB BS RB QU ?? LG
;; Key : :; += <, _- >. ?/ ~` {[ |\ }] "' §| ><
;; VK OEM_ : _1 PL CM MN PD _2 _3 _4 _5 _6 _7 _8 _102
;; VK hex : BA BB BC BD BE BF C0 DB DC DD DE DF E2
;; SC ANS : 27 0D 33 0C 34 35 29 1A 2B 1B 28 -- 56
;; ****************************************************************
;; **** OEM key codes vs some locales; ISO variations ****
;; ****************************************************************
;; KLM OEM : GR MN PL LB RB BS SC QU LG CM PD SL
;; SC code : 29 0C 0D 1A 1B 2B 27 28 56 33 34 35
;; VK code : C0 BD BB DB DD DC BA DE E2 BC BE BF
;; KLM ANS : _3/MN/PL _4/_6/_5 _1/_7/LG CM/PD/_2 ; KLM ANS default, used by some locales (US,Al,Vi,Br,...?)
;; KLM ISO : _5/PL/_4 _6/_1/_2 _3/_7/LG CM/PD/MN ; KLM ISO-Sc, for Scandinavian locales (Dk,No,Fi,Se)
;; UK : _8/MN/PL _4/_6/_7 _1/_3/_5 CM/PD/_2 ; UK, UK "Extended"
;; De/Es++ : _5/_4/_6 _1/PL/_2 _3/_7/LG CM/PD/MN ; A/Z swap for De QWERTZ. Otherwise as Es. Pt swaps _1/PL.
;; Fr/Be : _7/_4/PL _6/_1/_5 CM/_3/LG PD/_2/_8 ; A/Q W/Z M/CM/... swaps. Be has PL->MN _8->PL.
;; Ca : _7/MN/PL _4/_6/_5 _1/_3/LG CM/PD/_2 ; Canadian "French" and "Multilingual"
;; Cz/Pl++ : _3/PL/_2 _4/_6/_5 _1/_7/LG CM/PD/MN ; Cz, Pl "(214)", Slovenian (swaps _2/PL). Cz "QWERTY" has ANS.
;; Tk : _3/_8/MN _4/_6/CM _1/_7/LG _2/_5/PD ; Turkish "Q"
;; ****************************************************************