summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson375
-rw-r--r--data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson632
-rw-r--r--data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson379
-rw-r--r--data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson641
-rw-r--r--data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson302
-rw-r--r--data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson403
-rw-r--r--data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson435
-rw-r--r--data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson359
-rw-r--r--data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson302
-rw-r--r--data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson317
-rw-r--r--data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson302
-rw-r--r--data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson367
-rw-r--r--data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson359
-rw-r--r--data/constants/keycodes/extras/keycodes_french_0.0.1.hjson367
-rw-r--r--data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson623
-rw-r--r--data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson676
-rw-r--r--data/constants/keycodes/extras/keycodes_german_0.0.1.hjson359
-rw-r--r--data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson656
-rw-r--r--data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson391
-rw-r--r--data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson347
-rw-r--r--data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson435
-rw-r--r--data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson355
-rw-r--r--data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson355
-rw-r--r--data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson364
-rw-r--r--data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson684
-rw-r--r--data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson688
-rw-r--r--data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson330
-rw-r--r--data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson310
-rw-r--r--data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson440
-rw-r--r--data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson375
-rw-r--r--data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson368
-rw-r--r--data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson217
-rw-r--r--data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson116
-rw-r--r--data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson302
-rw-r--r--data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson355
-rw-r--r--data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson86
-rw-r--r--data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson73
-rw-r--r--data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson355
-rw-r--r--data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson355
-rw-r--r--data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson620
-rw-r--r--data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson444
-rw-r--r--data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson291
-rw-r--r--data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson307
-rw-r--r--data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson407
-rw-r--r--data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson443
-rw-r--r--data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson403
-rw-r--r--data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson359
-rw-r--r--data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson359
-rw-r--r--data/constants/keycodes/extras/keycodes_steno_0.0.1.hjson4
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson359
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson642
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson640
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson642
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson640
-rw-r--r--data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson379
-rw-r--r--data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson379
-rw-r--r--data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson480
-rw-r--r--data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson375
-rw-r--r--data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson295
-rw-r--r--data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson588
-rw-r--r--data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson508
-rw-r--r--data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson576
-rw-r--r--data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson302
-rw-r--r--data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson302
-rw-r--r--lib/python/qmk/cli/generate/keycodes.py7
-rw-r--r--quantum/keymap_extras/keymap_belgian.h95
-rw-r--r--quantum/keymap_extras/keymap_bepo.h126
-rw-r--r--quantum/keymap_extras/keymap_brazilian_abnt2.h96
-rw-r--r--quantum/keymap_extras/keymap_canadian_multilingual.h131
-rw-r--r--quantum/keymap_extras/keymap_colemak.h77
-rw-r--r--quantum/keymap_extras/keymap_croatian.h93
-rw-r--r--quantum/keymap_extras/keymap_czech.h95
-rw-r--r--quantum/keymap_extras/keymap_danish.h94
-rw-r--r--quantum/keymap_extras/keymap_dvorak.h77
-rw-r--r--quantum/keymap_extras/keymap_dvorak_fr.h83
-rw-r--r--quantum/keymap_extras/keymap_dvorak_programmer.h77
-rw-r--r--quantum/keymap_extras/keymap_estonian.h94
-rw-r--r--quantum/keymap_extras/keymap_finnish.h94
-rw-r--r--quantum/keymap_extras/keymap_french.h97
-rw-r--r--quantum/keymap_extras/keymap_french_afnor.h143
-rw-r--r--quantum/keymap_extras/keymap_french_mac_iso.h113
-rw-r--r--quantum/keymap_extras/keymap_german.h94
-rw-r--r--quantum/keymap_extras/keymap_german_mac_iso.h113
-rw-r--r--quantum/keymap_extras/keymap_greek.h95
-rw-r--r--quantum/keymap_extras/keymap_hebrew.h95
-rw-r--r--quantum/keymap_extras/keymap_hungarian.h93
-rw-r--r--quantum/keymap_extras/keymap_icelandic.h95
-rw-r--r--quantum/keymap_extras/keymap_irish.h94
-rw-r--r--quantum/keymap_extras/keymap_italian.h108
-rw-r--r--quantum/keymap_extras/keymap_italian_mac_ansi.h113
-rw-r--r--quantum/keymap_extras/keymap_italian_mac_iso.h113
-rw-r--r--quantum/keymap_extras/keymap_japanese.h84
-rw-r--r--quantum/keymap_extras/keymap_korean.h78
-rw-r--r--quantum/keymap_extras/keymap_latvian.h113
-rw-r--r--quantum/keymap_extras/keymap_lithuanian_azerty.h93
-rw-r--r--quantum/keymap_extras/keymap_lithuanian_qwerty.h108
-rw-r--r--quantum/keymap_extras/keymap_neo2.h60
-rw-r--r--quantum/keymap_extras/keymap_nordic.h83
-rw-r--r--quantum/keymap_extras/keymap_norman.h77
-rw-r--r--quantum/keymap_extras/keymap_norwegian.h94
-rw-r--r--quantum/keymap_extras/keymap_plover.h102
-rw-r--r--quantum/keymap_extras/keymap_plover_dvorak.h92
-rw-r--r--quantum/keymap_extras/keymap_polish.h114
-rw-r--r--quantum/keymap_extras/keymap_portuguese.h93
-rw-r--r--quantum/keymap_extras/keymap_portuguese_mac_iso.h113
-rw-r--r--quantum/keymap_extras/keymap_romanian.h111
-rw-r--r--quantum/keymap_extras/keymap_russian.h93
-rw-r--r--quantum/keymap_extras/keymap_serbian.h90
-rw-r--r--quantum/keymap_extras/keymap_serbian_latin.h93
-rw-r--r--quantum/keymap_extras/keymap_slovak.h95
-rw-r--r--quantum/keymap_extras/keymap_slovenian.h93
-rw-r--r--quantum/keymap_extras/keymap_spanish.h94
-rw-r--r--quantum/keymap_extras/keymap_spanish_dvorak.h94
-rw-r--r--quantum/keymap_extras/keymap_steno.h141
-rw-r--r--quantum/keymap_extras/keymap_swedish.h97
-rw-r--r--quantum/keymap_extras/keymap_swedish_mac_ansi.h114
-rw-r--r--quantum/keymap_extras/keymap_swedish_mac_iso.h115
-rw-r--r--quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h114
-rw-r--r--quantum/keymap_extras/keymap_swedish_pro_mac_iso.h115
-rw-r--r--quantum/keymap_extras/keymap_swiss_de.h100
-rw-r--r--quantum/keymap_extras/keymap_swiss_fr.h100
-rw-r--r--quantum/keymap_extras/keymap_turkish_f.h111
-rw-r--r--quantum/keymap_extras/keymap_turkish_q.h93
-rw-r--r--quantum/keymap_extras/keymap_uk.h2
-rw-r--r--quantum/keymap_extras/keymap_ukrainian.h93
-rw-r--r--quantum/keymap_extras/keymap_us.h1
-rw-r--r--quantum/keymap_extras/keymap_us_extended.h120
-rw-r--r--quantum/keymap_extras/keymap_us_international.h113
-rw-r--r--quantum/keymap_extras/keymap_us_international_linux.h120
-rw-r--r--quantum/keymap_extras/keymap_workman.h77
-rw-r--r--quantum/keymap_extras/keymap_workman_zxcvm.h77
-rw-r--r--util/lang_conv.py65
-rwxr-xr-xutil/lang_gen.sh8
133 files changed, 27668 insertions, 4679 deletions
diff --git a/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson
new file mode 100644
index 0000000000..d2b8c1d7d9
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson
@@ -0,0 +1,375 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ² │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ µ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "BE_SUP2",
18 "label": "²",
19 }
20 "KC_1": {
21 "key": "BE_AMPR",
22 "label": "&",
23 }
24 "KC_2": {
25 "key": "BE_EACU",
26 "label": "é",
27 }
28 "KC_3": {
29 "key": "BE_DQUO",
30 "label": "\"",
31 }
32 "KC_4": {
33 "key": "BE_QUOT",
34 "label": "'",
35 }
36 "KC_5": {
37 "key": "BE_LPRN",
38 "label": "(",
39 }
40 "KC_6": {
41 "key": "BE_SECT",
42 "label": "§",
43 }
44 "KC_7": {
45 "key": "BE_EGRV",
46 "label": "è",
47 }
48 "KC_8": {
49 "key": "BE_EXLM",
50 "label": "!",
51 }
52 "KC_9": {
53 "key": "BE_CCED",
54 "label": "ç",
55 }
56 "KC_0": {
57 "key": "BE_AGRV",
58 "label": "à",
59 }
60 "KC_MINS": {
61 "key": "BE_RPRN",
62 "label": ")",
63 }
64 "KC_EQL": {
65 "key": "BE_MINS",
66 "label": "-",
67 }
68 "KC_Q": {
69 "key": "BE_A",
70 "label": "A",
71 }
72 "KC_W": {
73 "key": "BE_Z",
74 "label": "Z",
75 }
76 "KC_E": {
77 "key": "BE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "BE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "BE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "BE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "BE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "BE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "BE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "BE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "BE_DCIR",
110 "label": "^ (dead)",
111 }
112 "KC_RBRC": {
113 "key": "BE_DLR",
114 "label": "$",
115 }
116 "KC_A": {
117 "key": "BE_Q",
118 "label": "Q",
119 }
120 "KC_S": {
121 "key": "BE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "BE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "BE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "BE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "BE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "BE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "BE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "BE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "BE_M",
154 "label": "M",
155 }
156 "KC_QUOT": {
157 "key": "BE_UGRV",
158 "label": "ù",
159 }
160 "KC_NUHS": {
161 "key": "BE_MICR",
162 "label": "µ",
163 }
164 "KC_NUBS": {
165 "key": "BE_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "BE_W",
170 "label": "W",
171 }
172 "KC_X": {
173 "key": "BE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "BE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "BE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "BE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "BE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "BE_COMM",
194 "label": ",",
195 }
196 "KC_COMM": {
197 "key": "BE_SCLN",
198 "label": ";",
199 }
200 "KC_DOT": {
201 "key": "BE_COLN",
202 "label": ":",
203 }
204 "KC_SLSH": {
205 "key": "BE_EQL",
206 "label": "=",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ³ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(BE_SUP2)": {
222 "key": "BE_SUP3",
223 "label": "³",
224 }
225 "S(BE_AMPR)": {
226 "key": "BE_1",
227 "label": "1",
228 }
229 "S(BE_EACU)": {
230 "key": "BE_2",
231 "label": "2",
232 }
233 "S(BE_DQUO)": {
234 "key": "BE_3",
235 "label": "3",
236 }
237 "S(BE_QUOT)": {
238 "key": "BE_4",
239 "label": "4",
240 }
241 "S(BE_LPRN)": {
242 "key": "BE_5",
243 "label": "5",
244 }
245 "S(BE_SECT)": {
246 "key": "BE_6",
247 "label": "6",
248 }
249 "S(BE_EGRV)": {
250 "key": "BE_7",
251 "label": "7",
252 }
253 "S(BE_EXLM)": {
254 "key": "BE_8",
255 "label": "8",
256 }
257 "S(BE_CCED)": {
258 "key": "BE_9",
259 "label": "9",
260 }
261 "S(BE_AGRV)": {
262 "key": "BE_0",
263 "label": "0",
264 }
265 "S(BE_RPRN)": {
266 "key": "BE_DEG",
267 "label": "°",
268 }
269 "S(BE_MINS)": {
270 "key": "BE_UNDS",
271 "label": "_",
272 }
273 "S(BE_DCIR)": {
274 "key": "BE_DIAE",
275 "label": "¨ (dead)",
276 }
277 "S(BE_DLR)": {
278 "key": "BE_ASTR",
279 "label": "*",
280 }
281 "S(BE_UGRV)": {
282 "key": "BE_PERC",
283 "label": "%",
284 }
285 "S(BE_MICR)": {
286 "key": "BE_PND",
287 "label": "£",
288 }
289 "S(BE_LABK)": {
290 "key": "BE_RABK",
291 "label": ">",
292 }
293 "S(BE_COMM)": {
294 "key": "BE_QUES",
295 "label": "?",
296 }
297 "S(BE_SCLN)": {
298 "key": "BE_DOT",
299 "label": ".",
300 }
301 "S(BE_COLN)": {
302 "key": "BE_SLSH",
303 "label": "/",
304 }
305 "S(BE_EQL)": {
306 "key": "BE_PLUS",
307 "label": "+",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ │ | │ @ │ # │ │ │ ^ │ │ │ { │ } │ │ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ │ │ │ │ │ │ │ │ │ │ ´ │ ` │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ \ │ │ │ │ │ │ │ │ │ │ ~ │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(BE_AMPR)": {
323 "key": "BE_PIPE",
324 "label": "|",
325 }
326 "ALGR(BE_EACU)": {
327 "key": "BE_AT",
328 "label": "@",
329 }
330 "ALGR(BE_DQUO)": {
331 "key": "BE_HASH",
332 "label": "#",
333 }
334 "ALGR(BE_SECT)": {
335 "key": "BE_CIRC",
336 "label": "^",
337 }
338 "ALGR(BE_CCED)": {
339 "key": "BE_LCBR",
340 "label": "{",
341 }
342 "ALGR(BE_AGRV)": {
343 "key": "BE_RCBR",
344 "label": "}",
345 }
346 "ALGR(BE_E)": {
347 "key": "BE_EURO",
348 "label": "€",
349 }
350 "ALGR(BE_DCIR)": {
351 "key": "BE_LBRC",
352 "label": "[",
353 }
354 "ALGR(BE_DLR)": {
355 "key": "BE_RBRC",
356 "label": "]",
357 }
358 "ALGR(BE_UGRV)": {
359 "key": "BE_ACUT",
360 "label": "´ (dead)",
361 }
362 "ALGR(BE_MICR)": {
363 "key": "BE_GRV",
364 "label": "` (dead)",
365 }
366 "ALGR(BE_LABK)": {
367 "key": "BE_BSLS",
368 "label": "\\",
369 }
370 "ALGR(BE_EQL)": {
371 "key": "BE_TILD",
372 "label": "~",
373 }
374 }
375} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson
new file mode 100644
index 0000000000..713f3f2829
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson
@@ -0,0 +1,632 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ $ │ " │ « │ » │ ( │ ) │ @ │ + │ - │ / │ * │ = │ % │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ B │ É │ P │ O │ È │ ^ │ V │ D │ L │ J │ Z │ W │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ U │ I │ E │ , │ C │ T │ S │ R │ N │ M │ Ç │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ Ê │ À │ Y │ X │ . │ K │ ' │ Q │ G │ H │ F │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "BP_DLR",
18 "label": "$",
19 }
20 "KC_1": {
21 "key": "BP_DQUO",
22 "label": "\"",
23 }
24 "KC_2": {
25 "key": "BP_LDAQ",
26 "label": "«",
27 }
28 "KC_3": {
29 "key": "BP_RDAQ",
30 "label": "»",
31 }
32 "KC_4": {
33 "key": "BP_LPRN",
34 "label": "(",
35 }
36 "KC_5": {
37 "key": "BP_RPRN",
38 "label": ")",
39 }
40 "KC_6": {
41 "key": "BP_AT",
42 "label": "@",
43 }
44 "KC_7": {
45 "key": "BP_PLUS",
46 "label": "+",
47 }
48 "KC_8": {
49 "key": "BP_MINS",
50 "label": "-",
51 }
52 "KC_9": {
53 "key": "BP_SLSH",
54 "label": "/",
55 }
56 "KC_0": {
57 "key": "BP_ASTR",
58 "label": "*",
59 }
60 "KC_MINS": {
61 "key": "BP_EQL",
62 "label": "=",
63 }
64 "KC_EQL": {
65 "key": "BP_PERC",
66 "label": "%",
67 }
68 "KC_Q": {
69 "key": "BP_B",
70 "label": "B",
71 }
72 "KC_W": {
73 "key": "BP_EACU",
74 "label": "É",
75 }
76 "KC_E": {
77 "key": "BP_P",
78 "label": "P",
79 }
80 "KC_R": {
81 "key": "BP_O",
82 "label": "O",
83 }
84 "KC_T": {
85 "key": "BP_EGRV",
86 "label": "È",
87 }
88 "KC_Y": {
89 "key": "BP_DCIR",
90 "label": "^ (dead)",
91 }
92 "KC_U": {
93 "key": "BP_V",
94 "label": "V",
95 }
96 "KC_I": {
97 "key": "BP_D",
98 "label": "D",
99 }
100 "KC_O": {
101 "key": "BP_L",
102 "label": "L",
103 }
104 "KC_P": {
105 "key": "BP_J",
106 "label": "J",
107 }
108 "KC_LBRC": {
109 "key": "BP_Z",
110 "label": "Z",
111 }
112 "KC_RBRC": {
113 "key": "BP_W",
114 "label": "W",
115 }
116 "KC_A": {
117 "key": "BP_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "BP_U",
122 "label": "U",
123 }
124 "KC_D": {
125 "key": "BP_I",
126 "label": "I",
127 }
128 "KC_F": {
129 "key": "BP_E",
130 "label": "E",
131 }
132 "KC_G": {
133 "key": "BP_COMM",
134 "label": ",",
135 }
136 "KC_H": {
137 "key": "BP_C",
138 "label": "C",
139 }
140 "KC_J": {
141 "key": "BP_T",
142 "label": "T",
143 }
144 "KC_K": {
145 "key": "BP_S",
146 "label": "S",
147 }
148 "KC_L": {
149 "key": "BP_R",
150 "label": "R",
151 }
152 "KC_SCLN": {
153 "key": "BP_N",
154 "label": "N",
155 }
156 "KC_QUOT": {
157 "key": "BP_M",
158 "label": "M",
159 }
160 "KC_BSLS": {
161 "key": "BP_CCED",
162 "label": "Ç",
163 }
164 "KC_NUBS": {
165 "key": "BP_ECIR",
166 "label": "Ê",
167 }
168 "KC_Z": {
169 "key": "BP_AGRV",
170 "label": "À",
171 }
172 "KC_X": {
173 "key": "BP_Y",
174 "label": "Y",
175 }
176 "KC_C": {
177 "key": "BP_X",
178 "label": "X",
179 }
180 "KC_V": {
181 "key": "BP_DOT",
182 "label": ".",
183 }
184 "KC_B": {
185 "key": "BP_K",
186 "label": "K",
187 }
188 "KC_N": {
189 "key": "BP_QUOT",
190 "label": "'",
191 }
192 "KC_M": {
193 "key": "BP_Q",
194 "label": "Q",
195 }
196 "KC_COMM": {
197 "key": "BP_G",
198 "label": "G",
199 }
200 "KC_DOT": {
201 "key": "BP_H",
202 "label": "H",
203 }
204 "KC_SLSH": {
205 "key": "BP_F",
206 "label": "F",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ ! │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ ; │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ │ │ │ │ : │ │ ? │ │ │ │ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(BP_DLR)": {
222 "key": "BP_HASH",
223 "label": "#",
224 }
225 "S(BP_DQUO)": {
226 "key": "BP_1",
227 "label": "1",
228 }
229 "S(BP_LDAQ)": {
230 "key": "BP_2",
231 "label": "2",
232 }
233 "S(BP_RDAQ)": {
234 "key": "BP_3",
235 "label": "3",
236 }
237 "S(BP_LPRN)": {
238 "key": "BP_4",
239 "label": "4",
240 }
241 "S(BP_RPRN)": {
242 "key": "BP_5",
243 "label": "5",
244 }
245 "S(BP_AT)": {
246 "key": "BP_6",
247 "label": "6",
248 }
249 "S(BP_PLUS)": {
250 "key": "BP_7",
251 "label": "7",
252 }
253 "S(BP_MINS)": {
254 "key": "BP_8",
255 "label": "8",
256 }
257 "S(BP_SLSH)": {
258 "key": "BP_9",
259 "label": "9",
260 }
261 "S(BP_ASTR)": {
262 "key": "BP_0",
263 "label": "0",
264 }
265 "S(BP_EQL)": {
266 "key": "BP_DEG",
267 "label": "°",
268 }
269 "S(BP_PERC)": {
270 "key": "BP_GRV",
271 "label": "`",
272 }
273 "S(BP_DCIR)": {
274 "key": "BP_EXLM",
275 "label": "!",
276 }
277 "S(BP_COMM)": {
278 "key": "BP_SCLN",
279 "label": ";",
280 }
281 "S(BP_DOT)": {
282 "key": "BP_COLN",
283 "label": ":",
284 }
285 "S(BP_QUOT)": {
286 "key": "BP_QUES",
287 "label": "?",
288 }
289 "S(KC_SPC)": {
290 "key": "BP_NBSP",
291 "label": "(non-breaking space)",
292 }
293/* AltGr symbols
294 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
295 * │ – │ — │ < │ > │ [ │ ] │ ^ │ ± │ − │ ÷ │ × │ ≠ │ ‰ │ │
296 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
297 * │ │ | │ ´ │ & │ Œ │ ` │ ¡ │ ˇ │ Ð │ / │ IJ │ Ə │ ˘ │ │
298 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
299 * │ │ Æ │ Ù │ ¨ │ € │ │ © │ Þ │ ẞ │ ® │ ~ │ ¯ │ ¸ │ │
300 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
301 * │ │ │ \ │ { │ } │ … │ ~ │ ¿ │ ° │ │ † │ ˛ │ │
302 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
303 * │ │ │ │ _ │ │ │ │ │
304 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
305 */
306 "ALGR(BP_DLR)": {
307 "key": "BP_NDSH",
308 "label": "–",
309 }
310 "ALGR(BP_DQUO)": {
311 "key": "BP_MDSH",
312 "label": "—",
313 }
314 "ALGR(BP_LDAQ)": {
315 "key": "BP_LABK",
316 "label": "<",
317 }
318 "ALGR(BP_RDAQ)": {
319 "key": "BP_RABK",
320 "label": ">",
321 }
322 "ALGR(BP_LPRN)": {
323 "key": "BP_LBRC",
324 "label": "[",
325 }
326 "ALGR(BP_RPRN)": {
327 "key": "BP_RBRC",
328 "label": "]",
329 }
330 "ALGR(BP_AT)": {
331 "key": "BP_CIRC",
332 "label": "^",
333 }
334 "ALGR(BP_PLUS)": {
335 "key": "BP_PLMN",
336 "label": "±",
337 }
338 "ALGR(BP_MINS)": {
339 "key": "BP_MMNS",
340 "label": "−",
341 }
342 "ALGR(BP_SLSH)": {
343 "key": "BP_DIV",
344 "label": "÷",
345 }
346 "ALGR(BP_ASTR)": {
347 "key": "BP_MUL",
348 "label": "×",
349 }
350 "ALGR(BP_EQL)": {
351 "key": "BP_NEQL",
352 "label": "≠",
353 }
354 "ALGR(BP_PERC)": {
355 "key": "BP_PERM",
356 "label": "‰",
357 }
358 "ALGR(BP_B)": {
359 "key": "BP_PIPE",
360 "label": "|",
361 }
362 "ALGR(BP_EACU)": {
363 "key": "BP_ACUT",
364 "label": "´ (dead)",
365 }
366 "ALGR(BP_P)": {
367 "key": "BP_AMPR",
368 "label": "&",
369 }
370 "ALGR(BP_O)": {
371 "key": "BP_OE",
372 "label": "Œ",
373 }
374 "ALGR(BP_EGRV)": {
375 "key": "BP_DGRV",
376 "label": "` (dead)",
377 }
378 "ALGR(BP_DCIR)": {
379 "key": "BP_IEXL",
380 "label": "¡",
381 }
382 "ALGR(BP_V)": {
383 "key": "BP_CARN",
384 "label": "ˇ (dead)",
385 }
386 "ALGR(BP_D)": {
387 "key": "BP_ETH",
388 "label": "Ð",
389 }
390 "ALGR(BP_L)": {
391 "key": "BP_DSLS",
392 "label": "/ (dead)",
393 }
394 "ALGR(BP_J)": {
395 "key": "BP_IJ",
396 "label": "IJ",
397 }
398 "ALGR(BP_Z)": {
399 "key": "BP_SCHW",
400 "label": "Ə",
401 }
402 "ALGR(BP_W)": {
403 "key": "BP_BREV",
404 "label": "˘ (dead)",
405 }
406 "ALGR(BP_A)": {
407 "key": "BP_AE",
408 "label": "Æ",
409 }
410 "ALGR(BP_U)": {
411 "key": "BP_UGRV",
412 "label": "Ù",
413 }
414 "ALGR(BP_I)": {
415 "key": "BP_DIAE",
416 "label": "¨ (dead)",
417 }
418 "ALGR(BP_E)": {
419 "key": "BP_EURO",
420 "label": "€",
421 }
422 "ALGR(BP_C)": {
423 "key": "BP_COPY",
424 "label": "©",
425 }
426 "ALGR(BP_T)": {
427 "key": "BP_THRN",
428 "label": "Þ",
429 }
430 "ALGR(BP_S)": {
431 "key": "BP_SS",
432 "label": "ẞ",
433 }
434 "ALGR(BP_R)": {
435 "key": "BP_REGD",
436 "label": "®",
437 }
438 "ALGR(BP_N)": {
439 "key": "BP_DTIL",
440 "label": "~ (dead)",
441 }
442 "ALGR(BP_M)": {
443 "key": "BP_MACR",
444 "label": "¯ (dead)",
445 }
446 "ALGR(BP_CCED)": {
447 "key": "BP_CEDL",
448 "label": "¸ (dead)",
449 }
450 "ALGR(BP_AGRV)": {
451 "key": "BP_BSLS",
452 "label": "\\",
453 }
454 "ALGR(BP_Y)": {
455 "key": "BP_LCBR",
456 "label": "{",
457 }
458 "ALGR(BP_X)": {
459 "key": "BP_RCBR",
460 "label": "}",
461 }
462 "ALGR(BP_DOT)": {
463 "key": "BP_ELLP",
464 "label": "…",
465 }
466 "ALGR(BP_K)": {
467 "key": "BP_TILD",
468 "label": "~",
469 }
470 "ALGR(BP_QUES)": {
471 "key": "BP_IQUE",
472 "label": "¿",
473 }
474 "ALGR(BP_Q)": {
475 "key": "BP_RNGA",
476 "label": "° (dead)",
477 }
478 "ALGR(BP_G)": {
479 "key": "BP_DGRK",
480 "label": "µ (dead Greek key)",
481 }
482 "ALGR(BP_H)": {
483 "key": "BP_DAGG",
484 "label": "†",
485 }
486 "ALGR(BP_F)": {
487 "key": "BP_OGON",
488 "label": "˛ (dead)",
489 }
490 "ALGR(KC_SPC)": {
491 "key": "BP_UNDS",
492 "label": "_",
493 }
494/* Shift+AltGr symbols
495 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
496 * │ ¶ │ „ │ “ │ ” │ ≤ │ ≥ │ │ ¬ │ ¼ │ ½ │ ¾ │ ′ │ ″ │ │
497 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
498 * │ │ ¦ │ ˝ │ § │ │ │ │ │ │ │ │ │ │ │
499 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
500 * │ │ │ │ ˙ │ ¤ │ ̛ │ ſ │ │ │ ™ │ │ º │ , │ │
501 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
502 * │ │ │ │ ‘ │ ’ │ · │ ⌨ │ ̉ │ ̣ │ │ ‡ │ ª │ │
503 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
504 * │ │ │ │ │ │ │ │ │
505 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
506 */
507 "S(ALGR(BP_DLR))": {
508 "key": "BP_PARA",
509 "label": "¶",
510 }
511 "S(ALGR(BP_DQUO))": {
512 "key": "BP_DLQU",
513 "label": "„",
514 }
515 "S(ALGR(BP_LDAQ))": {
516 "key": "BP_LDQU",
517 "label": "“",
518 }
519 "S(ALGR(BP_RDAQ))": {
520 "key": "BP_RDQU",
521 "label": "”",
522 }
523 "S(ALGR(BP_LPRN))": {
524 "key": "BP_LEQL",
525 "label": "≤",
526 }
527 "S(ALGR(BP_RPRN))": {
528 "key": "BP_GEQL",
529 "label": "≥",
530 }
531 "S(ALGR(BP_PLUS))": {
532 "key": "BP_NOT",
533 "label": "¬",
534 }
535 "S(ALGR(BP_MINS))": {
536 "key": "BP_QRTR",
537 "label": "¼",
538 }
539 "S(ALGR(BP_SLSH))": {
540 "key": "BP_HALF",
541 "label": "½",
542 }
543 "S(ALGR(BP_ASTR))": {
544 "key": "BP_TQTR",
545 "label": "¾",
546 }
547 "S(ALGR(BP_EQL))": {
548 "key": "BP_PRIM",
549 "label": "′",
550 }
551 "S(ALGR(BP_PERC))": {
552 "key": "BP_DPRM",
553 "label": "″",
554 }
555 "S(ALGR(BP_B))": {
556 "key": "BP_BRKP",
557 "label": "¦",
558 }
559 "S(ALGR(BP_EACU))": {
560 "key": "BP_DACU",
561 "label": "˝ (dead)",
562 }
563 "S(ALGR(BP_P))": {
564 "key": "BP_SECT",
565 "label": "§",
566 }
567 "S(ALGR(BP_I))": {
568 "key": "BP_DOTA",
569 "label": "˙ (dead)",
570 }
571 "S(ALGR(BP_E))": {
572 "key": "BP_CURR",
573 "label": "¤ (dead)",
574 }
575 "S(ALGR(BP_COMM))": {
576 "key": "BP_HORN",
577 "label": "̛ (dead)",
578 }
579 "S(ALGR(BP_C))": {
580 "key": "BP_LNGS",
581 "label": "ſ",
582 }
583 "S(ALGR(BP_R))": {
584 "key": "BP_TM",
585 "label": "™",
586 }
587 "S(ALGR(BP_M))": {
588 "key": "BP_MORD",
589 "label": "º",
590 }
591 "S(ALGR(BP_CCED))": {
592 "key": "BP_DCMM",
593 "label": ", (dead)",
594 }
595 "S(ALGR(BP_Y))": {
596 "key": "BP_LSQU",
597 "label": "‘",
598 }
599 "S(ALGR(BP_X))": {
600 "key": "BP_RSQU",
601 "label": "’",
602 }
603 "S(ALGR(BP_DOT))": {
604 "key": "BP_MDDT",
605 "label": "·",
606 }
607 "S(ALGR(BP_K))": {
608 "key": "BP_KEYB",
609 "label": "⌨",
610 }
611 "S(ALGR(BP_QUOT))": {
612 "key": "BP_HOKA",
613 "label": "̉ (dead)",
614 }
615 "S(ALGR(BP_Q))": {
616 "key": "BP_DOTB",
617 "label": "̣ (dead)",
618 }
619 "S(ALGR(BP_H))": {
620 "key": "BP_DDAG",
621 "label": "‡",
622 }
623 "S(ALGR(BP_F))": {
624 "key": "BP_FORD",
625 "label": "ª",
626 }
627 "S(ALGR(KC_SPC))": {
628 "key": "BP_NNBS",
629 "label": "(narrow non-breaking space)",
630 }
631 }
632} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson
new file mode 100644
index 0000000000..17006a64df
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson
@@ -0,0 +1,379 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ´ │ [ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ ] │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
11 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ; │ / │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "BR_QUOT",
18 "label": "'",
19 }
20 "KC_1": {
21 "key": "BR_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "BR_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "BR_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "BR_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "BR_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "BR_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "BR_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "BR_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "BR_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "BR_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "BR_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "BR_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "BR_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "BR_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "BR_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "BR_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "BR_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "BR_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "BR_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "BR_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "BR_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "BR_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "BR_ACUT",
110 "label": "´ (dead)",
111 }
112 "KC_RBRC": {
113 "key": "BR_LBRC",
114 "label": "[",
115 }
116 "KC_A": {
117 "key": "BR_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "BR_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "BR_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "BR_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "BR_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "BR_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "BR_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "BR_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "BR_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "BR_CCED",
154 "label": "Ç",
155 }
156 "KC_QUOT": {
157 "key": "BR_TILD",
158 "label": "~ (dead)",
159 }
160 "KC_BSLS": {
161 "key": "BR_RBRC",
162 "label": "]",
163 }
164 "KC_NUBS": {
165 "key": "BR_BSLS",
166 "label": "\\",
167 }
168 "KC_Z": {
169 "key": "BR_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "BR_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "BR_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "BR_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "BR_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "BR_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "BR_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "BR_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "BR_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "BR_SCLN",
206 "label": ";",
207 }
208 "KC_INT1": {
209 "key": "BR_SLSH",
210 "label": "/",
211 }
212 "KC_PCMM": {
213 "key": "BR_PDOT",
214 "label": ".",
215 }
216 "KC_PDOT": {
217 "key": "BR_PCMM",
218 "label": ",",
219 }
220/* Shifted symbols
221 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
222 * │ " │ ! │ @ │ # │ $ │ % │ ¨ │ & │ * │ ( │ ) │ _ │ + │ │
223 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
224 * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
225 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
226 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ } │ │
227 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
228 * │ │ | │ │ │ │ │ │ │ │ < │ > │ : │ ? │ │
229 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
230 * │ │ │ │ │ │ │ │ │
231 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
232 */
233 "S(BR_QUOT)": {
234 "key": "BR_DQUO",
235 "label": "\"",
236 }
237 "S(BR_1)": {
238 "key": "BR_EXLM",
239 "label": "!",
240 }
241 "S(BR_2)": {
242 "key": "BR_AT",
243 "label": "@",
244 }
245 "S(BR_3)": {
246 "key": "BR_HASH",
247 "label": "#",
248 }
249 "S(BR_4)": {
250 "key": "BR_DLR",
251 "label": "$",
252 }
253 "S(BR_5)": {
254 "key": "BR_PERC",
255 "label": "%",
256 }
257 "S(BR_6)": {
258 "key": "BR_DIAE",
259 "label": "¨ (dead)",
260 }
261 "S(BR_7)": {
262 "key": "BR_AMPR",
263 "label": "&",
264 }
265 "S(BR_8)": {
266 "key": "BR_ASTR",
267 "label": "*",
268 }
269 "S(BR_9)": {
270 "key": "BR_LPRN",
271 "label": "(",
272 }
273 "S(BR_0)": {
274 "key": "BR_RPRN",
275 "label": ")",
276 }
277 "S(BR_MINS)": {
278 "key": "BR_UNDS",
279 "label": "_",
280 }
281 "S(BR_EQL)": {
282 "key": "BR_PLUS",
283 "label": "+",
284 }
285 "S(BR_ACUT)": {
286 "key": "BR_GRV",
287 "label": "` (dead)",
288 }
289 "S(BR_LBRC)": {
290 "key": "BR_LCBR",
291 "label": "{",
292 }
293 "S(BR_TILD)": {
294 "key": "BR_CIRC",
295 "label": "^ (dead)",
296 }
297 "S(BR_RBRC)": {
298 "key": "BR_RCBR",
299 "label": "}",
300 }
301 "S(BR_BSLS)": {
302 "key": "BR_PIPE",
303 "label": "|",
304 }
305 "S(BR_COMM)": {
306 "key": "BR_LABK",
307 "label": "<",
308 }
309 "S(BR_DOT)": {
310 "key": "BR_RABK",
311 "label": ">",
312 }
313 "S(BR_SCLN)": {
314 "key": "BR_COLN",
315 "label": ":",
316 }
317 "S(BR_SLSH)": {
318 "key": "BR_QUES",
319 "label": "?",
320 }
321/* AltGr symbols
322 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
323 * │ │ ¹ │ ² │ ³ │ £ │ ¢ │ ¬ │ │ │ │ │ │ § │ │
324 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
325 * │ │ │ │ ° │ │ │ │ │ │ │ │ │ ª │ │
326 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
327 * │ │ │ │ │ │ │ │ │ │ │ │ │ º │ │
328 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
329 * │ │ │ │ │ ₢ │ │ │ │ │ │ │ │ │ │
330 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
331 * │ │ │ │ │ │ │ │ │
332 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
333 */
334 "ALGR(BR_1)": {
335 "key": "BR_SUP1",
336 "label": "¹",
337 }
338 "ALGR(BR_2)": {
339 "key": "BR_SUP2",
340 "label": "²",
341 }
342 "ALGR(BR_3)": {
343 "key": "BR_SUP3",
344 "label": "³",
345 }
346 "ALGR(BR_4)": {
347 "key": "BR_PND",
348 "label": "£",
349 }
350 "ALGR(BR_5)": {
351 "key": "BR_CENT",
352 "label": "¢",
353 }
354 "ALGR(BR_6)": {
355 "key": "BR_NOT",
356 "label": "¬",
357 }
358 "ALGR(BR_EQL)": {
359 "key": "BR_SECT",
360 "label": "§",
361 }
362 "ALGR(BR_E)": {
363 "key": "BR_DEG",
364 "label": "°",
365 }
366 "ALGR(BR_LBRC)": {
367 "key": "BR_FORD",
368 "label": "ª",
369 }
370 "ALGR(BR_RBRC)": {
371 "key": "BR_MORD",
372 "label": "º",
373 }
374 "ALGR(BR_C)": {
375 "key": "BR_CRUZ",
376 "label": "₢",
377 }
378 }
379} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson
new file mode 100644
index 0000000000..bfe5d5b54c
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson
@@ -0,0 +1,641 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ / │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ Ç │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ È │ À │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ Ù │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "CA_SLSH",
18 "label": "/",
19 }
20 "KC_1": {
21 "key": "CA_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "CA_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "CA_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "CA_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "CA_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "CA_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "CA_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "CA_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "CA_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "CA_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "CA_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "CA_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "CA_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "CA_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "CA_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "CA_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "CA_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "CA_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "CA_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "CA_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "CA_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "CA_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "CA_CIRC",
110 "label": "^ (dead)",
111 }
112 "KC_RBRC": {
113 "key": "CA_CCED",
114 "label": "Ç",
115 }
116 "KC_A": {
117 "key": "CA_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "CA_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "CA_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "CA_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "CA_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "CA_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "CA_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "CA_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "CA_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "CA_SCLN",
154 "label": ";",
155 }
156 "KC_QUOT": {
157 "key": "CA_EGRV",
158 "label": "É",
159 }
160 "KC_NUHS": {
161 "key": "CA_AGRV",
162 "label": "À",
163 }
164 "KC_NUBS": {
165 "key": "CA_UGRV",
166 "label": "Ù",
167 }
168 "KC_Z": {
169 "key": "CA_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "CA_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "CA_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "CA_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "CA_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "CA_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "CA_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "CA_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "CA_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "CA_EACU",
206 "label": "É",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ \ │ ! │ @ │ # │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ : │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ │ │ │ │ │ │ │ │ ' │ " │ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(CA_SLSH)": {
222 "key": "CA_BSLS",
223 "label": "\\",
224 }
225 "S(CA_1)": {
226 "key": "CA_EXLM",
227 "label": "!",
228 }
229 "S(CA_2)": {
230 "key": "CA_AT",
231 "label": "@",
232 }
233 "S(CA_3)": {
234 "key": "CA_HASH",
235 "label": "#",
236 }
237 "S(CA_4)": {
238 "key": "CA_DLR",
239 "label": "$",
240 }
241 "S(CA_5)": {
242 "key": "CA_PERC",
243 "label": "%",
244 }
245 "S(CA_6)": {
246 "key": "CA_QUES",
247 "label": "?",
248 }
249 "S(CA_7)": {
250 "key": "CA_AMPR",
251 "label": "&",
252 }
253 "S(CA_8)": {
254 "key": "CA_ASTR",
255 "label": "*",
256 }
257 "S(CA_9)": {
258 "key": "CA_LPRN",
259 "label": "(",
260 }
261 "S(CA_0)": {
262 "key": "CA_RPRN",
263 "label": ")",
264 }
265 "S(CA_MINS)": {
266 "key": "CA_UNDS",
267 "label": "_",
268 }
269 "S(CA_EQL)": {
270 "key": "CA_PLUS",
271 "label": "+",
272 }
273 "S(CA_CIRC)": {
274 "key": "CA_DIAE",
275 "label": "¨ (dead)",
276 }
277 "S(CA_SCLN)": {
278 "key": "CA_COLN",
279 "label": ":",
280 }
281 "S(CA_COMM)": {
282 "key": "CA_QUOT",
283 "label": "'",
284 }
285 "S(CA_DOT)": {
286 "key": "CA_DQUO",
287 "label": "\"",
288 }
289/* AltGr symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
291 * │ | │ │ │ │ ¤ │ │ │ { │ } │ [ │ ] │ │ ¬ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
293 * │ │ │ │ € │ │ │ │ │ │ │ │ ` │ ~ │ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
295 * │ │ │ │ │ │ │ │ │ │ │ ° │ │ │ │
296 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
297 * │ │ │ « │ » │ │ │ │ │ │ < │ > │ │ │
298 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
299 * │ │ │ │ │ │ │ │ │
300 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
301 */
302 "ALGR(CA_SLSH)": {
303 "key": "CA_PIPE",
304 "label": "|",
305 }
306 "ALGR(CA_4)": {
307 "key": "CA_CURR",
308 "label": "¤",
309 }
310 "ALGR(CA_7)": {
311 "key": "CA_LCBR",
312 "label": "{",
313 }
314 "ALGR(CA_8)": {
315 "key": "CA_RCBR",
316 "label": "}",
317 }
318 "ALGR(CA_9)": {
319 "key": "CA_LBRC",
320 "label": "[",
321 }
322 "ALGR(CA_0)": {
323 "key": "CA_RBRC",
324 "label": "]",
325 }
326 "ALGR(CA_EQL)": {
327 "key": "CA_NOT",
328 "label": "¬",
329 }
330 "ALGR(CA_E)": {
331 "key": "CA_EURO",
332 "label": "€",
333 }
334 "ALGR(CA_CIRC)": {
335 "key": "CA_GRV",
336 "label": "` (dead)",
337 }
338 "ALGR(CA_CCED)": {
339 "key": "CA_DTIL",
340 "label": "~ (dead)",
341 }
342 "ALGR(CA_SCLN)": {
343 "key": "CA_DEG",
344 "label": "°",
345 }
346 "ALGR(CA_Z)": {
347 "key": "CA_LDAQ",
348 "label": "«",
349 }
350 "ALGR(CA_X)": {
351 "key": "CA_RDAQ",
352 "label": "»",
353 }
354 "ALGR(CA_COMM)": {
355 "key": "CA_LABK",
356 "label": "<",
357 }
358 "ALGR(CA_DOT)": {
359 "key": "CA_RABK",
360 "label": ">",
361 }
362/* Right Ctrl symbols
363 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
364 * │ │ ¹ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │ │ │ │ │ ¸ │ │
365 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
366 * │ │ Ω │ Ł │ Œ │ ¶ │ Ŧ │ ← │ ↓ │ → │ Ø │ Þ │ │ ~ │ │
367 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
368 * │ │ Æ │ ß │ Ð │ │ Ŋ │ Ħ │ IJ │ ĸ │ Ŀ │ ´ │ │ │ │
369 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
370 * │ │ │ │ │ ¢ │ “ │ ” │ ʼn │ μ │ ― │ ˙ │ │ │
371 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
372 * │ │ │ │ │ │ │ │ │
373 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
374 */
375 "RCTL(CA_1)": {
376 "key": "CA_SUP1",
377 "label": "¹",
378 }
379 "RCTL(CA_2)": {
380 "key": "CA_SUP2",
381 "label": "²",
382 }
383 "RCTL(CA_3)": {
384 "key": "CA_SUP3",
385 "label": "³",
386 }
387 "RCTL(CA_4)": {
388 "key": "CA_QRTR",
389 "label": "¼",
390 }
391 "RCTL(CA_5)": {
392 "key": "CA_HALF",
393 "label": "½",
394 }
395 "RCTL(CA_6)": {
396 "key": "CA_TQTR",
397 "label": "¾",
398 }
399 "RCTL(CA_EQL)": {
400 "key": "CA_CEDL",
401 "label": "¸ (dead)",
402 }
403 "RCTL(CA_Q)": {
404 "key": "CA_OMEG",
405 "label": "Ω",
406 }
407 "RCTL(CA_W)": {
408 "key": "CA_LSTR",
409 "label": "Ł",
410 }
411 "RCTL(CA_E)": {
412 "key": "CA_OE",
413 "label": "Œ",
414 }
415 "RCTL(CA_R)": {
416 "key": "CA_PARA",
417 "label": "¶",
418 }
419 "RCTL(CA_T)": {
420 "key": "CA_TSTR",
421 "label": "Ŧ",
422 }
423 "RCTL(CA_Y)": {
424 "key": "CA_LARR",
425 "label": "←",
426 }
427 "RCTL(CA_U)": {
428 "key": "CA_DARR",
429 "label": "↓",
430 }
431 "RCTL(CA_I)": {
432 "key": "CA_RARR",
433 "label": "→",
434 }
435 "RCTL(CA_O)": {
436 "key": "CA_OSTR",
437 "label": "Ø",
438 }
439 "RCTL(CA_P)": {
440 "key": "CA_THRN",
441 "label": "Þ",
442 }
443 "RCTL(CA_CCED)": {
444 "key": "CA_TILD",
445 "label": "~",
446 }
447 "RCTL(CA_A)": {
448 "key": "CA_AE",
449 "label": "Æ",
450 }
451 "RCTL(CA_S)": {
452 "key": "CA_SS",
453 "label": "ß",
454 }
455 "RCTL(CA_D)": {
456 "key": "CA_ETH",
457 "label": "Ð",
458 }
459 "RCTL(CA_G)": {
460 "key": "CA_ENG",
461 "label": "Ŋ",
462 }
463 "RCTL(CA_H)": {
464 "key": "CA_HSTR",
465 "label": "Ħ",
466 }
467 "RCTL(CA_J)": {
468 "key": "CA_IJ",
469 "label": "IJ",
470 }
471 "RCTL(CA_K)": {
472 "key": "CA_KRA",
473 "label": "ĸ",
474 }
475 "RCTL(CA_L)": {
476 "key": "CA_LMDT",
477 "label": "Ŀ",
478 }
479 "RCTL(CA_SCLN)": {
480 "key": "CA_ACUT",
481 "label": "´ (dead)",
482 }
483 "RCTL(CA_C)": {
484 "key": "CA_CENT",
485 "label": "¢",
486 }
487 "RCTL(CA_V)": {
488 "key": "CA_LDQU",
489 "label": "“",
490 }
491 "RCTL(CA_B)": {
492 "key": "CA_RDQU",
493 "label": "”",
494 }
495 "RCTL(CA_N)": {
496 "key": "CA_APSN",
497 "label": "ʼn",
498 }
499 "RCTL(CA_M)": {
500 "key": "CA_MICR",
501 "label": "μ",
502 }
503 "RCTL(CA_COMM)": {
504 "key": "CA_HRZB",
505 "label": "―",
506 }
507 "RCTL(CA_DOT)": {
508 "key": "CA_DOTA",
509 "label": "˙ (dead)",
510 }
511/* Shift+Right Ctrl symbols
512 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
513 * │ - │ ¡ │ │ £ │ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ │ ¿ │ ˛ │ │
514 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
515 * │ │ │ │ │ ® │ │ ¥ │ ↑ │ ı │ │ │ ° │ ¯ │ │
516 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
517 * │ │ │ § │ │ ª │ │ │ │ │ │ ˝ │ ˇ │ ˘ │ │
518 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
519 * │ │ ¦ │ │ │ © │ ‘ │ ’ │ ♪ │ º │ × │ ÷ │ │ │
520 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
521 * │ │ │ │ │ │ │ │ │
522 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
523 */
524 "RCTL(S(CA_SLSH))": {
525 "key": "CA_SHYP",
526 "label": "­ (soft hyphen)",
527 }
528 "RCTL(S(CA_1))": {
529 "key": "CA_IEXL",
530 "label": "¡",
531 }
532 "RCTL(S(CA_3))": {
533 "key": "CA_PND",
534 "label": "£",
535 }
536 "RCTL(S(CA_5))": {
537 "key": "CA_TEIG",
538 "label": "⅜",
539 }
540 "RCTL(S(CA_6))": {
541 "key": "CA_FEIG",
542 "label": "⅝",
543 }
544 "RCTL(S(CA_7))": {
545 "key": "CA_SEIG",
546 "label": "⅞",
547 }
548 "RCTL(S(CA_8))": {
549 "key": "CA_TM",
550 "label": "™",
551 }
552 "RCTL(S(CA_9))": {
553 "key": "CA_PLMN",
554 "label": "±",
555 }
556 "RCTL(S(CA_MINS))": {
557 "key": "CA_IQUE",
558 "label": "¿",
559 }
560 "RCTL(S(CA_EQL))": {
561 "key": "CA_OGON",
562 "label": "˛ (dead)",
563 }
564 "RCTL(S(CA_R))": {
565 "key": "CA_REGD",
566 "label": "®",
567 }
568 "RCTL(S(CA_Y))": {
569 "key": "CA_YEN",
570 "label": "¥",
571 }
572 "RCTL(S(CA_U))": {
573 "key": "CA_UARR",
574 "label": "↑",
575 }
576 "RCTL(S(CA_I))": {
577 "key": "CA_DLSI",
578 "label": "ı",
579 }
580 "RCTL(S(CA_CIRC))": {
581 "key": "CA_RNGA",
582 "label": "° (dead)",
583 }
584 "RCTL(S(CA_CCED))": {
585 "key": "CA_MACR",
586 "label": "¯ (dead)",
587 }
588 "RCTL(S(CA_S))": {
589 "key": "CA_SECT",
590 "label": "§",
591 }
592 "RCTL(S(CA_F))": {
593 "key": "CA_FORD",
594 "label": "ª",
595 }
596 "RCTL(S(CA_SCLN))": {
597 "key": "CA_DACU",
598 "label": "˝ (dead)",
599 }
600 "RCTL(S(CA_EGRV))": {
601 "key": "CA_CARN",
602 "label": "ˇ (dead)",
603 }
604 "RCTL(S(CA_AGRV))": {
605 "key": "CA_BREV",
606 "label": "˘ (dead)",
607 }
608 "RCTL(S(CA_UGRV))": {
609 "key": "CA_BRKP",
610 "label": "¦",
611 }
612 "RCTL(S(CA_C))": {
613 "key": "CA_COPY",
614 "label": "©",
615 }
616 "RCTL(S(CA_V))": {
617 "key": "CA_LSQU",
618 "label": "‘",
619 }
620 "RCTL(S(CA_B))": {
621 "key": "CA_RSQU",
622 "label": "’",
623 }
624 "RCTL(S(CA_N))": {
625 "key": "CA_ENOT",
626 "label": "♪",
627 }
628 "RCTL(S(CA_M))": {
629 "key": "CA_MORD",
630 "label": "º",
631 }
632 "RCTL(S(CA_COMM))": {
633 "key": "CA_MUL",
634 "label": "×",
635 }
636 "RCTL(S(CA_DOT))": {
637 "key": "CA_DIV",
638 "label": "÷",
639 }
640 }
641} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson
new file mode 100644
index 0000000000..1dc091584b
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson
@@ -0,0 +1,302 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "CM_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "CM_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "CM_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "CM_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "CM_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "CM_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "CM_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "CM_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "CM_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "CM_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "CM_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "CM_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "CM_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "CM_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "CM_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "CM_F",
78 "label": "F",
79 }
80 "KC_R": {
81 "key": "CM_P",
82 "label": "P",
83 }
84 "KC_T": {
85 "key": "CM_G",
86 "label": "G",
87 }
88 "KC_Y": {
89 "key": "CM_J",
90 "label": "J",
91 }
92 "KC_U": {
93 "key": "CM_L",
94 "label": "L",
95 }
96 "KC_I": {
97 "key": "CM_U",
98 "label": "U",
99 }
100 "KC_O": {
101 "key": "CM_Y",
102 "label": "Y",
103 }
104 "KC_P": {
105 "key": "CM_SCLN",
106 "label": ";",
107 }
108 "KC_LBRC": {
109 "key": "CM_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "CM_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "CM_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "CM_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "CM_R",
126 "label": "R",
127 }
128 "KC_D": {
129 "key": "CM_S",
130 "label": "S",
131 }
132 "KC_F": {
133 "key": "CM_T",
134 "label": "T",
135 }
136 "KC_G": {
137 "key": "CM_D",
138 "label": "D",
139 }
140 "KC_H": {
141 "key": "CM_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "CM_N",
146 "label": "N",
147 }
148 "KC_K": {
149 "key": "CM_E",
150 "label": "E",
151 }
152 "KC_L": {
153 "key": "CM_I",
154 "label": "I",
155 }
156 "KC_SCLN": {
157 "key": "CM_O",
158 "label": "O",
159 }
160 "KC_QUOT": {
161 "key": "CM_QUOT",
162 "label": "'",
163 }
164 "KC_Z": {
165 "key": "CM_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "CM_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "CM_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "CM_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "CM_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "CM_K",
186 "label": "K",
187 }
188 "KC_M": {
189 "key": "CM_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "CM_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "CM_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "CM_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(CM_GRV)": {
218 "key": "CM_TILD",
219 "label": "~",
220 }
221 "S(CM_1)": {
222 "key": "CM_EXLM",
223 "label": "!",
224 }
225 "S(CM_2)": {
226 "key": "CM_AT",
227 "label": "@",
228 }
229 "S(CM_3)": {
230 "key": "CM_HASH",
231 "label": "#",
232 }
233 "S(CM_4)": {
234 "key": "CM_DLR",
235 "label": "$",
236 }
237 "S(CM_5)": {
238 "key": "CM_PERC",
239 "label": "%",
240 }
241 "S(CM_6)": {
242 "key": "CM_CIRC",
243 "label": "^",
244 }
245 "S(CM_7)": {
246 "key": "CM_AMPR",
247 "label": "&",
248 }
249 "S(CM_8)": {
250 "key": "CM_ASTR",
251 "label": "*",
252 }
253 "S(CM_9)": {
254 "key": "CM_LPRN",
255 "label": "(",
256 }
257 "S(CM_0)": {
258 "key": "CM_RPRN",
259 "label": ")",
260 }
261 "S(CM_MINS)": {
262 "key": "CM_UNDS",
263 "label": "_",
264 }
265 "S(CM_EQL)": {
266 "key": "CM_PLUS",
267 "label": "+",
268 }
269 "S(CM_SCLN)": {
270 "key": "CM_COLN",
271 "label": ":",
272 }
273 "S(CM_LBRC)": {
274 "key": "CM_LCBR",
275 "label": "{",
276 }
277 "S(CM_RBRC)": {
278 "key": "CM_RCBR",
279 "label": "}",
280 }
281 "S(CM_BSLS)": {
282 "key": "CM_PIPE",
283 "label": "|",
284 }
285 "S(CM_QUOT)": {
286 "key": "CM_DQUO",
287 "label": "\"",
288 }
289 "S(CM_COMM)": {
290 "key": "CM_LABK",
291 "label": "<",
292 }
293 "S(CM_DOT)": {
294 "key": "CM_RABK",
295 "label": ">",
296 }
297 "S(CM_SLSH)": {
298 "key": "CM_QUES",
299 "label": "?",
300 }
301 }
302} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson
new file mode 100644
index 0000000000..82632aa637
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson
@@ -0,0 +1,403 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "HR_CEDL",
18 "label": "¸ (dead)",
19 }
20 "KC_1": {
21 "key": "HR_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "HR_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "HR_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "HR_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "HR_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "HR_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "HR_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "HR_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "HR_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "HR_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "HR_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "HR_PLUS",
66 "label": "+",
67 }
68 "KC_Q": {
69 "key": "HR_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "HR_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "HR_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "HR_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "HR_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "HR_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "HR_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "HR_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "HR_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "HR_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "HR_SCAR",
110 "label": "Š",
111 }
112 "KC_RBRC": {
113 "key": "HR_DSTR",
114 "label": "Đ",
115 }
116 "KC_A": {
117 "key": "HR_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "HR_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "HR_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "HR_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "HR_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "HR_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "HR_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "HR_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "HR_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "HR_CCAR",
154 "label": "Č",
155 }
156 "KC_QUOT": {
157 "key": "HR_CACU",
158 "label": "Ć",
159 }
160 "KC_NUHS": {
161 "key": "HR_ZCAR",
162 "label": "Ž",
163 }
164 "KC_NUBS": {
165 "key": "HR_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "HR_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "HR_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "HR_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "HR_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "HR_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "HR_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "HR_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "HR_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "HR_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "HR_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(HR_CEDL)": {
222 "key": "HR_DIAE",
223 "label": "¨ (dead)",
224 }
225 "S(HR_1)": {
226 "key": "HR_EXLM",
227 "label": "!",
228 }
229 "S(HR_2)": {
230 "key": "HR_DQUO",
231 "label": "\"",
232 }
233 "S(HR_3)": {
234 "key": "HR_HASH",
235 "label": "#",
236 }
237 "S(HR_4)": {
238 "key": "HR_DLR",
239 "label": "$",
240 }
241 "S(HR_5)": {
242 "key": "HR_PERC",
243 "label": "%",
244 }
245 "S(HR_6)": {
246 "key": "HR_AMPR",
247 "label": "&",
248 }
249 "S(HR_7)": {
250 "key": "HR_SLSH",
251 "label": "/",
252 }
253 "S(HR_8)": {
254 "key": "HR_LPRN",
255 "label": "(",
256 }
257 "S(HR_9)": {
258 "key": "HR_RPRN",
259 "label": ")",
260 }
261 "S(HR_0)": {
262 "key": "HR_EQL",
263 "label": "=",
264 }
265 "S(HR_QUOT)": {
266 "key": "HR_QUES",
267 "label": "?",
268 }
269 "S(HR_PLUS)": {
270 "key": "HR_ASTR",
271 "label": "*",
272 }
273 "S(HR_LABK)": {
274 "key": "HR_RABK",
275 "label": ">",
276 }
277 "S(HR_COMM)": {
278 "key": "HR_SCLN",
279 "label": ";",
280 }
281 "S(HR_DOT)": {
282 "key": "HR_COLN",
283 "label": ":",
284 }
285 "S(HR_MINS)": {
286 "key": "HR_UNDS",
287 "label": "_",
288 }
289/* AltGr symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
291 * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
293 * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
295 * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
296 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
297 * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
298 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
299 * │ │ │ │ │ │ │ │ │
300 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
301 */
302 "ALGR(HR_1)": {
303 "key": "HR_TILD",
304 "label": "~",
305 }
306 "ALGR(HR_2)": {
307 "key": "HR_CARN",
308 "label": "ˇ (dead)",
309 }
310 "ALGR(HR_3)": {
311 "key": "HR_CIRC",
312 "label": "^ (dead)",
313 }
314 "ALGR(HR_4)": {
315 "key": "HR_BREV",
316 "label": "˘ (dead)",
317 }
318 "ALGR(HR_5)": {
319 "key": "HR_RNGA",
320 "label": "° (dead)",
321 }
322 "ALGR(HR_6)": {
323 "key": "HR_OGON",
324 "label": "˛ (dead)",
325 }
326 "ALGR(HR_7)": {
327 "key": "HR_GRV",
328 "label": "`",
329 }
330 "ALGR(HR_8)": {
331 "key": "HR_DOTA",
332 "label": "˙ (dead)",
333 }
334 "ALGR(HR_9)": {
335 "key": "HR_ACUT",
336 "label": "´ (dead)",
337 }
338 "ALGR(HR_0)": {
339 "key": "HR_DACU",
340 "label": "˝ (dead)",
341 }
342 "ALGR(HR_Q)": {
343 "key": "HR_BSLS",
344 "label": "\\",
345 }
346 "ALGR(HR_W)": {
347 "key": "HR_PIPE",
348 "label": "|",
349 }
350 "ALGR(HR_E)": {
351 "key": "HR_EURO",
352 "label": "€",
353 }
354 "ALGR(HR_SCAR)": {
355 "key": "HR_DIV",
356 "label": "÷",
357 }
358 "ALGR(HR_DSTR)": {
359 "key": "HR_MUL",
360 "label": "×",
361 }
362 "ALGR(HR_F)": {
363 "key": "HR_LBRC",
364 "label": "[",
365 }
366 "ALGR(HR_G)": {
367 "key": "HR_RBRC",
368 "label": "]",
369 }
370 "ALGR(HR_K)": {
371 "key": "HR_LLST",
372 "label": "ł",
373 }
374 "ALGR(HR_L)": {
375 "key": "HR_CLST",
376 "label": "Ł",
377 }
378 "ALGR(HR_CACU)": {
379 "key": "HR_SS",
380 "label": "ß",
381 }
382 "ALGR(HR_ZCAR)": {
383 "key": "HR_CURR",
384 "label": "¤",
385 }
386 "ALGR(HR_V)": {
387 "key": "HR_AT",
388 "label": "@",
389 }
390 "ALGR(HR_B)": {
391 "key": "HR_LCBR",
392 "label": "{",
393 }
394 "ALGR(HR_N)": {
395 "key": "HR_RCBR",
396 "label": "}",
397 }
398 "ALGR(HR_M)": {
399 "key": "HR_SECT",
400 "label": "§",
401 }
402 }
403} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson
new file mode 100644
index 0000000000..9cfb88c489
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson
@@ -0,0 +1,435 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ; │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "CZ_SCLN",
18 "label": ";",
19 }
20 "KC_1": {
21 "key": "CZ_PLUS",
22 "label": "+",
23 }
24 "KC_2": {
25 "key": "CZ_ECAR",
26 "label": "ě",
27 }
28 "KC_3": {
29 "key": "CZ_SCAR",
30 "label": "š",
31 }
32 "KC_4": {
33 "key": "CZ_CCAR",
34 "label": "č",
35 }
36 "KC_5": {
37 "key": "CZ_RCAR",
38 "label": "ř",
39 }
40 "KC_6": {
41 "key": "CZ_ZCAR",
42 "label": "ž",
43 }
44 "KC_7": {
45 "key": "CZ_YACU",
46 "label": "ý",
47 }
48 "KC_8": {
49 "key": "CZ_AACU",
50 "label": "á",
51 }
52 "KC_9": {
53 "key": "CZ_IACU",
54 "label": "í",
55 }
56 "KC_0": {
57 "key": "CZ_EACU",
58 "label": "é",
59 }
60 "KC_MINS": {
61 "key": "CZ_EQL",
62 "label": "=",
63 }
64 "KC_EQL": {
65 "key": "CZ_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "CZ_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "CZ_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "CZ_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "CZ_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "CZ_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "CZ_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "CZ_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "CZ_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "CZ_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "CZ_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "CZ_UACU",
110 "label": "ú",
111 }
112 "KC_RBRC": {
113 "key": "CZ_RPRN",
114 "label": ")",
115 }
116 "KC_A": {
117 "key": "CZ_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "CZ_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "CZ_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "CZ_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "CZ_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "CZ_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "CZ_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "CZ_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "CZ_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "CZ_URNG",
154 "label": "ů",
155 }
156 "KC_QUOT": {
157 "key": "CZ_SECT",
158 "label": "§",
159 }
160 "KC_NUHS": {
161 "key": "CZ_DIAE",
162 "label": "¨ (dead)",
163 }
164 "KC_NUBS": {
165 "key": "CZ_BSLS",
166 "label": "\\",
167 }
168 "KC_Z": {
169 "key": "CZ_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "CZ_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "CZ_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "CZ_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "CZ_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "CZ_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "CZ_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "CZ_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "CZ_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "CZ_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ' │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(CZ_SCLN)": {
222 "key": "CZ_RNGA",
223 "label": "° (dead)",
224 }
225 "S(CZ_PLUS)": {
226 "key": "CZ_1",
227 "label": "1",
228 }
229 "S(CZ_ECAR)": {
230 "key": "CZ_2",
231 "label": "2",
232 }
233 "S(CZ_SCAR)": {
234 "key": "CZ_3",
235 "label": "3",
236 }
237 "S(CZ_CCAR)": {
238 "key": "CZ_4",
239 "label": "4",
240 }
241 "S(CZ_RCAR)": {
242 "key": "CZ_5",
243 "label": "5",
244 }
245 "S(CZ_ZCAR)": {
246 "key": "CZ_6",
247 "label": "6",
248 }
249 "S(CZ_YACU)": {
250 "key": "CZ_7",
251 "label": "7",
252 }
253 "S(CZ_AACU)": {
254 "key": "CZ_8",
255 "label": "8",
256 }
257 "S(CZ_IACU)": {
258 "key": "CZ_9",
259 "label": "9",
260 }
261 "S(CZ_EACU)": {
262 "key": "CZ_0",
263 "label": "0",
264 }
265 "S(CZ_EQL)": {
266 "key": "CZ_PERC",
267 "label": "%",
268 }
269 "S(CZ_ACUT)": {
270 "key": "CZ_CARN",
271 "label": "ˇ (dead)",
272 }
273 "S(CZ_UACU)": {
274 "key": "CZ_SLSH",
275 "label": "/",
276 }
277 "S(CZ_RPRN)": {
278 "key": "CZ_LPRN",
279 "label": "(",
280 }
281 "S(CZ_URNG)": {
282 "key": "CZ_DQUO",
283 "label": "\"",
284 }
285 "S(CZ_SECT)": {
286 "key": "CZ_EXLM",
287 "label": "!",
288 }
289 "S(CZ_DIAE)": {
290 "key": "CZ_QUOT",
291 "label": "'",
292 }
293 "S(CZ_BSLS)": {
294 "key": "CZ_PIPE",
295 "label": "|",
296 }
297 "S(CZ_COMM)": {
298 "key": "CZ_QUES",
299 "label": "?",
300 }
301 "S(CZ_DOT)": {
302 "key": "CZ_COLN",
303 "label": ":",
304 }
305 "S(CZ_MINS)": {
306 "key": "CZ_UNDS",
307 "label": "_",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ │ ~ │ │ ^ │ ˘ │ │ ˛ │ ` │ ˙ │ │ ˝ │ │ ¸ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ │ │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ │ │ # │ & │ @ │ { │ } │ │ < │ > │ * │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(CZ_PLUS)": {
323 "key": "CZ_TILD",
324 "label": "~",
325 }
326 "ALGR(CZ_SCAR)": {
327 "key": "CZ_CIRC",
328 "label": "^ (dead)",
329 }
330 "ALGR(CZ_CCAR)": {
331 "key": "CZ_BREV",
332 "label": "˘ (dead)",
333 }
334 "ALGR(CZ_ZCAR)": {
335 "key": "CZ_OGON",
336 "label": "˛ (dead)",
337 }
338 "ALGR(CZ_YACU)": {
339 "key": "CZ_GRV",
340 "label": "` (dead)",
341 }
342 "ALGR(CZ_AACU)": {
343 "key": "CZ_DOTA",
344 "label": "˙ (dead)",
345 }
346 "ALGR(CZ_EACU)": {
347 "key": "CZ_DACU",
348 "label": "˝ (dead)",
349 }
350 "ALGR(CZ_ACUT)": {
351 "key": "CZ_CEDL",
352 "label": "¸ (dead)",
353 }
354 "ALGR(CZ_E)": {
355 "key": "CZ_EURO",
356 "label": "€",
357 }
358 "ALGR(CZ_UACU)": {
359 "key": "CZ_DIV",
360 "label": "÷",
361 }
362 "ALGR(CZ_RPRN)": {
363 "key": "CZ_MUL",
364 "label": "×",
365 }
366 "ALGR(CZ_S)": {
367 "key": "CZ_LDST",
368 "label": "đ",
369 }
370 "ALGR(CZ_D)": {
371 "key": "CZ_CDST",
372 "label": "Đ",
373 }
374 "ALGR(CZ_F)": {
375 "key": "CZ_LBRC",
376 "label": "[",
377 }
378 "ALGR(CZ_G)": {
379 "key": "CZ_RBRC",
380 "label": "]",
381 }
382 "ALGR(CZ_K)": {
383 "key": "CZ_LLST",
384 "label": "ł",
385 }
386 "ALGR(CZ_L)": {
387 "key": "CZ_CLST",
388 "label": "Ł",
389 }
390 "ALGR(CZ_URNG)": {
391 "key": "CZ_DLR",
392 "label": "$",
393 }
394 "ALGR(CZ_SECT)": {
395 "key": "CZ_SS",
396 "label": "ß",
397 }
398 "ALGR(CZ_DIAE)": {
399 "key": "CZ_CURR",
400 "label": "¤",
401 }
402 "ALGR(CZ_X)": {
403 "key": "CZ_HASH",
404 "label": "#",
405 }
406 "ALGR(CZ_C)": {
407 "key": "CZ_AMPR",
408 "label": "&",
409 }
410 "ALGR(CZ_V)": {
411 "key": "CZ_AT",
412 "label": "@",
413 }
414 "ALGR(CZ_B)": {
415 "key": "CZ_LCBR",
416 "label": "{",
417 }
418 "ALGR(CZ_N)": {
419 "key": "CZ_RCBR",
420 "label": "}",
421 }
422 "ALGR(CZ_COMM)": {
423 "key": "CZ_LABK",
424 "label": "<",
425 }
426 "ALGR(CZ_DOT)": {
427 "key": "CZ_RABK",
428 "label": ">",
429 }
430 "ALGR(CZ_MINS)": {
431 "key": "CZ_ASTR",
432 "label": "*",
433 }
434 }
435} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson
new file mode 100644
index 0000000000..fffcd9f9ad
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson
@@ -0,0 +1,359 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ½ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ Ø │ ' │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "DK_HALF",
18 "label": "½",
19 }
20 "KC_1": {
21 "key": "DK_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "DK_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "DK_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "DK_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "DK_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "DK_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "DK_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "DK_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "DK_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "DK_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "DK_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "DK_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "DK_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "DK_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "DK_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "DK_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "DK_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "DK_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "DK_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "DK_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "DK_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "DK_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "DK_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "DK_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "DK_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "DK_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "DK_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "DK_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "DK_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "DK_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "DK_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "DK_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "DK_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "DK_AE",
154 "label": "Æ",
155 }
156 "KC_QUOT": {
157 "key": "DK_OSTR",
158 "label": "Ø",
159 }
160 "KC_NUHS": {
161 "key": "DK_QUOT",
162 "label": "'",
163 }
164 "KC_NUBS": {
165 "key": "DK_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "DK_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "DK_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "DK_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "DK_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "DK_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "DK_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "DK_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "DK_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "DK_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "DK_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(DK_HALF)": {
222 "key": "DK_SECT",
223 "label": "§",
224 }
225 "S(DK_1)": {
226 "key": "DK_EXLM",
227 "label": "!",
228 }
229 "S(DK_2)": {
230 "key": "DK_DQUO",
231 "label": "\"",
232 }
233 "S(DK_3)": {
234 "key": "DK_HASH",
235 "label": "#",
236 }
237 "S(DK_4)": {
238 "key": "DK_CURR",
239 "label": "¤",
240 }
241 "S(DK_5)": {
242 "key": "DK_PERC",
243 "label": "%",
244 }
245 "S(DK_6)": {
246 "key": "DK_AMPR",
247 "label": "&",
248 }
249 "S(DK_7)": {
250 "key": "DK_SLSH",
251 "label": "/",
252 }
253 "S(DK_8)": {
254 "key": "DK_LPRN",
255 "label": "(",
256 }
257 "S(DK_9)": {
258 "key": "DK_RPRN",
259 "label": ")",
260 }
261 "S(DK_0)": {
262 "key": "DK_EQL",
263 "label": "=",
264 }
265 "S(DK_PLUS)": {
266 "key": "DK_QUES",
267 "label": "?",
268 }
269 "S(DK_ACUT)": {
270 "key": "DK_GRV",
271 "label": "` (dead)",
272 }
273 "S(DK_DIAE)": {
274 "key": "DK_CIRC",
275 "label": "^ (dead)",
276 }
277 "S(DK_QUOT)": {
278 "key": "DK_ASTR",
279 "label": "*",
280 }
281 "S(DK_LABK)": {
282 "key": "DK_RABK",
283 "label": ">",
284 }
285 "S(DK_COMM)": {
286 "key": "DK_SCLN",
287 "label": ";",
288 }
289 "S(DK_DOT)": {
290 "key": "DK_COLN",
291 "label": ":",
292 }
293 "S(DK_MINS)": {
294 "key": "DK_UNDS",
295 "label": "_",
296 }
297/* AltGr symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
299 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ | │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
301 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
305 * │ │ \ │ │ │ │ │ │ │ µ │ │ │ │ │
306 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
307 * │ │ │ │ │ │ │ │ │
308 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
309 */
310 "ALGR(DK_2)": {
311 "key": "DK_AT",
312 "label": "@",
313 }
314 "ALGR(DK_3)": {
315 "key": "DK_PND",
316 "label": "£",
317 }
318 "ALGR(DK_4)": {
319 "key": "DK_DLR",
320 "label": "$",
321 }
322 "ALGR(DK_5)": {
323 "key": "DK_EURO",
324 "label": "€",
325 }
326 "ALGR(DK_7)": {
327 "key": "DK_LCBR",
328 "label": "{",
329 }
330 "ALGR(DK_8)": {
331 "key": "DK_LBRC",
332 "label": "[",
333 }
334 "ALGR(DK_9)": {
335 "key": "DK_RBRC",
336 "label": "]",
337 }
338 "ALGR(DK_0)": {
339 "key": "DK_RCBR",
340 "label": "}",
341 }
342 "ALGR(DK_ACUT)": {
343 "key": "DK_PIPE",
344 "label": "|",
345 }
346 "ALGR(DK_DIAE)": {
347 "key": "DK_TILD",
348 "label": "~ (dead)",
349 }
350 "ALGR(DK_LABK)": {
351 "key": "DK_BSLS",
352 "label": "\\",
353 }
354 "ALGR(DK_M)": {
355 "key": "DK_MICR",
356 "label": "µ",
357 }
358 }
359} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson
new file mode 100644
index 0000000000..534f99c8e6
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson
@@ -0,0 +1,302 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "DV_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "DV_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "DV_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "DV_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "DV_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "DV_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "DV_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "DV_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "DV_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "DV_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "DV_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "DV_LBRC",
62 "label": "[",
63 }
64 "KC_EQL": {
65 "key": "DV_RBRC",
66 "label": "]",
67 }
68 "KC_Q": {
69 "key": "DV_QUOT",
70 "label": "'",
71 }
72 "KC_W": {
73 "key": "DV_COMM",
74 "label": ",",
75 }
76 "KC_E": {
77 "key": "DV_DOT",
78 "label": ".",
79 }
80 "KC_R": {
81 "key": "DV_P",
82 "label": "P",
83 }
84 "KC_T": {
85 "key": "DV_Y",
86 "label": "Y",
87 }
88 "KC_Y": {
89 "key": "DV_F",
90 "label": "F",
91 }
92 "KC_U": {
93 "key": "DV_G",
94 "label": "G",
95 }
96 "KC_I": {
97 "key": "DV_C",
98 "label": "C",
99 }
100 "KC_O": {
101 "key": "DV_R",
102 "label": "R",
103 }
104 "KC_P": {
105 "key": "DV_L",
106 "label": "L",
107 }
108 "KC_LBRC": {
109 "key": "DV_SLSH",
110 "label": "/",
111 }
112 "KC_RBRC": {
113 "key": "DV_EQL",
114 "label": "=",
115 }
116 "KC_BSLS": {
117 "key": "DV_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "DV_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "DV_O",
126 "label": "O",
127 }
128 "KC_D": {
129 "key": "DV_E",
130 "label": "E",
131 }
132 "KC_F": {
133 "key": "DV_U",
134 "label": "U",
135 }
136 "KC_G": {
137 "key": "DV_I",
138 "label": "I",
139 }
140 "KC_H": {
141 "key": "DV_D",
142 "label": "D",
143 }
144 "KC_J": {
145 "key": "DV_H",
146 "label": "H",
147 }
148 "KC_K": {
149 "key": "DV_T",
150 "label": "T",
151 }
152 "KC_L": {
153 "key": "DV_N",
154 "label": "N",
155 }
156 "KC_SCLN": {
157 "key": "DV_S",
158 "label": "S",
159 }
160 "KC_QUOT": {
161 "key": "DV_MINS",
162 "label": "-",
163 }
164 "KC_Z": {
165 "key": "DV_SCLN",
166 "label": ";",
167 }
168 "KC_X": {
169 "key": "DV_Q",
170 "label": "Q",
171 }
172 "KC_C": {
173 "key": "DV_J",
174 "label": "J",
175 }
176 "KC_V": {
177 "key": "DV_K",
178 "label": "K",
179 }
180 "KC_B": {
181 "key": "DV_X",
182 "label": "X",
183 }
184 "KC_N": {
185 "key": "DV_B",
186 "label": "B",
187 }
188 "KC_M": {
189 "key": "DV_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "DV_W",
194 "label": "W",
195 }
196 "KC_DOT": {
197 "key": "DV_V",
198 "label": "V",
199 }
200 "KC_SLSH": {
201 "key": "DV_Z",
202 "label": "Z",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ { │ } │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ " │ < │ > │ │ │ │ │ │ │ │ ? │ + │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ : │ │ │ │ │ │ │ │ │ │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(DV_GRV)": {
218 "key": "DV_TILD",
219 "label": "~",
220 }
221 "S(DV_1)": {
222 "key": "DV_EXLM",
223 "label": "!",
224 }
225 "S(DV_2)": {
226 "key": "DV_AT",
227 "label": "@",
228 }
229 "S(DV_3)": {
230 "key": "DV_HASH",
231 "label": "#",
232 }
233 "S(DV_4)": {
234 "key": "DV_DLR",
235 "label": "$",
236 }
237 "S(DV_5)": {
238 "key": "DV_PERC",
239 "label": "%",
240 }
241 "S(DV_6)": {
242 "key": "DV_CIRC",
243 "label": "^",
244 }
245 "S(DV_7)": {
246 "key": "DV_AMPR",
247 "label": "&",
248 }
249 "S(DV_8)": {
250 "key": "DV_ASTR",
251 "label": "*",
252 }
253 "S(DV_9)": {
254 "key": "DV_LPRN",
255 "label": "(",
256 }
257 "S(DV_0)": {
258 "key": "DV_RPRN",
259 "label": ")",
260 }
261 "S(DV_LBRC)": {
262 "key": "DV_LCBR",
263 "label": "{",
264 }
265 "S(DV_RBRC)": {
266 "key": "DV_RCBR",
267 "label": "}",
268 }
269 "S(DV_QUOT)": {
270 "key": "DV_DQUO",
271 "label": "\"",
272 }
273 "S(DV_COMM)": {
274 "key": "DV_LABK",
275 "label": "<",
276 }
277 "S(DV_DOT)": {
278 "key": "DV_RABK",
279 "label": ">",
280 }
281 "S(DV_SLSH)": {
282 "key": "DV_QUES",
283 "label": "?",
284 }
285 "S(DV_EQL)": {
286 "key": "DV_PLUS",
287 "label": "+",
288 }
289 "S(DV_BSLS)": {
290 "key": "DV_PIPE",
291 "label": "|",
292 }
293 "S(DV_MINS)": {
294 "key": "DV_UNDS",
295 "label": "_",
296 }
297 "S(DV_SCLN)": {
298 "key": "DV_COLN",
299 "label": ":",
300 }
301 }
302} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson
new file mode 100644
index 0000000000..70c0b3c0aa
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson
@@ -0,0 +1,317 @@
1{
2 "aliases": {
3/* Dvorak for the French language
4 * Version: 2
5 *
6 * The layout is designed by Francis Leboutte <dvorak-fr@algo.be>
7 *
8 * Source: https://algo.be/ergo/dvorak-fr.html
9 */
10/*
11 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
12 * │ « │ » │ / │ - │ è │ \ │ ^ │ ( │ ` │ ) │ _ │ [ │ ] │ │
13 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
14 * │ │ : │ ' │ é │ G │ . │ H │ V │ C │ M │ K │ Z │ ¨ │ │
15 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
16 * │ │ O │ A │ U │ E │ B │ F │ S │ T │ N │ D │ W │ ~ │ │
17 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
18 * │ │ à │ ; │ Q │ , │ I │ Y │ X │ R │ L │ P │ J │ │
19 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
20 * │ │ │ │ │ │ │ │ │
21 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
22 */
23 "KC_GRV": {
24 "key": "DV_LDAQ",
25 "label": "«",
26 }
27 "KC_1": {
28 "key": "DV_RDAQ",
29 "label": "»",
30 }
31 "KC_2": {
32 "key": "DV_SLSH",
33 "label": "/",
34 }
35 "KC_3": {
36 "key": "DV_MINS",
37 "label": "-",
38 }
39 "KC_4": {
40 "key": "DV_EGRV",
41 "label": "è",
42 }
43 "KC_5": {
44 "key": "DV_BSLS",
45 "label": "\\",
46 }
47 "KC_6": {
48 "key": "DV_CIRC",
49 "label": "^ (dead)",
50 }
51 "KC_7": {
52 "key": "DV_LPRN",
53 "label": "(",
54 }
55 "KC_8": {
56 "key": "DV_GRV",
57 "label": "` (dead)",
58 }
59 "KC_9": {
60 "key": "DV_RPRN",
61 "label": ")",
62 }
63 "KC_0": {
64 "key": "DV_UNDS",
65 "label": "_",
66 }
67 "KC_MINS": {
68 "key": "DV_LBRC",
69 "label": "[",
70 }
71 "KC_EQL": {
72 "key": "DV_RBRC",
73 "label": "]",
74 }
75 "KC_Q": {
76 "key": "DV_COLN",
77 "label": ":",
78 }
79 "KC_W": {
80 "key": "DV_QUOT",
81 "label": "'",
82 }
83 "KC_E": {
84 "key": "DV_EACU",
85 "label": "é",
86 }
87 "KC_R": {
88 "key": "DV_G",
89 "label": "G",
90 }
91 "KC_T": {
92 "key": "DV_DOT",
93 "label": ".",
94 }
95 "KC_Y": {
96 "key": "DV_H",
97 "label": "H",
98 }
99 "KC_U": {
100 "key": "DV_V",
101 "label": "V",
102 }
103 "KC_I": {
104 "key": "DV_C",
105 "label": "C",
106 }
107 "KC_O": {
108 "key": "DV_M",
109 "label": "M",
110 }
111 "KC_P": {
112 "key": "DV_K",
113 "label": "K",
114 }
115 "KC_LBRC": {
116 "key": "DV_Z",
117 "label": "Z",
118 }
119 "KC_RBRC": {
120 "key": "DV_DIAE",
121 "label": "¨ (dead)",
122 }
123 "KC_A": {
124 "key": "DV_O",
125 "label": "O",
126 }
127 "KC_S": {
128 "key": "DV_A",
129 "label": "A",
130 }
131 "KC_D": {
132 "key": "DV_U",
133 "label": "U",
134 }
135 "KC_F": {
136 "key": "DV_E",
137 "label": "E",
138 }
139 "KC_G": {
140 "key": "DV_B",
141 "label": "B",
142 }
143 "KC_H": {
144 "key": "DV_F",
145 "label": "F",
146 }
147 "KC_J": {
148 "key": "DV_S",
149 "label": "S",
150 }
151 "KC_K": {
152 "key": "DV_T",
153 "label": "T",
154 }
155 "KC_L": {
156 "key": "DV_N",
157 "label": "N",
158 }
159 "KC_SCLN": {
160 "key": "DV_D",
161 "label": "D",
162 }
163 "KC_QUOT": {
164 "key": "DV_W",
165 "label": "W",
166 }
167 "KC_NUHS": {
168 "key": "DV_TILD",
169 "label": "~ (dead)",
170 }
171 "KC_NUBS": {
172 "key": "DV_AGRV",
173 "label": "à",
174 }
175 "KC_Z": {
176 "key": "DV_SCLN",
177 "label": ";",
178 }
179 "KC_X": {
180 "key": "DV_Q",
181 "label": "Q",
182 }
183 "KC_C": {
184 "key": "DV_COMM",
185 "label": ",",
186 }
187 "KC_V": {
188 "key": "DV_I",
189 "label": "I",
190 }
191 "KC_B": {
192 "key": "DV_Y",
193 "label": "Y",
194 }
195 "KC_N": {
196 "key": "DV_X",
197 "label": "X",
198 }
199 "KC_M": {
200 "key": "DV_R",
201 "label": "R",
202 }
203 "KC_COMM": {
204 "key": "DV_L",
205 "label": "L",
206 }
207 "KC_DOT": {
208 "key": "DV_P",
209 "label": "P",
210 }
211 "KC_SLSH": {
212 "key": "DV_J",
213 "label": "J",
214 }
215/* Shifted symbols
216 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
217 * │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 0 │ 0 │ + │ % │ │
218 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
219 * │ │ ? │ < │ > │ │ ! │ │ │ │ │ │ │ = │ │
220 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
221 * │ │ │ │ │ │ │ │ │ │ │ │ │ # │ │
222 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
223 * │ │ ç │ | │ │ @ │ │ │ │ │ │ │ │ │
224 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
225 * │ │ │ │ │ │ │ │ │
226 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
227 */
228 "S(DV_LDAQ)": {
229 "key": "DV_ASTR",
230 "label": "*",
231 }
232 "S(DV_RDAQ)": {
233 "key": "DV_1",
234 "label": "1",
235 }
236 "S(DV_SLSH)": {
237 "key": "DV_2",
238 "label": "2",
239 }
240 "S(DV_MINS)": {
241 "key": "DV_3",
242 "label": "3",
243 }
244 "S(DV_EGRV)": {
245 "key": "DV_4",
246 "label": "4",
247 }
248 "S(DV_BSLS)": {
249 "key": "DV_5",
250 "label": "5",
251 }
252 "S(DV_CIRC)": {
253 "key": "DV_6",
254 "label": "6",
255 }
256 "S(DV_LPRN)": {
257 "key": "DV_7",
258 "label": "7",
259 }
260 "S(DV_GRV)": {
261 "key": "DV_8",
262 "label": "8",
263 }
264 "S(DV_RPRN)": {
265 "key": "DV_9",
266 "label": "9",
267 }
268 "S(DV_UNDS)": {
269 "key": "DV_0",
270 "label": "0",
271 }
272 "S(DV_LBRC)": {
273 "key": "DV_PLUS",
274 "label": "+",
275 }
276 "S(DV_RBRC)": {
277 "key": "DV_PERC",
278 "label": "%",
279 }
280 "S(DV_COLN)": {
281 "key": "DV_QUES",
282 "label": "?",
283 }
284 "S(DV_QUOT)": {
285 "key": "DV_LABK",
286 "label": "<",
287 }
288 "S(DV_EACU)": {
289 "key": "DV_RABK",
290 "label": ">",
291 }
292 "S(DV_DOT)": {
293 "key": "DV_EXLM",
294 "label": "!",
295 }
296 "S(DV_DIAE)": {
297 "key": "DV_EQL",
298 "label": "=",
299 }
300 "S(DV_TILD)": {
301 "key": "DV_HASH",
302 "label": "#",
303 }
304 "S(DV_AGRV)": {
305 "key": "DV_CCED",
306 "label": "ç",
307 }
308 "S(DV_SCLN)": {
309 "key": "DV_PIPE",
310 "label": "|",
311 }
312 "S(DV_COMM)": {
313 "key": "DV_AT",
314 "label": "@",
315 }
316 }
317} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson
new file mode 100644
index 0000000000..8a70dae7ef
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson
@@ -0,0 +1,302 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ $ │ & │ [ │ { │ } │ ( │ = │ * │ ) │ + │ ] │ ! │ # │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ ; │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ @ │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ ' │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "DP_DLR",
18 "label": "$",
19 }
20 "KC_1": {
21 "key": "DP_AMPR",
22 "label": "&",
23 }
24 "KC_2": {
25 "key": "DP_LBRC",
26 "label": "[",
27 }
28 "KC_3": {
29 "key": "DP_LCBR",
30 "label": "{",
31 }
32 "KC_4": {
33 "key": "DP_RCBR",
34 "label": "}",
35 }
36 "KC_5": {
37 "key": "DP_LPRN",
38 "label": "(",
39 }
40 "KC_6": {
41 "key": "DP_EQL",
42 "label": "=",
43 }
44 "KC_7": {
45 "key": "DP_ASTR",
46 "label": "*",
47 }
48 "KC_8": {
49 "key": "DP_RPRN",
50 "label": ")",
51 }
52 "KC_9": {
53 "key": "DP_PLUS",
54 "label": "+",
55 }
56 "KC_0": {
57 "key": "DP_RBRC",
58 "label": "]",
59 }
60 "KC_MINS": {
61 "key": "DP_EXLM",
62 "label": "!",
63 }
64 "KC_EQL": {
65 "key": "DP_HASH",
66 "label": "#",
67 }
68 "KC_Q": {
69 "key": "DP_SCLN",
70 "label": ";",
71 }
72 "KC_W": {
73 "key": "DP_COMM",
74 "label": ",",
75 }
76 "KC_E": {
77 "key": "DP_DOT",
78 "label": ".",
79 }
80 "KC_R": {
81 "key": "DP_P",
82 "label": "P",
83 }
84 "KC_T": {
85 "key": "DP_Y",
86 "label": "Y",
87 }
88 "KC_Y": {
89 "key": "DP_F",
90 "label": "F",
91 }
92 "KC_U": {
93 "key": "DP_G",
94 "label": "G",
95 }
96 "KC_I": {
97 "key": "DP_C",
98 "label": "C",
99 }
100 "KC_O": {
101 "key": "DP_R",
102 "label": "R",
103 }
104 "KC_P": {
105 "key": "DP_L",
106 "label": "L",
107 }
108 "KC_LBRC": {
109 "key": "DP_SLSH",
110 "label": "/",
111 }
112 "KC_RBRC": {
113 "key": "DP_AT",
114 "label": "@",
115 }
116 "KC_BSLS": {
117 "key": "DP_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "DP_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "DP_O",
126 "label": "O",
127 }
128 "KC_D": {
129 "key": "DP_E",
130 "label": "E",
131 }
132 "KC_F": {
133 "key": "DP_U",
134 "label": "U",
135 }
136 "KC_G": {
137 "key": "DP_I",
138 "label": "I",
139 }
140 "KC_H": {
141 "key": "DP_D",
142 "label": "D",
143 }
144 "KC_J": {
145 "key": "DP_H",
146 "label": "H",
147 }
148 "KC_K": {
149 "key": "DP_T",
150 "label": "T",
151 }
152 "KC_L": {
153 "key": "DP_N",
154 "label": "N",
155 }
156 "KC_SCLN": {
157 "key": "DP_S",
158 "label": "S",
159 }
160 "KC_QUOT": {
161 "key": "DP_MINS",
162 "label": "-",
163 }
164 "KC_Z": {
165 "key": "DP_QUOT",
166 "label": "'",
167 }
168 "KC_X": {
169 "key": "DP_Q",
170 "label": "Q",
171 }
172 "KC_C": {
173 "key": "DP_J",
174 "label": "J",
175 }
176 "KC_V": {
177 "key": "DP_K",
178 "label": "K",
179 }
180 "KC_B": {
181 "key": "DP_X",
182 "label": "X",
183 }
184 "KC_N": {
185 "key": "DP_B",
186 "label": "B",
187 }
188 "KC_M": {
189 "key": "DP_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "DP_W",
194 "label": "W",
195 }
196 "KC_DOT": {
197 "key": "DP_V",
198 "label": "V",
199 }
200 "KC_SLSH": {
201 "key": "DP_Z",
202 "label": "Z",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ % │ 7 │ 5 │ 3 │ 1 │ 9 │ 0 │ 2 │ 4 │ 6 │ 8 │ ` │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ : │ < │ > │ │ │ │ │ │ │ │ ? │ ^ │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ " │ │ │ │ │ │ │ │ │ │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(DP_DLR)": {
218 "key": "DP_TILD",
219 "label": "~",
220 }
221 "S(DP_AMPR)": {
222 "key": "DP_PERC",
223 "label": "%",
224 }
225 "S(DP_LBRC)": {
226 "key": "DP_7",
227 "label": "7",
228 }
229 "S(DP_LCBR)": {
230 "key": "DP_5",
231 "label": "5",
232 }
233 "S(DP_RCBR)": {
234 "key": "DP_3",
235 "label": "3",
236 }
237 "S(DP_LPRN)": {
238 "key": "DP_1",
239 "label": "1",
240 }
241 "S(DP_EQL)": {
242 "key": "DP_9",
243 "label": "9",
244 }
245 "S(DP_ASTR)": {
246 "key": "DP_0",
247 "label": "0",
248 }
249 "S(DP_RPRN)": {
250 "key": "DP_2",
251 "label": "2",
252 }
253 "S(DP_PLUS)": {
254 "key": "DP_4",
255 "label": "4",
256 }
257 "S(DP_RBRC)": {
258 "key": "DP_6",
259 "label": "6",
260 }
261 "S(DP_EXLM)": {
262 "key": "DP_8",
263 "label": "8",
264 }
265 "S(DP_HASH)": {
266 "key": "DP_GRV",
267 "label": "`",
268 }
269 "S(DP_SCLN)": {
270 "key": "DP_COLN",
271 "label": ":",
272 }
273 "S(DP_COMM)": {
274 "key": "DP_LABK",
275 "label": "<",
276 }
277 "S(DP_DOT)": {
278 "key": "DP_RABK",
279 "label": ">",
280 }
281 "S(DP_SLSH)": {
282 "key": "DP_QUES",
283 "label": "?",
284 }
285 "S(DP_AT)": {
286 "key": "DP_CIRC",
287 "label": "^",
288 }
289 "S(DP_BSLS)": {
290 "key": "DP_PIPE",
291 "label": "|",
292 }
293 "S(DP_MINS)": {
294 "key": "DP_UNDS",
295 "label": "_",
296 }
297 "S(DP_QUOT)": {
298 "key": "DP_DQUO",
299 "label": "\"",
300 }
301 }
302} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson
new file mode 100644
index 0000000000..bbf7512581
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson
@@ -0,0 +1,367 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ˇ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ü │ Õ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "EE_CARN",
18 "label": "ˇ (dead)",
19 }
20 "KC_1": {
21 "key": "EE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "EE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "EE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "EE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "EE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "EE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "EE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "EE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "EE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "EE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "EE_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "EE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "EE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "EE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "EE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "EE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "EE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "EE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "EE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "EE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "EE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "EE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "EE_UDIA",
110 "label": "Ü",
111 }
112 "KC_RBRC": {
113 "key": "EE_OTIL",
114 "label": "Õ",
115 }
116 "KC_A": {
117 "key": "EE_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "EE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "EE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "EE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "EE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "EE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "EE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "EE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "EE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "EE_ODIA",
154 "label": "Ö",
155 }
156 "KC_QUOT": {
157 "key": "EE_ADIA",
158 "label": "Ä",
159 }
160 "KC_NUHS": {
161 "key": "EE_QUOT",
162 "label": "'",
163 }
164 "KC_NUBS": {
165 "key": "EE_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "EE_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "EE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "EE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "EE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "EE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "EE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "EE_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "EE_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "EE_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "EE_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ~ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(EE_CARN)": {
222 "key": "EE_TILD",
223 "label": "~ (dead)",
224 }
225 "S(EE_1)": {
226 "key": "EE_EXLM",
227 "label": "!",
228 }
229 "S(EE_2)": {
230 "key": "EE_DQUO",
231 "label": "\"",
232 }
233 "S(EE_3)": {
234 "key": "EE_HASH",
235 "label": "#",
236 }
237 "S(EE_4)": {
238 "key": "EE_CURR",
239 "label": "¤",
240 }
241 "S(EE_5)": {
242 "key": "EE_PERC",
243 "label": "%",
244 }
245 "S(EE_6)": {
246 "key": "EE_AMPR",
247 "label": "&",
248 }
249 "S(EE_7)": {
250 "key": "EE_SLSH",
251 "label": "/",
252 }
253 "S(EE_8)": {
254 "key": "EE_LPRN",
255 "label": "(",
256 }
257 "S(EE_9)": {
258 "key": "EE_RPRN",
259 "label": ")",
260 }
261 "S(EE_0)": {
262 "key": "EE_EQL",
263 "label": "=",
264 }
265 "S(EE_PLUS)": {
266 "key": "EE_QUES",
267 "label": "?",
268 }
269 "S(EE_ACUT)": {
270 "key": "EE_GRV",
271 "label": "` (dead)",
272 }
273 "S(EE_QUOT)": {
274 "key": "EE_ASTR",
275 "label": "*",
276 }
277 "S(EE_LABK)": {
278 "key": "EE_RABK",
279 "label": ">",
280 }
281 "S(EE_COMM)": {
282 "key": "EE_SCLN",
283 "label": ";",
284 }
285 "S(EE_DOT)": {
286 "key": "EE_COLN",
287 "label": ":",
288 }
289 "S(EE_MINS)": {
290 "key": "EE_UNDS",
291 "label": "_",
292 }
293/* AltGr symbols
294 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
295 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
296 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
297 * │ │ │ │ │ │ │ │ │ │ │ │ │ § │ │
298 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
299 * │ │ │ š │ │ │ │ │ │ │ │ │ ^ │ ½ │ │
300 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
301 * │ │ | │ ž │ │ │ │ │ │ │ │ │ │ │
302 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
303 * │ │ │ │ │ │ │ │ │
304 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
305 */
306 "ALGR(EE_2)": {
307 "key": "EE_AT",
308 "label": "@",
309 }
310 "ALGR(EE_3)": {
311 "key": "EE_PND",
312 "label": "£",
313 }
314 "ALGR(EE_4)": {
315 "key": "EE_DLR",
316 "label": "$",
317 }
318 "ALGR(EE_5)": {
319 "key": "EE_EURO",
320 "label": "€",
321 }
322 "ALGR(EE_7)": {
323 "key": "EE_LCBR",
324 "label": "{",
325 }
326 "ALGR(EE_8)": {
327 "key": "EE_LBRC",
328 "label": "[",
329 }
330 "ALGR(EE_9)": {
331 "key": "EE_RBRC",
332 "label": "]",
333 }
334 "ALGR(EE_0)": {
335 "key": "EE_RCBR",
336 "label": "}",
337 }
338 "ALGR(EE_PLUS)": {
339 "key": "EE_BSLS",
340 "label": "\\",
341 }
342 "ALGR(EE_OTIL)": {
343 "key": "EE_SECT",
344 "label": "§",
345 }
346 "ALGR(EE_S)": {
347 "key": "EE_SCAR",
348 "label": "š",
349 }
350 "ALGR(EE_ADIA)": {
351 "key": "EE_CIRC",
352 "label": "^ (dead)",
353 }
354 "ALGR(EE_QUOT)": {
355 "key": "EE_HALF",
356 "label": "½",
357 }
358 "ALGR(EE_LABK)": {
359 "key": "EE_PIPE",
360 "label": "|",
361 }
362 "ALGR(EE_Z)": {
363 "key": "EE_ZCAR",
364 "label": "ž",
365 }
366 }
367} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson
new file mode 100644
index 0000000000..b284192962
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson
@@ -0,0 +1,359 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "FI_SECT",
18 "label": "§",
19 }
20 "KC_1": {
21 "key": "FI_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "FI_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "FI_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "FI_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "FI_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "FI_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "FI_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "FI_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "FI_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "FI_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "FI_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "FI_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "FI_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "FI_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "FI_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "FI_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "FI_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "FI_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "FI_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "FI_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "FI_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "FI_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "FI_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "FI_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "FI_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "FI_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "FI_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "FI_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "FI_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "FI_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "FI_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "FI_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "FI_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "FI_ODIA",
154 "label": "Ö",
155 }
156 "KC_QUOT": {
157 "key": "FI_ADIA",
158 "label": "Ä",
159 }
160 "KC_NUHS": {
161 "key": "FI_QUOT",
162 "label": "'",
163 }
164 "KC_NUBS": {
165 "key": "FI_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "FI_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "FI_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "FI_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "FI_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "FI_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "FI_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "FI_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "FI_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "FI_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "FI_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(FI_SECT)": {
222 "key": "FI_HALF",
223 "label": "½",
224 }
225 "S(FI_1)": {
226 "key": "FI_EXLM",
227 "label": "!",
228 }
229 "S(FI_2)": {
230 "key": "FI_DQUO",
231 "label": "\"",
232 }
233 "S(FI_3)": {
234 "key": "FI_HASH",
235 "label": "#",
236 }
237 "S(FI_4)": {
238 "key": "FI_CURR",
239 "label": "¤",
240 }
241 "S(FI_5)": {
242 "key": "FI_PERC",
243 "label": "%",
244 }
245 "S(FI_6)": {
246 "key": "FI_AMPR",
247 "label": "&",
248 }
249 "S(FI_7)": {
250 "key": "FI_SLSH",
251 "label": "/",
252 }
253 "S(FI_8)": {
254 "key": "FI_LPRN",
255 "label": "(",
256 }
257 "S(FI_9)": {
258 "key": "FI_RPRN",
259 "label": ")",
260 }
261 "S(FI_0)": {
262 "key": "FI_EQL",
263 "label": "=",
264 }
265 "S(FI_PLUS)": {
266 "key": "FI_QUES",
267 "label": "?",
268 }
269 "S(FI_ACUT)": {
270 "key": "FI_GRV",
271 "label": "` (dead)",
272 }
273 "S(FI_DIAE)": {
274 "key": "FI_CIRC",
275 "label": "^ (dead)",
276 }
277 "S(FI_QUOT)": {
278 "key": "FI_ASTR",
279 "label": "*",
280 }
281 "S(FI_LABK)": {
282 "key": "FI_RABK",
283 "label": ">",
284 }
285 "S(FI_COMM)": {
286 "key": "FI_SCLN",
287 "label": ";",
288 }
289 "S(FI_DOT)": {
290 "key": "FI_COLN",
291 "label": ":",
292 }
293 "S(FI_MINS)": {
294 "key": "FI_UNDS",
295 "label": "_",
296 }
297/* AltGr symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
299 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
301 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
305 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
306 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
307 * │ │ │ │ │ │ │ │ │
308 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
309 */
310 "ALGR(FI_2)": {
311 "key": "FI_AT",
312 "label": "@",
313 }
314 "ALGR(FI_3)": {
315 "key": "FI_PND",
316 "label": "£",
317 }
318 "ALGR(FI_4)": {
319 "key": "FI_DLR",
320 "label": "$",
321 }
322 "ALGR(FI_5)": {
323 "key": "FI_EURO",
324 "label": "€",
325 }
326 "ALGR(FI_7)": {
327 "key": "FI_LCBR",
328 "label": "{",
329 }
330 "ALGR(FI_8)": {
331 "key": "FI_LBRC",
332 "label": "[",
333 }
334 "ALGR(FI_9)": {
335 "key": "FI_RBRC",
336 "label": "]",
337 }
338 "ALGR(FI_0)": {
339 "key": "FI_RCBR",
340 "label": "}",
341 }
342 "ALGR(FI_PLUS)": {
343 "key": "FI_BSLS",
344 "label": "\\",
345 }
346 "ALGR(FI_DIAE)": {
347 "key": "FI_TILD",
348 "label": "~ (dead)",
349 }
350 "ALGR(FI_LABK)": {
351 "key": "FI_PIPE",
352 "label": "|",
353 }
354 "ALGR(FI_M)": {
355 "key": "FI_MICR",
356 "label": "µ",
357 }
358 }
359} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson
new file mode 100644
index 0000000000..8ba7b35d2e
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson
@@ -0,0 +1,367 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ² │ & │ é │ " │ ' │ ( │ - │ è │ _ │ ç │ à │ ) │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ * │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ ! │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "FR_SUP2",
18 "label": "²",
19 }
20 "KC_1": {
21 "key": "FR_AMPR",
22 "label": "&",
23 }
24 "KC_2": {
25 "key": "FR_EACU",
26 "label": "é",
27 }
28 "KC_3": {
29 "key": "FR_DQUO",
30 "label": "\"",
31 }
32 "KC_4": {
33 "key": "FR_QUOT",
34 "label": "'",
35 }
36 "KC_5": {
37 "key": "FR_LPRN",
38 "label": "(",
39 }
40 "KC_6": {
41 "key": "FR_MINS",
42 "label": "-",
43 }
44 "KC_7": {
45 "key": "FR_EGRV",
46 "label": "è",
47 }
48 "KC_8": {
49 "key": "FR_UNDS",
50 "label": "_",
51 }
52 "KC_9": {
53 "key": "FR_CCED",
54 "label": "ç",
55 }
56 "KC_0": {
57 "key": "FR_AGRV",
58 "label": "à",
59 }
60 "KC_MINS": {
61 "key": "FR_RPRN",
62 "label": ")",
63 }
64 "KC_EQL": {
65 "key": "FR_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "FR_A",
70 "label": "A",
71 }
72 "KC_W": {
73 "key": "FR_Z",
74 "label": "Z",
75 }
76 "KC_E": {
77 "key": "FR_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "FR_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "FR_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "FR_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "FR_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "FR_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "FR_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "FR_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "FR_CIRC",
110 "label": "^ (dead)",
111 }
112 "KC_RBRC": {
113 "key": "FR_DLR",
114 "label": "$",
115 }
116 "KC_A": {
117 "key": "FR_Q",
118 "label": "Q",
119 }
120 "KC_S": {
121 "key": "FR_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "FR_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "FR_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "FR_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "FR_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "FR_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "FR_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "FR_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "FR_M",
154 "label": "M",
155 }
156 "KC_QUOT": {
157 "key": "FR_UGRV",
158 "label": "ù",
159 }
160 "KC_NUHS": {
161 "key": "FR_ASTR",
162 "label": "*",
163 }
164 "KC_NUBS": {
165 "key": "FR_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "FR_W",
170 "label": "W",
171 }
172 "KC_X": {
173 "key": "FR_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "FR_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "FR_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "FR_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "FR_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "FR_COMM",
194 "label": ",",
195 }
196 "KC_COMM": {
197 "key": "FR_SCLN",
198 "label": ";",
199 }
200 "KC_DOT": {
201 "key": "FR_COLN",
202 "label": ":",
203 }
204 "KC_SLSH": {
205 "key": "FR_EXLM",
206 "label": "!",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ + │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ £ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ % │ µ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ § │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(FR_AMPR)": {
222 "key": "FR_1",
223 "label": "1",
224 }
225 "S(FR_EACU)": {
226 "key": "FR_2",
227 "label": "2",
228 }
229 "S(FR_DQUO)": {
230 "key": "FR_3",
231 "label": "3",
232 }
233 "S(FR_QUOT)": {
234 "key": "FR_4",
235 "label": "4",
236 }
237 "S(FR_LPRN)": {
238 "key": "FR_5",
239 "label": "5",
240 }
241 "S(FR_MINS)": {
242 "key": "FR_6",
243 "label": "6",
244 }
245 "S(FR_EGRV)": {
246 "key": "FR_7",
247 "label": "7",
248 }
249 "S(FR_UNDS)": {
250 "key": "FR_8",
251 "label": "8",
252 }
253 "S(FR_CCED)": {
254 "key": "FR_9",
255 "label": "9",
256 }
257 "S(FR_AGRV)": {
258 "key": "FR_0",
259 "label": "0",
260 }
261 "S(FR_RPRN)": {
262 "key": "FR_DEG",
263 "label": "°",
264 }
265 "S(FR_EQL)": {
266 "key": "FR_PLUS",
267 "label": "+",
268 }
269 "S(FR_CIRC)": {
270 "key": "FR_DIAE",
271 "label": "¨ (dead)",
272 }
273 "S(FR_DLR)": {
274 "key": "FR_PND",
275 "label": "£",
276 }
277 "S(FR_UGRV)": {
278 "key": "FR_PERC",
279 "label": "%",
280 }
281 "S(FR_ASTR)": {
282 "key": "FR_MICR",
283 "label": "µ",
284 }
285 "S(FR_LABK)": {
286 "key": "FR_RABK",
287 "label": ">",
288 }
289 "S(FR_COMM)": {
290 "key": "FR_QUES",
291 "label": "?",
292 }
293 "S(FR_SCLN)": {
294 "key": "FR_DOT",
295 "label": ".",
296 }
297 "S(FR_COLN)": {
298 "key": "FR_SLSH",
299 "label": "/",
300 }
301 "S(FR_EXLM)": {
302 "key": "FR_SECT",
303 "label": "§",
304 }
305/* AltGr symbols
306 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
307 * │ │ │ ~ │ # │ { │ [ │ | │ ` │ \ │ │ @ │ ] │ } │ │
308 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
309 * │ │ │ │ € │ │ │ │ │ │ │ │ │ ¤ │ │
310 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
311 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
312 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
313 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
314 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
315 * │ │ │ │ │ │ │ │ │
316 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
317 */
318 "ALGR(FR_EACU)": {
319 "key": "FR_TILD",
320 "label": "~ (dead)",
321 }
322 "ALGR(FR_DQUO)": {
323 "key": "FR_HASH",
324 "label": "#",
325 }
326 "ALGR(FR_QUOT)": {
327 "key": "FR_LCBR",
328 "label": "{",
329 }
330 "ALGR(FR_LPRN)": {
331 "key": "FR_LBRC",
332 "label": "[",
333 }
334 "ALGR(FR_MINS)": {
335 "key": "FR_PIPE",
336 "label": "|",
337 }
338 "ALGR(FR_EGRV)": {
339 "key": "FR_GRV",
340 "label": "` (dead)",
341 }
342 "ALGR(FR_UNDS)": {
343 "key": "FR_BSLS",
344 "label": "\\",
345 }
346 "ALGR(FR_AGRV)": {
347 "key": "FR_AT",
348 "label": "@",
349 }
350 "ALGR(FR_RPRN)": {
351 "key": "FR_RBRC",
352 "label": "]",
353 }
354 "ALGR(FR_EQL)": {
355 "key": "FR_RCBR",
356 "label": "}",
357 }
358 "ALGR(KC_E)": {
359 "key": "FR_EURO",
360 "label": "€",
361 }
362 "ALGR(FR_DLR)": {
363 "key": "FR_CURR",
364 "label": "¤",
365 }
366 }
367} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson
new file mode 100644
index 0000000000..90981d085d
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson
@@ -0,0 +1,623 @@
1{
2 "aliases": {
3/* French AZERTY - AFNOR NF Z71-300
4 *
5 * A standard for the French keyboard
6 *
7 * The project was launched at the end of 2015 on the proposal of the General
8 * Delegation for the French language and the languages of France (Ministry
9 * of Culture), starting from the observation that the current "azerty"
10 * keyboards constrain the writing of French, languages regional and European
11 * languages with Latin alphabet.
12 *
13 * For the first time, a standard (NF Z71-300) defines the placement of
14 * characters on the French keyboard. It offers two layouts, one of which
15 * closely follows the QWERTY keyboard used by most people who write in French.
16 *
17 * However, it is in many ways superior to the old keyboard:
18 *
19 * - it contains all the characters required to enter text in French (for example É, œ and ")
20 * - it is designed to be more ergonomic and allow faster typing
21 * - it includes almost 60 additional characters for entering foreign languages, technical content, etc
22 * - however, the characters remain easy to locate thanks to intuitive groupings
23 *
24 * Source: https://norme-azerty.fr
25 */
26/*
27 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
28 * │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │
29 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
30 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │
31 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
32 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │
33 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
34 * │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │
35 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
36 * │ │ │ │ │ │ │ │ │
37 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
38 */
39 "KC_GRV": {
40 "key": "FR_AT",
41 "label": "@",
42 }
43 "KC_1": {
44 "key": "FR_AGRV",
45 "label": "à",
46 }
47 "KC_2": {
48 "key": "FR_EACU",
49 "label": "é",
50 }
51 "KC_3": {
52 "key": "FR_EGRV",
53 "label": "è",
54 }
55 "KC_4": {
56 "key": "FR_ECIR",
57 "label": "ê",
58 }
59 "KC_5": {
60 "key": "FR_LPRN",
61 "label": "(",
62 }
63 "KC_6": {
64 "key": "FR_RPRN",
65 "label": ")",
66 }
67 "KC_7": {
68 "key": "FR_LSQU",
69 "label": "‘",
70 }
71 "KC_8": {
72 "key": "FR_RSQU",
73 "label": "’",
74 }
75 "KC_9": {
76 "key": "FR_LDAQ",
77 "label": "«",
78 }
79 "KC_0": {
80 "key": "FR_RDAQ",
81 "label": "»",
82 }
83 "KC_MINS": {
84 "key": "FR_QUOT",
85 "label": "'",
86 }
87 "KC_EQL": {
88 "key": "FR_DCIR",
89 "label": "^ (dead)",
90 }
91 "KC_Q": {
92 "key": "FR_A",
93 "label": "A",
94 }
95 "KC_W": {
96 "key": "FR_Z",
97 "label": "Z",
98 }
99 "KC_E": {
100 "key": "FR_E",
101 "label": "E",
102 }
103 "KC_R": {
104 "key": "FR_R",
105 "label": "R",
106 }
107 "KC_T": {
108 "key": "FR_T",
109 "label": "T",
110 }
111 "KC_Y": {
112 "key": "FR_Y",
113 "label": "Y",
114 }
115 "KC_U": {
116 "key": "FR_U",
117 "label": "U",
118 }
119 "KC_I": {
120 "key": "FR_I",
121 "label": "I",
122 }
123 "KC_O": {
124 "key": "FR_O",
125 "label": "O",
126 }
127 "KC_P": {
128 "key": "FR_P",
129 "label": "P",
130 }
131 "KC_LBRC": {
132 "key": "FR_MINS",
133 "label": "-",
134 }
135 "KC_RBRC": {
136 "key": "FR_PLUS",
137 "label": "+",
138 }
139 "KC_A": {
140 "key": "FR_Q",
141 "label": "Q",
142 }
143 "KC_S": {
144 "key": "FR_S",
145 "label": "S",
146 }
147 "KC_D": {
148 "key": "FR_D",
149 "label": "D",
150 }
151 "KC_F": {
152 "key": "FR_F",
153 "label": "F",
154 }
155 "KC_G": {
156 "key": "FR_G",
157 "label": "G",
158 }
159 "KC_H": {
160 "key": "FR_H",
161 "label": "H",
162 }
163 "KC_J": {
164 "key": "FR_J",
165 "label": "J",
166 }
167 "KC_K": {
168 "key": "FR_K",
169 "label": "K",
170 }
171 "KC_L": {
172 "key": "FR_L",
173 "label": "L",
174 }
175 "KC_SCLN": {
176 "key": "FR_M",
177 "label": "M",
178 }
179 "KC_QUOT": {
180 "key": "FR_SLSH",
181 "label": "/",
182 }
183 "KC_NUHS": {
184 "key": "FR_ASTR",
185 "label": "*",
186 }
187 "KC_NUBS": {
188 "key": "FR_LABK",
189 "label": "<",
190 }
191 "KC_Z": {
192 "key": "FR_W",
193 "label": "W",
194 }
195 "KC_X": {
196 "key": "FR_X",
197 "label": "X",
198 }
199 "KC_C": {
200 "key": "FR_C",
201 "label": "C",
202 }
203 "KC_V": {
204 "key": "FR_V",
205 "label": "V",
206 }
207 "KC_B": {
208 "key": "FR_B",
209 "label": "B",
210 }
211 "KC_N": {
212 "key": "FR_N",
213 "label": "N",
214 }
215 "KC_M": {
216 "key": "FR_DOT",
217 "label": ".",
218 }
219 "KC_COMM": {
220 "key": "FR_COMM",
221 "label": ",",
222 }
223 "KC_DOT": {
224 "key": "FR_COLN",
225 "label": ":",
226 }
227 "KC_SLSH": {
228 "key": "FR_SCLN",
229 "label": ";",
230 }
231/* Shifted symbols
232 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
233 * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │
234 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
235 * │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
236 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
237 * │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │
238 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
239 * │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │
240 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
241 * │ │ │ │ │ │ │ │ │
242 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
243 */
244 "S(FR_AT)": {
245 "key": "FR_HASH",
246 "label": "#",
247 }
248 "S(FR_AGRV)": {
249 "key": "FR_1",
250 "label": "1",
251 }
252 "S(FR_EACU)": {
253 "key": "FR_2",
254 "label": "2",
255 }
256 "S(FR_EGRV)": {
257 "key": "FR_3",
258 "label": "3",
259 }
260 "S(FR_ECIR)": {
261 "key": "FR_4",
262 "label": "4",
263 }
264 "S(FR_LPRN)": {
265 "key": "FR_5",
266 "label": "5",
267 }
268 "S(FR_RPRN)": {
269 "key": "FR_6",
270 "label": "6",
271 }
272 "S(FR_LSQU)": {
273 "key": "FR_7",
274 "label": "7",
275 }
276 "S(FR_RSQU)": {
277 "key": "FR_8",
278 "label": "8",
279 }
280 "S(FR_LDAQ)": {
281 "key": "FR_9",
282 "label": "9",
283 }
284 "S(FR_RDAQ)": {
285 "key": "FR_0",
286 "label": "0",
287 }
288 "S(FR_QUOT)": {
289 "key": "FR_DQUO",
290 "label": "\"",
291 }
292 "S(FR_DCIR)": {
293 "key": "FR_DIAE",
294 "label": "¨ (dead)",
295 }
296 "S(FR_MINS)": {
297 "key": "FR_NDSH",
298 "label": "–",
299 }
300 "S(FR_PLUS)": {
301 "key": "FR_PLMN",
302 "label": "±",
303 }
304 "S(FR_SLSH)": {
305 "key": "FR_BSLS",
306 "label": "\\",
307 }
308 "S(FR_ASTR)": {
309 "key": "FR_HALF",
310 "label": "½",
311 }
312 "S(FR_LABK)": {
313 "key": "FR_RABK",
314 "label": ">",
315 }
316 "S(FR_DOT)": {
317 "key": "FR_QUES",
318 "label": "?",
319 }
320 "S(FR_COMM)": {
321 "key": "FR_EXLM",
322 "label": "!",
323 }
324 "S(FR_COLN)": {
325 "key": "FR_ELLP",
326 "label": "…",
327 }
328 "S(FR_SCLN)": {
329 "key": "FR_EQL",
330 "label": "=",
331 }
332/* AltGr symbols
333 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
334 * │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │
335 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
336 * │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │
337 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
338 * │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │
339 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
340 * │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │
341 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
342 * │ │ │ │ │ │ │ │ │
343 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
344 */
345 "ALGR(FR_AT)": {
346 "key": "FR_BREV",
347 "label": "˘ (dead)",
348 }
349 "ALGR(FR_AGRV)": {
350 "key": "FR_SECT",
351 "label": "§",
352 }
353 "ALGR(FR_EACU)": {
354 "key": "FR_ACUT",
355 "label": "´ (dead)",
356 }
357 "ALGR(FR_EGRV)": {
358 "key": "FR_GRV",
359 "label": "` (dead)",
360 }
361 "ALGR(FR_ECIR)": {
362 "key": "FR_AMPR",
363 "label": "&",
364 }
365 "ALGR(FR_LPRN)": {
366 "key": "FR_LBRC",
367 "label": "[",
368 }
369 "ALGR(FR_RPRN)": {
370 "key": "FR_RBRC",
371 "label": "]",
372 }
373 "ALGR(FR_LSQU)": {
374 "key": "FR_MACR",
375 "label": "¯ (dead)",
376 }
377 "ALGR(FR_RSQU)": {
378 "key": "FR_UNDS",
379 "label": "_",
380 }
381 "ALGR(FR_LDAQ)": {
382 "key": "FR_LDQU",
383 "label": "“",
384 }
385 "ALGR(FR_RDAQ)": {
386 "key": "FR_RDQU",
387 "label": "”",
388 }
389 "ALGR(FR_QUOT)": {
390 "key": "FR_DEG",
391 "label": "°",
392 }
393 "ALGR(FR_DCIR)": {
394 "key": "FR_CARN",
395 "label": "ˇ (dead)",
396 }
397 "ALGR(FR_A)": {
398 "key": "FR_AE",
399 "label": "æ",
400 }
401 "ALGR(FR_Z)": {
402 "key": "FR_PND",
403 "label": "£",
404 }
405 "ALGR(FR_E)": {
406 "key": "FR_EURO",
407 "label": "€",
408 }
409 "ALGR(FR_R)": {
410 "key": "FR_REGD",
411 "label": "®",
412 }
413 "ALGR(FR_T)": {
414 "key": "FR_LCBR",
415 "label": "{",
416 }
417 "ALGR(FR_Y)": {
418 "key": "FR_RCBR",
419 "label": "}",
420 }
421 "ALGR(FR_U)": {
422 "key": "FR_UGRV",
423 "label": "ù",
424 }
425 "ALGR(FR_I)": {
426 "key": "FR_DOTA",
427 "label": "˙ (dead)",
428 }
429 "ALGR(FR_O)": {
430 "key": "FR_OE",
431 "label": "œ",
432 }
433 "ALGR(FR_P)": {
434 "key": "FR_PERC",
435 "label": "%",
436 }
437 "ALGR(FR_MINS)": {
438 "key": "FR_MMNS",
439 "label": "−",
440 }
441 "ALGR(FR_PLUS)": {
442 "key": "FR_DAGG",
443 "label": "†",
444 }
445 "ALGR(FR_Q)": {
446 "key": "FR_THET",
447 "label": "θ",
448 }
449 "ALGR(FR_S)": {
450 "key": "FR_SS",
451 "label": "ß",
452 }
453 "ALGR(FR_D)": {
454 "key": "FR_DLR",
455 "label": "$",
456 }
457 "ALGR(FR_F)": {
458 "key": "FR_CURR",
459 "label": "¤ (dead monetary key)",
460 }
461 "ALGR(FR_G)": {
462 "key": "FR_DGRK",
463 "label": "µ (dead Greek key)",
464 }
465 "ALGR(FR_H)": {
466 "key": "FR_EU",
467 "label": "Eu (dead European symbol key)",
468 }
469 "ALGR(FR_K)": {
470 "key": "FR_DSLS",
471 "label": "∕ (dead)",
472 }
473 "ALGR(FR_L)": {
474 "key": "FR_PIPE",
475 "label": "|",
476 }
477 "ALGR(FR_M)": {
478 "key": "FR_INFN",
479 "label": "∞",
480 }
481 "ALGR(FR_SLSH)": {
482 "key": "FR_DIV",
483 "label": "÷",
484 }
485 "ALGR(FR_ASTR)": {
486 "key": "FR_MUL",
487 "label": "×",
488 }
489 "ALGR(FR_LABK)": {
490 "key": "FR_LEQL",
491 "label": "≤",
492 }
493 "ALGR(FR_W)": {
494 "key": "FR_EZH",
495 "label": "ʒ",
496 }
497 "ALGR(FR_X)": {
498 "key": "FR_COPY",
499 "label": "©",
500 }
501 "ALGR(FR_C)": {
502 "key": "FR_CCED",
503 "label": "ç",
504 }
505 "ALGR(FR_V)": {
506 "key": "FR_CEDL",
507 "label": "¸ (dead)",
508 }
509 "ALGR(FR_B)": {
510 "key": "FR_DMNS",
511 "label": "− (dead)",
512 }
513 "ALGR(FR_N)": {
514 "key": "FR_DTIL",
515 "label": "~ (dead)",
516 }
517 "ALGR(FR_DOT)": {
518 "key": "FR_IQUE",
519 "label": "¿",
520 }
521 "ALGR(FR_COMM)": {
522 "key": "FR_IEXL",
523 "label": "¡",
524 }
525 "ALGR(FR_COLN)": {
526 "key": "FR_MDDT",
527 "label": "·",
528 }
529 "ALGR(FR_SCLN)": {
530 "key": "FR_AEQL",
531 "label": "≃",
532 }
533/* Shift+AltGr symbols
534 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
535 * │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │
536 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
537 * │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │
538 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
539 * │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │
540 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
541 * │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │
542 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
543 * │ │ │ │ │ │ │ │ │
544 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
545 */
546 "S(ALGR(FR_AT))": {
547 "key": "FR_IBRV",
548 "label": "̑ (dead)",
549 }
550 "S(ALGR(FR_LPRN))": {
551 "key": "FR_DACU",
552 "label": "˝ (dead)",
553 }
554 "S(ALGR(FR_RPRN))": {
555 "key": "FR_DGRV",
556 "label": "̏ (dead)",
557 }
558 "S(ALGR(FR_RSQU))": {
559 "key": "FR_MDSH",
560 "label": "—",
561 }
562 "S(ALGR(FR_LDAQ))": {
563 "key": "FR_LSAQ",
564 "label": "‹",
565 }
566 "S(ALGR(FR_RDAQ))": {
567 "key": "FR_RSAQ",
568 "label": "›",
569 }
570 "S(ALGR(FR_QUOT))": {
571 "key": "FR_RNGA",
572 "label": "˚ (dead)",
573 }
574 "S(ALGR(FR_T))": {
575 "key": "FR_TM",
576 "label": "™",
577 }
578 "S(ALGR(FR_I))": {
579 "key": "FR_DOTB",
580 "label": "̣ (dead)",
581 }
582 "S(ALGR(FR_P))": {
583 "key": "FR_PERM",
584 "label": "‰",
585 }
586 "S(ALGR(FR_MINS))": {
587 "key": "FR_NBHY",
588 "label": "‑ (non-breaking hyphen)",
589 }
590 "S(ALGR(FR_PLUS))": {
591 "key": "FR_DDAG",
592 "label": "‡",
593 }
594 "S(ALGR(FR_H))": {
595 "key": "FR_MACB",
596 "label": "ˍ (dead)",
597 }
598 "S(ALGR(FR_SLSH))": {
599 "key": "FR_SQRT",
600 "label": "√",
601 }
602 "S(ALGR(FR_ASTR))": {
603 "key": "FR_QRTR",
604 "label": "¼",
605 }
606 "S(ALGR(FR_LABK))": {
607 "key": "FR_GEQL",
608 "label": "≥",
609 }
610 "S(ALGR(FR_V))": {
611 "key": "FR_OGON",
612 "label": "˛ (dead)",
613 }
614 "S(ALGR(FR_COMM))": {
615 "key": "FR_DCMM",
616 "label": "̦ (dead)",
617 }
618 "S(ALGR(FR_SCLN))": {
619 "key": "FR_NEQL",
620 "label": "≠",
621 }
622 }
623} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson
new file mode 100644
index 0000000000..b698018d5b
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson
@@ -0,0 +1,676 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
11 * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
12 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "FR_AT",
18 "label": "@",
19 }
20 "KC_1": {
21 "key": "FR_AMPR",
22 "label": "&",
23 }
24 "KC_2": {
25 "key": "FR_LEAC",
26 "label": "é",
27 }
28 "KC_3": {
29 "key": "FR_DQUO",
30 "label": "\"",
31 }
32 "KC_4": {
33 "key": "FR_QUOT",
34 "label": "'",
35 }
36 "KC_5": {
37 "key": "FR_LPRN",
38 "label": "(",
39 }
40 "KC_6": {
41 "key": "FR_SECT",
42 "label": "§",
43 }
44 "KC_7": {
45 "key": "FR_LEGR",
46 "label": "è",
47 }
48 "KC_8": {
49 "key": "FR_EXLM",
50 "label": "!",
51 }
52 "KC_9": {
53 "key": "FR_LCCE",
54 "label": "ç",
55 }
56 "KC_0": {
57 "key": "FR_LAGR",
58 "label": "à",
59 }
60 "KC_MINS": {
61 "key": "FR_RPRN",
62 "label": ")",
63 }
64 "KC_EQL": {
65 "key": "FR_MINS",
66 "label": "-",
67 }
68 "KC_Q": {
69 "key": "FR_A",
70 "label": "A",
71 }
72 "KC_W": {
73 "key": "FR_Z",
74 "label": "Z",
75 }
76 "KC_E": {
77 "key": "FR_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "FR_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "FR_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "FR_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "FR_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "FR_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "FR_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "FR_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "FR_CIRC",
110 "label": "^",
111 }
112 "KC_RBRC": {
113 "key": "FR_DLR",
114 "label": "$",
115 }
116 "KC_A": {
117 "key": "FR_Q",
118 "label": "Q",
119 }
120 "KC_S": {
121 "key": "FR_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "FR_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "FR_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "FR_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "FR_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "FR_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "FR_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "FR_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "FR_M",
154 "label": "M",
155 }
156 "KC_QUOT": {
157 "key": "FR_LUGR",
158 "label": "ù",
159 }
160 "KC_NUHS": {
161 "key": "FR_GRV",
162 "label": "`",
163 }
164 "KC_NUBS": {
165 "key": "FR_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "FR_W",
170 "label": "W",
171 }
172 "KC_X": {
173 "key": "FR_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "FR_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "FR_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "FR_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "FR_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "FR_COMM",
194 "label": ",",
195 }
196 "KC_COMM": {
197 "key": "FR_SCLN",
198 "label": ";",
199 }
200 "KC_DOT": {
201 "key": "FR_COLN",
202 "label": ":",
203 }
204 "KC_SLSH": {
205 "key": "FR_EQL",
206 "label": "=",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
210 * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
216 * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
217 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
218 * │ │ │ │ │ │ │ │
219 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
220 */
221 "S(FR_AT)": {
222 "key": "FR_HASH",
223 "label": "#",
224 }
225 "S(FR_AMPR)": {
226 "key": "FR_1",
227 "label": "1",
228 }
229 "S(FR_LEAC)": {
230 "key": "FR_2",
231 "label": "2",
232 }
233 "S(FR_DQUO)": {
234 "key": "FR_3",
235 "label": "3",
236 }
237 "S(FR_QUOT)": {
238 "key": "FR_4",
239 "label": "4",
240 }
241 "S(FR_LPRN)": {
242 "key": "FR_5",
243 "label": "5",
244 }
245 "S(FR_SECT)": {
246 "key": "FR_6",
247 "label": "6",
248 }
249 "S(FR_LEGR)": {
250 "key": "FR_7",
251 "label": "7",
252 }
253 "S(FR_EXLM)": {
254 "key": "FR_8",
255 "label": "8",
256 }
257 "S(FR_LCCE)": {
258 "key": "FR_9",
259 "label": "9",
260 }
261 "S(FR_LAGR)": {
262 "key": "FR_0",
263 "label": "0",
264 }
265 "S(FR_RPRN)": {
266 "key": "FR_DEG",
267 "label": "°",
268 }
269 "S(FR_MINS)": {
270 "key": "FR_UNDS",
271 "label": "_",
272 }
273 "S(FR_CIRC)": {
274 "key": "FR_DIAE",
275 "label": "¨ (dead)",
276 }
277 "S(FR_DLR)": {
278 "key": "FR_ASTR",
279 "label": "*",
280 }
281 "S(FR_LUGR)": {
282 "key": "FR_PERC",
283 "label": "%",
284 }
285 "S(FR_GRV)": {
286 "key": "FR_PND",
287 "label": "£",
288 }
289 "S(FR_LABK)": {
290 "key": "FR_RABK",
291 "label": ">",
292 }
293 "S(FR_COMM)": {
294 "key": "FR_QUES",
295 "label": "?",
296 }
297 "S(FR_SCLN)": {
298 "key": "FR_DOT",
299 "label": ".",
300 }
301 "S(FR_COLN)": {
302 "key": "FR_SLSH",
303 "label": "/",
304 }
305 "S(FR_EQL)": {
306 "key": "FR_PLUS",
307 "label": "+",
308 }
309/* Alted symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
311 * │ • │  │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
313 * │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
317 * │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │
318 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
319 * │ │ │ │ │ │ │ │
320 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
321 */
322 "A(FR_AT)": {
323 "key": "FR_BULT",
324 "label": "•",
325 }
326 "A(FR_AMPR)": {
327 "key": "FR_APPL",
328 "label": " (Apple logo)",
329 }
330 "A(FR_LEAC)": {
331 "key": "FR_LEDI",
332 "label": "ë",
333 }
334 "A(FR_DQUO)": {
335 "key": "FR_LDQU",
336 "label": "“",
337 }
338 "A(FR_QUOT)": {
339 "key": "FR_LSQU",
340 "label": "‘",
341 }
342 "A(FR_LPRN)": {
343 "key": "FR_LCBR",
344 "label": "{",
345 }
346 "A(FR_SECT)": {
347 "key": "FR_PILC",
348 "label": "¶",
349 }
350 "A(FR_LEGR)": {
351 "key": "FR_LDAQ",
352 "label": "«",
353 }
354 "A(FR_EXLM)": {
355 "key": "FR_IEXL",
356 "label": "¡",
357 }
358 "A(FR_LCCE)": {
359 "key": "FR_CCCE",
360 "label": "Ç",
361 }
362 "A(FR_LAGR)": {
363 "key": "FR_OSTR",
364 "label": "Ø",
365 }
366 "A(FR_RPRN)": {
367 "key": "FR_RCBR",
368 "label": "}",
369 }
370 "A(FR_MINS)": {
371 "key": "FR_MDSH",
372 "label": "—",
373 }
374 "A(FR_A)": {
375 "key": "FR_AE",
376 "label": "Æ",
377 }
378 "A(FR_Z)": {
379 "key": "FR_CACI",
380 "label": "Â",
381 }
382 "A(FR_E)": {
383 "key": "FR_ECIR",
384 "label": "Ê",
385 }
386 "A(FR_R)": {
387 "key": "FR_REGD",
388 "label": "®",
389 }
390 "A(FR_T)": {
391 "key": "FR_DAGG",
392 "label": "†",
393 }
394 "A(FR_Y)": {
395 "key": "FR_CUAC",
396 "label": "Ú",
397 }
398 "A(FR_U)": {
399 "key": "FR_MORD",
400 "label": "º",
401 }
402 "A(FR_I)": {
403 "key": "FR_LICI",
404 "label": "î",
405 }
406 "A(FR_O)": {
407 "key": "FR_OE",
408 "label": "Œ",
409 }
410 "A(FR_P)": {
411 "key": "FR_PI",
412 "label": "π",
413 }
414 "A(FR_CIRC)": {
415 "key": "FR_OCIR",
416 "label": "Ô",
417 }
418 "A(FR_DLR)": {
419 "key": "FR_EURO",
420 "label": "€",
421 }
422 "A(FR_Q)": {
423 "key": "FR_DDAG",
424 "label": "‡",
425 }
426 "A(FR_S)": {
427 "key": "FR_COGR",
428 "label": "Ò",
429 }
430 "A(FR_D)": {
431 "key": "FR_PDIF",
432 "label": "∂",
433 }
434 "A(FR_F)": {
435 "key": "FR_FHK",
436 "label": "ƒ",
437 }
438 "A(FR_G)": {
439 "key": "FR_FI",
440 "label": "fi",
441 }
442 "A(FR_H)": {
443 "key": "FR_CIGR",
444 "label": "Ì",
445 }
446 "A(FR_J)": {
447 "key": "FR_CIDI",
448 "label": "Ï",
449 }
450 "A(FR_K)": {
451 "key": "FR_CEGR",
452 "label": "È",
453 }
454 "A(FR_L)": {
455 "key": "FR_NOT",
456 "label": "¬",
457 }
458 "A(FR_M)": {
459 "key": "FR_MICR",
460 "label": "µ",
461 }
462 "A(FR_LUGR)": {
463 "key": "FR_CUGR",
464 "label": "Ù",
465 }
466 "A(FR_LABK)": {
467 "key": "FR_LTEQ",
468 "label": "≤",
469 }
470 "A(FR_W)": {
471 "key": "FR_LSAQ",
472 "label": "‹",
473 }
474 "A(FR_X)": {
475 "key": "FR_AEQL",
476 "label": "≈",
477 }
478 "A(FR_C)": {
479 "key": "FR_COPY",
480 "label": "©",
481 }
482 "A(FR_V)": {
483 "key": "FR_LOZN",
484 "label": "◊",
485 }
486 "A(FR_B)": {
487 "key": "FR_SS",
488 "label": "ß",
489 }
490 "A(FR_N)": {
491 "key": "FR_TILD",
492 "label": "~ (dead)",
493 }
494 "A(FR_COMM)": {
495 "key": "FR_INFN",
496 "label": "∞",
497 }
498 "A(FR_SCLN)": {
499 "key": "FR_ELLP",
500 "label": "…",
501 }
502 "A(FR_COLN)": {
503 "key": "FR_DIV",
504 "label": "÷",
505 }
506 "A(FR_EQL)": {
507 "key": "FR_NEQL",
508 "label": "≠",
509 }
510/* Shift+Alted symbols
511 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
512 * │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │
513 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
514 * │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │
515 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
516 * │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │
517 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
518 * │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │
519 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
520 * │ │ │ │ │ │ │ │
521 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
522 */
523 "S(A(FR_AT))": {
524 "key": "FR_CYDI",
525 "label": "Ÿ",
526 }
527 "S(A(FR_AMPR))": {
528 "key": "FR_ACUT",
529 "label": "´ (dead)",
530 }
531 "S(A(FR_LEAC))": {
532 "key": "FR_DLQU",
533 "label": "„",
534 }
535 "S(A(FR_LPRN))": {
536 "key": "FR_LBRC",
537 "label": "[",
538 }
539 "S(A(FR_SECT))": {
540 "key": "FR_LARI",
541 "label": "å",
542 }
543 "S(A(FR_LEGR))": {
544 "key": "FR_RDAQ",
545 "label": "»",
546 }
547 "S(A(FR_EXLM))": {
548 "key": "FR_CUCI",
549 "label": "Û",
550 }
551 "S(A(FR_LCCE))": {
552 "key": "FR_CAAC",
553 "label": "Á",
554 }
555 "S(A(FR_RPRN))": {
556 "key": "FR_RBRC",
557 "label": "]",
558 }
559 "S(A(FR_MINS))": {
560 "key": "FR_NDSH",
561 "label": "–",
562 }
563 "S(A(FR_Z))": {
564 "key": "FR_CARI",
565 "label": "Å",
566 }
567 "S(A(FR_R))": {
568 "key": "FR_SLQU",
569 "label": "‚",
570 }
571 "S(A(FR_T))": {
572 "key": "FR_TM",
573 "label": "™",
574 }
575 "S(A(FR_U))": {
576 "key": "FR_FORD",
577 "label": "ª",
578 }
579 "S(A(FR_I))": {
580 "key": "FR_LIDI",
581 "label": "ï",
582 }
583 "S(A(FR_P))": {
584 "key": "FR_NARP",
585 "label": "∏",
586 }
587 "S(A(FR_DLR))": {
588 "key": "FR_YEN",
589 "label": "¥",
590 }
591 "S(A(FR_Q))": {
592 "key": "FR_OMEG",
593 "label": "Ω",
594 }
595 "S(A(FR_S))": {
596 "key": "FR_NARS",
597 "label": "∑",
598 }
599 "S(A(FR_D))": {
600 "key": "FR_INCR",
601 "label": "∆",
602 }
603 "S(A(FR_F))": {
604 "key": "FR_MDDT",
605 "label": "·",
606 }
607 "S(A(FR_G))": {
608 "key": "FR_FL",
609 "label": "fl",
610 }
611 "S(A(FR_H))": {
612 "key": "FR_CICI",
613 "label": "Î",
614 }
615 "S(A(FR_J))": {
616 "key": "FR_CIAC",
617 "label": "Í",
618 }
619 "S(A(FR_K))": {
620 "key": "FR_CEDI",
621 "label": "Ë",
622 }
623 "S(A(FR_L))": {
624 "key": "FR_PIPE",
625 "label": "|",
626 }
627 "S(A(FR_M))": {
628 "key": "FR_COAC",
629 "label": "Ó",
630 }
631 "S(A(FR_LUGR))": {
632 "key": "FR_PERM",
633 "label": "‰",
634 }
635 "S(A(FR_LABK))": {
636 "key": "FR_GTEQ",
637 "label": "≥",
638 }
639 "S(A(FR_W))": {
640 "key": "FR_RSAQ",
641 "label": "›",
642 }
643 "S(A(FR_X))": {
644 "key": "FR_FRSL",
645 "label": "⁄",
646 }
647 "S(A(FR_C))": {
648 "key": "FR_CENT",
649 "label": "¢",
650 }
651 "S(A(FR_V))": {
652 "key": "FR_SQRT",
653 "label": "√",
654 }
655 "S(A(FR_B))": {
656 "key": "FR_INTG",
657 "label": "∫",
658 }
659 "S(A(FR_N))": {
660 "key": "FR_DLSI",
661 "label": "ı",
662 }
663 "S(A(FR_COMM))": {
664 "key": "FR_IQUE",
665 "label": "¿",
666 }
667 "S(A(FR_COLN))": {
668 "key": "FR_BSLS",
669 "label": "\\",
670 }
671 "S(A(FR_EQL))": {
672 "key": "FR_PLMN",
673 "label": "±",
674 }
675 }
676} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson
new file mode 100644
index 0000000000..a1cfd44956
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson
@@ -0,0 +1,359 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "DE_CIRC",
18 "label": "^ (dead)",
19 }
20 "KC_1": {
21 "key": "DE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "DE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "DE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "DE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "DE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "DE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "DE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "DE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "DE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "DE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "DE_SS",
62 "label": "ß",
63 }
64 "KC_EQL": {
65 "key": "DE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "DE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "DE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "DE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "DE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "DE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "DE_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "DE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "DE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "DE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "DE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "DE_UDIA",
110 "label": "Ü",
111 }
112 "KC_RBRC": {
113 "key": "DE_PLUS",
114 "label": "+",
115 }
116 "KC_A": {
117 "key": "DE_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "DE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "DE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "DE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "DE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "DE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "DE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "DE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "DE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "DE_ODIA",
154 "label": "Ö",
155 }
156 "KC_QUOT": {
157 "key": "DE_ADIA",
158 "label": "Ä",
159 }
160 "KC_NUHS": {
161 "key": "DE_HASH",
162 "label": "#",
163 }
164 "KC_NUBS": {
165 "key": "DE_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "DE_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "DE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "DE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "DE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "DE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "DE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "DE_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "DE_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "DE_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "DE_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(DE_CIRC)": {
222 "key": "DE_DEG",
223 "label": "°",
224 }
225 "S(DE_1)": {
226 "key": "DE_EXLM",
227 "label": "!",
228 }
229 "S(DE_2)": {
230 "key": "DE_DQUO",
231 "label": "\"",
232 }
233 "S(DE_3)": {
234 "key": "DE_SECT",
235 "label": "§",
236 }
237 "S(DE_4)": {
238 "key": "DE_DLR",
239 "label": "$",
240 }
241 "S(DE_5)": {
242 "key": "DE_PERC",
243 "label": "%",
244 }
245 "S(DE_6)": {
246 "key": "DE_AMPR",
247 "label": "&",
248 }
249 "S(DE_7)": {
250 "key": "DE_SLSH",
251 "label": "/",
252 }
253 "S(DE_8)": {
254 "key": "DE_LPRN",
255 "label": "(",
256 }
257 "S(DE_9)": {
258 "key": "DE_RPRN",
259 "label": ")",
260 }
261 "S(DE_0)": {
262 "key": "DE_EQL",
263 "label": "=",
264 }
265 "S(DE_SS)": {
266 "key": "DE_QUES",
267 "label": "?",
268 }
269 "S(DE_ACUT)": {
270 "key": "DE_GRV",
271 "label": "` (dead)",
272 }
273 "S(DE_PLUS)": {
274 "key": "DE_ASTR",
275 "label": "*",
276 }
277 "S(DE_HASH)": {
278 "key": "DE_QUOT",
279 "label": "'",
280 }
281 "S(DE_LABK)": {
282 "key": "DE_RABK",
283 "label": ">",
284 }
285 "S(DE_COMM)": {
286 "key": "DE_SCLN",
287 "label": ";",
288 }
289 "S(DE_DOT)": {
290 "key": "DE_COLN",
291 "label": ":",
292 }
293 "S(DE_MINS)": {
294 "key": "DE_UNDS",
295 "label": "_",
296 }
297/* AltGr symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
299 * │ │ │ ² │ ³ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
301 * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
305 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
306 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
307 * │ │ │ │ │ │ │ │ │
308 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
309 */
310 "ALGR(DE_2)": {
311 "key": "DE_SUP2",
312 "label": "²",
313 }
314 "ALGR(DE_3)": {
315 "key": "DE_SUP3",
316 "label": "³",
317 }
318 "ALGR(DE_7)": {
319 "key": "DE_LCBR",
320 "label": "{",
321 }
322 "ALGR(DE_8)": {
323 "key": "DE_LBRC",
324 "label": "[",
325 }
326 "ALGR(DE_9)": {
327 "key": "DE_RBRC",
328 "label": "]",
329 }
330 "ALGR(DE_0)": {
331 "key": "DE_RCBR",
332 "label": "}",
333 }
334 "ALGR(DE_SS)": {
335 "key": "DE_BSLS",
336 "label": "\\",
337 }
338 "ALGR(DE_Q)": {
339 "key": "DE_AT",
340 "label": "@",
341 }
342 "ALGR(DE_E)": {
343 "key": "DE_EURO",
344 "label": "€",
345 }
346 "ALGR(DE_PLUS)": {
347 "key": "DE_TILD",
348 "label": "~",
349 }
350 "ALGR(DE_LABK)": {
351 "key": "DE_PIPE",
352 "label": "|",
353 }
354 "ALGR(DE_M)": {
355 "key": "DE_MICR",
356 "label": "µ",
357 }
358 }
359} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson
new file mode 100644
index 0000000000..366ed5b9d1
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson
@@ -0,0 +1,656 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
11 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "DE_CIRC",
18 "label": "^ (dead)",
19 }
20 "KC_1": {
21 "key": "DE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "DE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "DE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "DE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "DE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "DE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "DE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "DE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "DE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "DE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "DE_SS",
62 "label": "ß",
63 }
64 "KC_EQL": {
65 "key": "DE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "DE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "DE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "DE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "DE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "DE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "DE_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "DE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "DE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "DE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "DE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "DE_UDIA",
110 "label": "Ü",
111 }
112 "KC_RBRC": {
113 "key": "DE_PLUS",
114 "label": "+",
115 }
116 "KC_A": {
117 "key": "DE_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "DE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "DE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "DE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "DE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "DE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "DE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "DE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "DE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "DE_ODIA",
154 "label": "Ö",
155 }
156 "KC_QUOT": {
157 "key": "DE_ADIA",
158 "label": "Ä",
159 }
160 "KC_NUHS": {
161 "key": "DE_HASH",
162 "label": "#",
163 }
164 "KC_NUBS": {
165 "key": "DE_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "DE_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "DE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "DE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "DE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "DE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "DE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "DE_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "DE_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "DE_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "DE_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
210 * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
218 * │ │ │ │ │ │ │ │
219 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
220 */
221 "S(DE_CIRC)": {
222 "key": "DE_DEG",
223 "label": "°",
224 }
225 "S(DE_1)": {
226 "key": "DE_EXLM",
227 "label": "!",
228 }
229 "S(DE_2)": {
230 "key": "DE_DQUO",
231 "label": "\"",
232 }
233 "S(DE_3)": {
234 "key": "DE_SECT",
235 "label": "§",
236 }
237 "S(DE_4)": {
238 "key": "DE_DLR",
239 "label": "$",
240 }
241 "S(DE_5)": {
242 "key": "DE_PERC",
243 "label": "%",
244 }
245 "S(DE_6)": {
246 "key": "DE_AMPR",
247 "label": "&",
248 }
249 "S(DE_7)": {
250 "key": "DE_SLSH",
251 "label": "/",
252 }
253 "S(DE_8)": {
254 "key": "DE_LPRN",
255 "label": "(",
256 }
257 "S(DE_9)": {
258 "key": "DE_RPRN",
259 "label": ")",
260 }
261 "S(DE_0)": {
262 "key": "DE_EQL",
263 "label": "=",
264 }
265 "S(DE_SS)": {
266 "key": "DE_QUES",
267 "label": "?",
268 }
269 "S(DE_ACUT)": {
270 "key": "DE_GRV",
271 "label": "` (dead)",
272 }
273 "S(DE_PLUS)": {
274 "key": "DE_ASTR",
275 "label": "*",
276 }
277 "S(DE_HASH)": {
278 "key": "DE_QUOT",
279 "label": "'",
280 }
281 "S(DE_LABK)": {
282 "key": "DE_RABK",
283 "label": ">",
284 }
285 "S(DE_COMM)": {
286 "key": "DE_SCLN",
287 "label": ";",
288 }
289 "S(DE_DOT)": {
290 "key": "DE_COLN",
291 "label": ":",
292 }
293 "S(DE_MINS)": {
294 "key": "DE_UNDS",
295 "label": "_",
296 }
297/* Alted symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
299 * │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
301 * │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
305 * │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │
306 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
307 * │ │ │ │ │ │ │ │
308 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
309 */
310 "A(DE_CIRC)": {
311 "key": "DE_DLQU",
312 "label": "„",
313 }
314 "A(DE_1)": {
315 "key": "DE_IEXL",
316 "label": "¡",
317 }
318 "A(DE_2)": {
319 "key": "DE_LDQU",
320 "label": "“",
321 }
322 "A(DE_3)": {
323 "key": "DE_PILC",
324 "label": "¶",
325 }
326 "A(DE_4)": {
327 "key": "DE_CENT",
328 "label": "¢",
329 }
330 "A(DE_5)": {
331 "key": "DE_LBRC",
332 "label": "[",
333 }
334 "A(DE_6)": {
335 "key": "DE_RBRC",
336 "label": "]",
337 }
338 "A(DE_7)": {
339 "key": "DE_PIPE",
340 "label": "|",
341 }
342 "A(DE_8)": {
343 "key": "DE_LCBR",
344 "label": "{",
345 }
346 "A(DE_9)": {
347 "key": "DE_RCBR",
348 "label": "}",
349 }
350 "A(DE_0)": {
351 "key": "DE_NEQL",
352 "label": "≠",
353 }
354 "A(DE_SS)": {
355 "key": "DE_IQUE",
356 "label": "¿",
357 }
358 "A(DE_Q)": {
359 "key": "DE_LDAQ",
360 "label": "«",
361 }
362 "A(DE_W)": {
363 "key": "DE_NARS",
364 "label": "∑",
365 }
366 "A(DE_E)": {
367 "key": "DE_EURO",
368 "label": "€",
369 }
370 "A(DE_R)": {
371 "key": "DE_REGD",
372 "label": "®",
373 }
374 "A(DE_T)": {
375 "key": "DE_DAGG",
376 "label": "†",
377 }
378 "A(DE_Z)": {
379 "key": "DE_OMEG",
380 "label": "Ω",
381 }
382 "A(DE_U)": {
383 "key": "DE_DIAE",
384 "label": "¨ (dead)",
385 }
386 "A(DE_I)": {
387 "key": "DE_FRSL",
388 "label": "⁄",
389 }
390 "A(DE_O)": {
391 "key": "DE_OSTR",
392 "label": "Ø",
393 }
394 "A(DE_P)": {
395 "key": "DE_PI",
396 "label": "π",
397 }
398 "A(DE_UDIA)": {
399 "key": "DE_BULT",
400 "label": "•",
401 }
402 "A(DE_PLUS)": {
403 "key": "DE_PLMN",
404 "label": "±",
405 }
406 "A(DE_A)": {
407 "key": "DE_ARNG",
408 "label": "Å",
409 }
410 "A(DE_S)": {
411 "key": "DE_SLQU",
412 "label": "‚",
413 }
414 "A(DE_D)": {
415 "key": "DE_PDIF",
416 "label": "∂",
417 }
418 "A(DE_F)": {
419 "key": "DE_FHK",
420 "label": "ƒ",
421 }
422 "A(DE_G)": {
423 "key": "DE_COPY",
424 "label": "©",
425 }
426 "A(DE_H)": {
427 "key": "DE_FORD",
428 "label": "ª",
429 }
430 "A(DE_J)": {
431 "key": "DE_MORD",
432 "label": "º",
433 }
434 "A(DE_K)": {
435 "key": "DE_INCR",
436 "label": "∆",
437 }
438 "A(DE_L)": {
439 "key": "DE_AT",
440 "label": "@",
441 }
442 "A(DE_ODIA)": {
443 "key": "DE_OE",
444 "label": "Œ",
445 }
446 "A(DE_ADIA)": {
447 "key": "DE_AE",
448 "label": "Æ",
449 }
450 "A(DE_HASH)": {
451 "key": "DE_LSQU",
452 "label": "‘",
453 }
454 "A(DE_LABK)": {
455 "key": "DE_LTEQ",
456 "label": "≤",
457 }
458 "A(DE_Y)": {
459 "key": "DE_YEN",
460 "label": "¥",
461 }
462 "A(DE_X)": {
463 "key": "DE_AEQL",
464 "label": "≈",
465 }
466 "A(DE_C)": {
467 "key": "DE_CCCE",
468 "label": "Ç",
469 }
470 "A(DE_V)": {
471 "key": "DE_SQRT",
472 "label": "√",
473 }
474 "A(DE_B)": {
475 "key": "DE_INTG",
476 "label": "∫",
477 }
478 "A(DE_N)": {
479 "key": "DE_TILD",
480 "label": "~ (dead)",
481 }
482 "A(DE_M)": {
483 "key": "DE_MICR",
484 "label": "µ",
485 }
486 "A(DE_COMM)": {
487 "key": "DE_INFN",
488 "label": "∞",
489 }
490 "A(DE_DOT)": {
491 "key": "DE_ELLP",
492 "label": "…",
493 }
494 "A(DE_MINS)": {
495 "key": "DE_NDSH",
496 "label": "–",
497 }
498/* Shift+Alted symbols
499 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
500 * │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │
501 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
502 * │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │  │ │
503 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
504 * │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │
505 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
506 * │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │
507 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
508 * │ │ │ │ │ │ │ │
509 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
510 */
511 "S(A(DE_1))": {
512 "key": "DE_NOT",
513 "label": "¬",
514 }
515 "S(A(DE_2))": {
516 "key": "DE_RDQU",
517 "label": "”",
518 }
519 "S(A(DE_4))": {
520 "key": "DE_PND",
521 "label": "£",
522 }
523 "S(A(DE_5))": {
524 "key": "DE_FI",
525 "label": "fi",
526 }
527 "S(A(DE_7))": {
528 "key": "DE_BSLS",
529 "label": "\\",
530 }
531 "S(A(DE_8))": {
532 "key": "DE_STIL",
533 "label": "˜",
534 }
535 "S(A(DE_9))": {
536 "key": "DE_MDDT",
537 "label": "·",
538 }
539 "S(A(DE_0))": {
540 "key": "DE_MACR",
541 "label": "¯",
542 }
543 "S(A(DE_SS))": {
544 "key": "DE_DOTA",
545 "label": "˙",
546 }
547 "S(A(DE_ACUT))": {
548 "key": "DE_RNGA",
549 "label": "˚",
550 }
551 "S(A(DE_Q))": {
552 "key": "DE_RDAQ",
553 "label": "»",
554 }
555 "S(A(DE_E))": {
556 "key": "DE_PERM",
557 "label": "‰",
558 }
559 "S(A(DE_R))": {
560 "key": "DE_CEDL",
561 "label": "¸",
562 }
563 "S(A(DE_T))": {
564 "key": "DE_DACU",
565 "label": "˝",
566 }
567 "S(A(DE_Z))": {
568 "key": "DE_CARN",
569 "label": "ˇ",
570 }
571 "S(A(DE_U))": {
572 "key": "DE_AACU",
573 "label": "Á",
574 }
575 "S(A(DE_I))": {
576 "key": "DE_UCIR",
577 "label": "Û",
578 }
579 "S(A(DE_P))": {
580 "key": "DE_NARP",
581 "label": "∏",
582 }
583 "S(A(DE_PLUS))": {
584 "key": "DE_APPL",
585 "label": " (Apple logo)",
586 }
587 "S(A(DE_S))": {
588 "key": "DE_IACU",
589 "label": "Í",
590 }
591 "S(A(DE_D))": {
592 "key": "DE_TM",
593 "label": "™",
594 }
595 "S(A(DE_F))": {
596 "key": "DE_IDIA",
597 "label": "Ï",
598 }
599 "S(A(DE_G))": {
600 "key": "DE_IGRV",
601 "label": "Ì",
602 }
603 "S(A(DE_H))": {
604 "key": "DE_OACU",
605 "label": "Ó",
606 }
607 "S(A(DE_J))": {
608 "key": "DE_DLSI",
609 "label": "ı",
610 }
611 "S(A(DE_L))": {
612 "key": "DE_FL",
613 "label": "fl",
614 }
615 "S(A(DE_LABK))": {
616 "key": "DE_GTEQ",
617 "label": "≥",
618 }
619 "S(A(DE_Y))": {
620 "key": "DE_DDAG",
621 "label": "‡",
622 }
623 "S(A(DE_X))": {
624 "key": "DE_UGRV",
625 "label": "Ù",
626 }
627 "S(A(DE_V))": {
628 "key": "DE_LOZN",
629 "label": "◊",
630 }
631 "S(A(DE_B))": {
632 "key": "DE_LSAQ",
633 "label": "‹",
634 }
635 "S(A(DE_N))": {
636 "key": "DE_RSAQ",
637 "label": "›",
638 }
639 "S(A(DE_M))": {
640 "key": "DE_BREV",
641 "label": "˘",
642 }
643 "S(A(DE_COMM))": {
644 "key": "DE_OGON",
645 "label": "˛",
646 }
647 "S(A(DE_DOT))": {
648 "key": "DE_DIV",
649 "label": "÷",
650 }
651 "S(A(DE_MINS))": {
652 "key": "DE_MDSH",
653 "label": "—",
654 }
655 }
656} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson
new file mode 100644
index 0000000000..9c7f8796bf
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson
@@ -0,0 +1,391 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ ; │ ς │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ [ │ ] │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ΄ │ ' │ \ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ , │ . │ / │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "GR_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "GR_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "GR_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "GR_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "GR_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "GR_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "GR_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "GR_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "GR_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "GR_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "GR_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "GR_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "GR_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "GR_SCLN",
70 "label": ";",
71 }
72 "KC_W": {
73 "key": "GR_FSIG",
74 "label": "ς",
75 }
76 "KC_E": {
77 "key": "GR_EPSL",
78 "label": "Ε",
79 }
80 "KC_R": {
81 "key": "GR_RHO",
82 "label": "Ρ",
83 }
84 "KC_T": {
85 "key": "GR_TAU",
86 "label": "Τ",
87 }
88 "KC_Y": {
89 "key": "GR_UPSL",
90 "label": "Υ",
91 }
92 "KC_U": {
93 "key": "GR_THET",
94 "label": "Θ",
95 }
96 "KC_I": {
97 "key": "GR_IOTA",
98 "label": "Ι",
99 }
100 "KC_O": {
101 "key": "GR_OMCR",
102 "label": "Ο",
103 }
104 "KC_P": {
105 "key": "GR_PI",
106 "label": "Π",
107 }
108 "KC_LBRC": {
109 "key": "GR_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "GR_RBRC",
114 "label": "]",
115 }
116 "KC_A": {
117 "key": "GR_ALPH",
118 "label": "Α",
119 }
120 "KC_S": {
121 "key": "GR_SIGM",
122 "label": "Σ",
123 }
124 "KC_D": {
125 "key": "GR_DELT",
126 "label": "Δ",
127 }
128 "KC_F": {
129 "key": "GR_PHI",
130 "label": "Φ",
131 }
132 "KC_G": {
133 "key": "GR_GAMM",
134 "label": "Γ",
135 }
136 "KC_H": {
137 "key": "GR_ETA",
138 "label": "Η",
139 }
140 "KC_J": {
141 "key": "GR_XI",
142 "label": "Ξ",
143 }
144 "KC_K": {
145 "key": "GR_KAPP",
146 "label": "Κ",
147 }
148 "KC_L": {
149 "key": "GR_LAMB",
150 "label": "Λ",
151 }
152 "KC_SCLN": {
153 "key": "GR_TONS",
154 "label": "΄ (dead)",
155 }
156 "KC_QUOT": {
157 "key": "GR_QUOT",
158 "label": "'",
159 }
160 "KC_NUHS": {
161 "key": "GR_BSLS",
162 "label": "\\",
163 }
164 "KC_Z": {
165 "key": "GR_ZETA",
166 "label": "Ζ",
167 }
168 "KC_X": {
169 "key": "GR_CHI",
170 "label": "Χ",
171 }
172 "KC_C": {
173 "key": "GR_PSI",
174 "label": "Ψ",
175 }
176 "KC_V": {
177 "key": "GR_OMEG",
178 "label": "Ω",
179 }
180 "KC_B": {
181 "key": "GR_BETA",
182 "label": "Β",
183 }
184 "KC_N": {
185 "key": "GR_NU",
186 "label": "Ν",
187 }
188 "KC_M": {
189 "key": "GR_MU",
190 "label": "Μ",
191 }
192 "KC_COMM": {
193 "key": "GR_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "GR_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "GR_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ : │ ΅ │ │ │ │ │ │ │ │ │ { │ } │ │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
210 * │ │ │ │ │ │ │ │ │ │ │ ¨ │ " │ | │ │
211 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
212 * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(GR_GRV)": {
218 "key": "GR_TILD",
219 "label": "~",
220 }
221 "S(GR_1)": {
222 "key": "GR_EXLM",
223 "label": "!",
224 }
225 "S(GR_2)": {
226 "key": "GR_AT",
227 "label": "@",
228 }
229 "S(GR_3)": {
230 "key": "GR_HASH",
231 "label": "#",
232 }
233 "S(GR_4)": {
234 "key": "GR_DLR",
235 "label": "$",
236 }
237 "S(GR_5)": {
238 "key": "GR_PERC",
239 "label": "%",
240 }
241 "S(GR_6)": {
242 "key": "GR_CIRC",
243 "label": "^",
244 }
245 "S(GR_7)": {
246 "key": "GR_AMPR",
247 "label": "&",
248 }
249 "S(GR_8)": {
250 "key": "GR_ASTR",
251 "label": "*",
252 }
253 "S(GR_9)": {
254 "key": "GR_LPRN",
255 "label": "(",
256 }
257 "S(GR_0)": {
258 "key": "GR_RPRN",
259 "label": ")",
260 }
261 "S(GR_MINS)": {
262 "key": "GR_UNDS",
263 "label": "_",
264 }
265 "S(GR_EQL)": {
266 "key": "GR_PLUS",
267 "label": "+",
268 }
269 "S(GR_SCLN)": {
270 "key": "GR_COLN",
271 "label": ":",
272 }
273 "S(GR_FSIG)": {
274 "key": "GR_DIAT",
275 "label": "΅ (dead)",
276 }
277 "S(GR_LBRC)": {
278 "key": "GR_LCBR",
279 "label": "{",
280 }
281 "S(GR_RBRC)": {
282 "key": "GR_RCBR",
283 "label": "}",
284 }
285 "S(GR_TONS)": {
286 "key": "GR_DIAE",
287 "label": "¨ (dead)",
288 }
289 "S(GR_QUOT)": {
290 "key": "GR_DQUO",
291 "label": "\"",
292 }
293 "S(GR_BSLS)": {
294 "key": "GR_PIPE",
295 "label": "|",
296 }
297 "S(GR_COMM)": {
298 "key": "GR_LABK",
299 "label": "<",
300 }
301 "S(GR_DOT)": {
302 "key": "GR_RABK",
303 "label": ">",
304 }
305 "S(GR_SLSH)": {
306 "key": "GR_QUES",
307 "label": "?",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ │ │ ² │ ³ │ £ │ § │ ¶ │ │ ¤ │ ¦ │ ° │ ± │ ½ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ │ │ € │ ® │ │ ¥ │ │ │ │ │ « │ » │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ │ │ │ │ │ │ │ │ │ │ │ ¬ │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ │ │ │ © │ │ │ │ │ │ │ │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(GR_2)": {
323 "key": "GR_SUP2",
324 "label": "²",
325 }
326 "ALGR(GR_3)": {
327 "key": "GR_SUP3",
328 "label": "³",
329 }
330 "ALGR(GR_4)": {
331 "key": "GR_PND",
332 "label": "£",
333 }
334 "ALGR(GR_5)": {
335 "key": "GR_SECT",
336 "label": "§",
337 }
338 "ALGR(GR_6)": {
339 "key": "GR_PILC",
340 "label": "¶",
341 }
342 "ALGR(GR_8)": {
343 "key": "GR_CURR",
344 "label": "¤",
345 }
346 "ALGR(GR_9)": {
347 "key": "GR_BRKP",
348 "label": "¦",
349 }
350 "ALGR(GR_0)": {
351 "key": "GR_DEG",
352 "label": "°",
353 }
354 "ALGR(GR_MINS)": {
355 "key": "GR_PLMN",
356 "label": "±",
357 }
358 "ALGR(GR_EQL)": {
359 "key": "GR_HALF",
360 "label": "½",
361 }
362 "ALGR(GR_EPSL)": {
363 "key": "GR_EURO",
364 "label": "€",
365 }
366 "ALGR(GR_RHO)": {
367 "key": "GR_REGD",
368 "label": "®",
369 }
370 "ALGR(GR_UPSL)": {
371 "key": "GR_YEN",
372 "label": "¥",
373 }
374 "ALGR(GR_LBRC)": {
375 "key": "GR_LDAQ",
376 "label": "«",
377 }
378 "ALGR(GR_RBRC)": {
379 "key": "GR_RDAQ",
380 "label": "»",
381 }
382 "ALGR(GR_BSLS)": {
383 "key": "GR_NOT",
384 "label": "¬",
385 }
386 "ALGR(GR_PSI)": {
387 "key": "GR_COPY",
388 "label": "©",
389 }
390 }
391} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson
new file mode 100644
index 0000000000..b519229f35
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson
@@ -0,0 +1,347 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "IL_SCLN",
18 "label": ";",
19 }
20 "KC_1": {
21 "key": "IL_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "IL_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "IL_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "IL_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "IL_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "IL_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "IL_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "IL_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "IL_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "IL_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "IL_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "IL_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "IL_SLSH",
70 "label": "/",
71 }
72 "KC_W": {
73 "key": "IL_QUOT",
74 "label": "'",
75 }
76 "KC_E": {
77 "key": "IL_QOF",
78 "label": "ק",
79 }
80 "KC_R": {
81 "key": "IL_RESH",
82 "label": "ר",
83 }
84 "KC_T": {
85 "key": "IL_ALEF",
86 "label": "א",
87 }
88 "KC_Y": {
89 "key": "IL_TET",
90 "label": "ט",
91 }
92 "KC_U": {
93 "key": "IL_VAV",
94 "label": "ו",
95 }
96 "KC_I": {
97 "key": "IL_FNUN",
98 "label": "ן",
99 }
100 "KC_O": {
101 "key": "IL_FMEM",
102 "label": "ם",
103 }
104 "KC_P": {
105 "key": "IL_PE",
106 "label": "פ",
107 }
108 "KC_LBRC": {
109 "key": "IL_RBRC",
110 "label": "]",
111 }
112 "KC_RBRC": {
113 "key": "IL_LBRC",
114 "label": "[",
115 }
116 "KC_A": {
117 "key": "IL_SHIN",
118 "label": "ש",
119 }
120 "KC_S": {
121 "key": "IL_DALT",
122 "label": "ד",
123 }
124 "KC_D": {
125 "key": "IL_GIML",
126 "label": "ג",
127 }
128 "KC_F": {
129 "key": "IL_KAF",
130 "label": "כ",
131 }
132 "KC_G": {
133 "key": "IL_AYIN",
134 "label": "ע",
135 }
136 "KC_H": {
137 "key": "IL_YOD",
138 "label": "י",
139 }
140 "KC_J": {
141 "key": "IL_HET",
142 "label": "ח",
143 }
144 "KC_K": {
145 "key": "IL_LAMD",
146 "label": "ל",
147 }
148 "KC_L": {
149 "key": "IL_FKAF",
150 "label": "ך",
151 }
152 "KC_SCLN": {
153 "key": "IL_FPE",
154 "label": "ף",
155 }
156 "KC_QUOT": {
157 "key": "IL_COMM",
158 "label": ",",
159 }
160 "KC_NUHS": {
161 "key": "IL_BSLS",
162 "label": "\\",
163 }
164 "KC_Z": {
165 "key": "IL_ZAYN",
166 "label": "ז",
167 }
168 "KC_X": {
169 "key": "IL_SMKH",
170 "label": "ס",
171 }
172 "KC_C": {
173 "key": "IL_BET",
174 "label": "ב",
175 }
176 "KC_V": {
177 "key": "IL_HE",
178 "label": "ה",
179 }
180 "KC_B": {
181 "key": "IL_NUN",
182 "label": "נ",
183 }
184 "KC_N": {
185 "key": "IL_MEM",
186 "label": "מ",
187 }
188 "KC_M": {
189 "key": "IL_TSDI",
190 "label": "צ",
191 }
192 "KC_COMM": {
193 "key": "IL_TAV",
194 "label": "ת",
195 }
196 "KC_DOT": {
197 "key": "IL_FTSD",
198 "label": "ץ",
199 }
200 "KC_SLSH": {
201 "key": "IL_DOT",
202 "label": ".",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ } │ { │ │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
210 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
211 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
212 * │ │ │ │ │ │ │ │ │ │ > │ < │ ? │ │
213 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(IL_SCLN)": {
218 "key": "IL_TILD",
219 "label": "~",
220 }
221 "S(IL_1)": {
222 "key": "IL_EXLM",
223 "label": "!",
224 }
225 "S(IL_2)": {
226 "key": "IL_AT",
227 "label": "@",
228 }
229 "S(IL_3)": {
230 "key": "IL_PND",
231 "label": "#",
232 }
233 "S(IL_4)": {
234 "key": "IL_DLR",
235 "label": "$",
236 }
237 "S(IL_5)": {
238 "key": "IL_PERC",
239 "label": "%",
240 }
241 "S(IL_6)": {
242 "key": "IL_CIRC",
243 "label": "^",
244 }
245 "S(IL_7)": {
246 "key": "IL_AMPR",
247 "label": "&",
248 }
249 "S(IL_8)": {
250 "key": "IL_ASTR",
251 "label": "*",
252 }
253 "S(IL_9)": {
254 "key": "IL_RPRN",
255 "label": ")",
256 }
257 "S(IL_0)": {
258 "key": "IL_LPRN",
259 "label": "(",
260 }
261 "S(IL_MINS)": {
262 "key": "IL_UNDS",
263 "label": "_",
264 }
265 "S(IL_EQL)": {
266 "key": "IL_PLUS",
267 "label": "+",
268 }
269 "S(IL_RBRC)": {
270 "key": "IL_RCBR",
271 "label": "}",
272 }
273 "S(IL_LBRC)": {
274 "key": "IL_LCBR",
275 "label": "{",
276 }
277 "S(IL_FPE)": {
278 "key": "IL_COLN",
279 "label": ":",
280 }
281 "S(IL_COMM)": {
282 "key": "IL_DQUO",
283 "label": "\"",
284 }
285 "S(IL_BSLS)": {
286 "key": "IL_PIPE",
287 "label": "|",
288 }
289 "S(IL_TAV)": {
290 "key": "IL_RABK",
291 "label": ">",
292 }
293 "S(IL_FTSD)": {
294 "key": "IL_LABK",
295 "label": "<",
296 }
297 "S(IL_DOT)": {
298 "key": "IL_QUES",
299 "label": "?",
300 }
301/* AltGr symbols
302 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
303 * │ │ │ │ € │ ₪ │ ° │ │ │ × │ │ │ │ │ │
304 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
305 * │ │ │ │ │ │ │ װ │ │ │ │ │ │ │ │
306 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
307 * │ │ │ │ │ │ ײ │ ױ │ │ │ │ │ │ │ │
308 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
309 * │ │ │ │ │ │ │ │ │ │ │ │ ÷ │ │
310 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
311 * │ │ │ │ │ │ │ │ │
312 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
313 */
314 "ALGR(IL_3)": {
315 "key": "IL_EURO",
316 "label": "€",
317 }
318 "ALGR(IL_4)": {
319 "key": "IL_SHKL",
320 "label": "₪",
321 }
322 "ALGR(IL_5)": {
323 "key": "IL_DEG",
324 "label": "°",
325 }
326 "ALGR(IL_8)": {
327 "key": "IL_MUL",
328 "label": "×",
329 }
330 "ALGR(IL_TET)": {
331 "key": "IL_DVAV",
332 "label": "װ",
333 }
334 "ALGR(IL_AYIN)": {
335 "key": "IL_VYOD",
336 "label": "ױ",
337 }
338 "ALGR(IL_YOD)": {
339 "key": "IL_DYOD",
340 "label": "ײ",
341 }
342 "ALGR(IL_DOT)": {
343 "key": "IL_DIV",
344 "label": "÷",
345 }
346 }
347} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson
new file mode 100644
index 0000000000..d4fc908dc0
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson
@@ -0,0 +1,435 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ Ö │ Ü │ Ó │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ő │ Ú │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ É │ Á │ Ű │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ Í │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "HU_0",
18 "label": "0",
19 }
20 "KC_1": {
21 "key": "HU_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "HU_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "HU_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "HU_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "HU_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "HU_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "HU_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "HU_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "HU_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "HU_ODIA",
58 "label": "Ö",
59 }
60 "KC_MINS": {
61 "key": "HU_UDIA",
62 "label": "Ü",
63 }
64 "KC_EQL": {
65 "key": "HU_OACU",
66 "label": "Ó",
67 }
68 "KC_Q": {
69 "key": "HU_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "HU_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "HU_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "HU_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "HU_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "HU_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "HU_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "HU_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "HU_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "HU_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "HU_ODAC",
110 "label": "Ő",
111 }
112 "KC_RBRC": {
113 "key": "HU_UACU",
114 "label": "Ú",
115 }
116 "KC_A": {
117 "key": "HU_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "HU_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "HU_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "HU_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "HU_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "HU_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "HU_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "HU_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "HU_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "HU_EACU",
154 "label": "É",
155 }
156 "KC_QUOT": {
157 "key": "HU_AACU",
158 "label": "Á",
159 }
160 "KC_NUHS": {
161 "key": "HU_UDAC",
162 "label": "Ű",
163 }
164 "KC_NUBS": {
165 "key": "HU_IACU",
166 "label": "Í",
167 }
168 "KC_Z": {
169 "key": "HU_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "HU_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "HU_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "HU_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "HU_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "HU_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "HU_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "HU_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "HU_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "HU_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ § │ ' │ " │ + │ ! │ % │ / │ = │ ( │ ) │ │ │ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(HU_0)": {
222 "key": "HU_SECT",
223 "label": "§",
224 }
225 "S(HU_1)": {
226 "key": "HU_QUOT",
227 "label": "'",
228 }
229 "S(HU_2)": {
230 "key": "HU_DQUO",
231 "label": "\"",
232 }
233 "S(HU_3)": {
234 "key": "HU_PLUS",
235 "label": "+",
236 }
237 "S(HU_4)": {
238 "key": "HU_EXLM",
239 "label": "!",
240 }
241 "S(HU_5)": {
242 "key": "HU_PERC",
243 "label": "%",
244 }
245 "S(HU_6)": {
246 "key": "HU_SLSH",
247 "label": "/",
248 }
249 "S(HU_7)": {
250 "key": "HU_EQL",
251 "label": "=",
252 }
253 "S(HU_8)": {
254 "key": "HU_LPRN",
255 "label": "(",
256 }
257 "S(HU_9)": {
258 "key": "HU_RPRN",
259 "label": ")",
260 }
261 "S(HU_COMM)": {
262 "key": "HU_QUES",
263 "label": "?",
264 }
265 "S(HU_DOT)": {
266 "key": "HU_COLN",
267 "label": ":",
268 }
269 "S(HU_MINS)": {
270 "key": "HU_UNDS",
271 "label": "_",
272 }
273/* AltGr symbols
274 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
275 * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
276 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
277 * │ │ \ │ | │ Ä │ │ │ │ € │ │ │ │ ÷ │ × │ │
278 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
279 * │ │ ä │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
280 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
281 * │ │ < │ > │ # │ & │ @ │ { │ } │ │ ; │ │ * │ │
282 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
283 * │ │ │ │ │ │ │ │ │
284 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
285 */
286 "ALGR(HU_1)": {
287 "key": "HU_TILD",
288 "label": "~",
289 }
290 "ALGR(HU_2)": {
291 "key": "HU_CARN",
292 "label": "ˇ (dead)",
293 }
294 "ALGR(HU_3)": {
295 "key": "HU_CIRC",
296 "label": "^ (dead)",
297 }
298 "ALGR(HU_4)": {
299 "key": "HU_BREV",
300 "label": "˘ (dead)",
301 }
302 "ALGR(HU_5)": {
303 "key": "HU_RNGA",
304 "label": "° (dead)",
305 }
306 "ALGR(HU_6)": {
307 "key": "HU_OGON",
308 "label": "˛ (dead)",
309 }
310 "ALGR(HU_7)": {
311 "key": "HU_GRV",
312 "label": "`",
313 }
314 "ALGR(HU_8)": {
315 "key": "HU_DOTA",
316 "label": "˙ (dead)",
317 }
318 "ALGR(HU_9)": {
319 "key": "HU_ACUT",
320 "label": "´ (dead)",
321 }
322 "ALGR(HU_ODIA)": {
323 "key": "HU_DACU",
324 "label": "˝ (dead)",
325 }
326 "ALGR(HU_UDIA)": {
327 "key": "HU_DIAE",
328 "label": "¨ (dead)",
329 }
330 "ALGR(HU_OACU)": {
331 "key": "HU_CEDL",
332 "label": "¸ (dead)",
333 }
334 "ALGR(HU_Q)": {
335 "key": "HU_BSLS",
336 "label": "\\",
337 }
338 "ALGR(HU_W)": {
339 "key": "HU_PIPE",
340 "label": "|",
341 }
342 "ALGR(HU_E)": {
343 "key": "HU_CADI",
344 "label": "Ä",
345 }
346 "ALGR(HU_U)": {
347 "key": "HU_EURO",
348 "label": "€",
349 }
350 "ALGR(HU_ODAC)": {
351 "key": "HU_DIV",
352 "label": "÷",
353 }
354 "ALGR(HU_UACU)": {
355 "key": "HU_MUL",
356 "label": "×",
357 }
358 "ALGR(HU_A)": {
359 "key": "HU_LADI",
360 "label": "ä",
361 }
362 "ALGR(HU_S)": {
363 "key": "HU_LDST",
364 "label": "đ",
365 }
366 "ALGR(HU_D)": {
367 "key": "HU_CDST",
368 "label": "Đ",
369 }
370 "ALGR(HU_F)": {
371 "key": "HU_LBRC",
372 "label": "[",
373 }
374 "ALGR(HU_G)": {
375 "key": "HU_RBRC",
376 "label": "]",
377 }
378 "ALGR(HU_K)": {
379 "key": "HU_LLST",
380 "label": "ł",
381 }
382 "ALGR(HU_L)": {
383 "key": "HU_CLST",
384 "label": "Ł",
385 }
386 "ALGR(HU_EACU)": {
387 "key": "HU_DLR",
388 "label": "$",
389 }
390 "ALGR(HU_AACU)": {
391 "key": "HU_SS",
392 "label": "ß",
393 }
394 "ALGR(HU_UDAC)": {
395 "key": "HU_CURR",
396 "label": "¤",
397 }
398 "ALGR(HU_IACU)": {
399 "key": "HU_LABK",
400 "label": "<",
401 }
402 "ALGR(HU_Y)": {
403 "key": "HU_RABK",
404 "label": ">",
405 }
406 "ALGR(HU_X)": {
407 "key": "HU_HASH",
408 "label": "#",
409 }
410 "ALGR(HU_C)": {
411 "key": "HU_AMPR",
412 "label": "&",
413 }
414 "ALGR(HU_V)": {
415 "key": "HU_AT",
416 "label": "@",
417 }
418 "ALGR(HU_B)": {
419 "key": "HU_LCBR",
420 "label": "{",
421 }
422 "ALGR(HU_N)": {
423 "key": "HU_RCBR",
424 "label": "}",
425 }
426 "ALGR(HU_COMM)": {
427 "key": "HU_SCLN",
428 "label": ";",
429 }
430 "ALGR(HU_MINS)": {
431 "key": "HU_ASTR",
432 "label": "*",
433 }
434 }
435} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson
new file mode 100644
index 0000000000..f4d6025a77
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson
@@ -0,0 +1,355 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ Ö │ - │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ð │ ' │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ ´ │ + │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Þ │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "IS_RNGA",
18 "label": "° (dead)",
19 }
20 "KC_1": {
21 "key": "IS_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "IS_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "IS_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "IS_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "IS_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "IS_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "IS_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "IS_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "IS_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "IS_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "IS_ODIA",
62 "label": "Ö",
63 }
64 "KC_EQL": {
65 "key": "IS_MINS",
66 "label": "-",
67 }
68 "KC_Q": {
69 "key": "IS_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "IS_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "IS_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "IS_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "IS_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "IS_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "IS_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "IS_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "IS_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "IS_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "IS_ETH",
110 "label": "Ð",
111 }
112 "KC_RBRC": {
113 "key": "IS_QUOT",
114 "label": "'",
115 }
116 "KC_A": {
117 "key": "IS_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "IS_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "IS_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "IS_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "IS_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "IS_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "IS_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "IS_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "IS_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "IS_AE",
154 "label": "Æ",
155 }
156 "KC_QUOT": {
157 "key": "IS_ACUT",
158 "label": "´ (dead)",
159 }
160 "KC_NUHS": {
161 "key": "IS_PLUS",
162 "label": "+",
163 }
164 "KC_NUBS": {
165 "key": "IS_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "IS_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "IS_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "IS_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "IS_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "IS_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "IS_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "IS_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "IS_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "IS_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "IS_THRN",
206 "label": "Þ",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ │ _ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ ? │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(IS_RNGA)": {
222 "key": "IS_DIAE",
223 "label": "¨ (dead)",
224 }
225 "S(IS_1)": {
226 "key": "IS_EXLM",
227 "label": "!",
228 }
229 "S(IS_2)": {
230 "key": "IS_DQUO",
231 "label": "\"",
232 }
233 "S(IS_3)": {
234 "key": "IS_HASH",
235 "label": "#",
236 }
237 "S(IS_4)": {
238 "key": "IS_DLR",
239 "label": "$",
240 }
241 "S(IS_5)": {
242 "key": "IS_PERC",
243 "label": "%",
244 }
245 "S(IS_6)": {
246 "key": "IS_AMPR",
247 "label": "&",
248 }
249 "S(IS_7)": {
250 "key": "IS_SLSH",
251 "label": "/",
252 }
253 "S(IS_8)": {
254 "key": "IS_LPRN",
255 "label": "(",
256 }
257 "S(IS_9)": {
258 "key": "IS_RPRN",
259 "label": ")",
260 }
261 "S(IS_0)": {
262 "key": "IS_EQL",
263 "label": "=",
264 }
265 "S(IS_MINS)": {
266 "key": "IS_UNDS",
267 "label": "_",
268 }
269 "S(IS_QUOT)": {
270 "key": "IS_QUES",
271 "label": "?",
272 }
273 "S(IS_PLUS)": {
274 "key": "IS_ASTR",
275 "label": "*",
276 }
277 "S(IS_LABK)": {
278 "key": "IS_RABK",
279 "label": ">",
280 }
281 "S(IS_COMM)": {
282 "key": "IS_SCLN",
283 "label": ";",
284 }
285 "S(IS_DOT)": {
286 "key": "IS_COLN",
287 "label": ":",
288 }
289/* AltGr symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
291 * │ ° │ │ │ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
293 * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
295 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ ` │ │
296 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
297 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
298 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
299 * │ │ │ │ │ │ │ │ │
300 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
301 */
302 "ALGR(IS_RNGA)": {
303 "key": "IS_DEG",
304 "label": "°",
305 }
306 "ALGR(IS_7)": {
307 "key": "IS_LCBR",
308 "label": "{",
309 }
310 "ALGR(IS_8)": {
311 "key": "IS_LBRC",
312 "label": "[",
313 }
314 "ALGR(IS_9)": {
315 "key": "IS_RBRC",
316 "label": "]",
317 }
318 "ALGR(IS_0)": {
319 "key": "IS_RCBR",
320 "label": "}",
321 }
322 "ALGR(IS_ODIA)": {
323 "key": "IS_BSLS",
324 "label": "\\",
325 }
326 "ALGR(IS_Q)": {
327 "key": "IS_AT",
328 "label": "@",
329 }
330 "ALGR(IS_E)": {
331 "key": "IS_EURO",
332 "label": "€",
333 }
334 "ALGR(IS_QUOT)": {
335 "key": "IS_TILD",
336 "label": "~",
337 }
338 "ALGR(IS_ACUT)": {
339 "key": "IS_CIRC",
340 "label": "^ (dead)",
341 }
342 "ALGR(IS_PLUS)": {
343 "key": "IS_GRV",
344 "label": "` (dead)",
345 }
346 "ALGR(IS_LABK)": {
347 "key": "IS_PIPE",
348 "label": "|",
349 }
350 "ALGR(IS_M)": {
351 "key": "IS_MICR",
352 "label": "µ",
353 }
354 }
355} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson
new file mode 100644
index 0000000000..94e553469e
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson
@@ -0,0 +1,355 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "IE_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "IE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "IE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "IE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "IE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "IE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "IE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "IE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "IE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "IE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "IE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "IE_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "IE_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "IE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "IE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "IE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "IE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "IE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "IE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "IE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "IE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "IE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "IE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "IE_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "IE_RBRC",
114 "label": "]",
115 }
116 "KC_A": {
117 "key": "IE_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "IE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "IE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "IE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "IE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "IE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "IE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "IE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "IE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "IE_SCLN",
154 "label": ";",
155 }
156 "KC_QUOT": {
157 "key": "IE_QUOT",
158 "label": "'",
159 }
160 "KC_NUHS": {
161 "key": "IE_HASH",
162 "label": "#",
163 }
164 "KC_NUBS": {
165 "key": "IE_BSLS",
166 "label": "\\",
167 }
168 "KC_Z": {
169 "key": "IE_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "IE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "IE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "IE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "IE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "IE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "IE_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "IE_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "IE_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "IE_SLSH",
206 "label": "/",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ : │ @ │ ~ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ | │ │ │ │ │ │ │ │ < │ > │ ? │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(IE_GRV)": {
222 "key": "IE_NOT",
223 "label": "¬",
224 }
225 "S(IE_1)": {
226 "key": "IE_EXLM",
227 "label": "!",
228 }
229 "S(IE_2)": {
230 "key": "IE_DQUO",
231 "label": "\"",
232 }
233 "S(IE_3)": {
234 "key": "IE_PND",
235 "label": "£",
236 }
237 "S(IE_4)": {
238 "key": "IE_DLR",
239 "label": "$",
240 }
241 "S(IE_5)": {
242 "key": "IE_PERC",
243 "label": "%",
244 }
245 "S(IE_6)": {
246 "key": "IE_CIRC",
247 "label": "^",
248 }
249 "S(IE_7)": {
250 "key": "IE_AMPR",
251 "label": "&",
252 }
253 "S(IE_8)": {
254 "key": "IE_ASTR",
255 "label": "*",
256 }
257 "S(IE_9)": {
258 "key": "IE_LPRN",
259 "label": "(",
260 }
261 "S(IE_0)": {
262 "key": "IE_RPRN",
263 "label": ")",
264 }
265 "S(IE_MINS)": {
266 "key": "IE_UNDS",
267 "label": "_",
268 }
269 "S(IE_EQL)": {
270 "key": "IE_PLUS",
271 "label": "+",
272 }
273 "S(IE_LBRC)": {
274 "key": "IE_LCBR",
275 "label": "{",
276 }
277 "S(IE_RBRC)": {
278 "key": "IE_RCBR",
279 "label": "}",
280 }
281 "S(IE_SCLN)": {
282 "key": "IE_COLN",
283 "label": ":",
284 }
285 "S(IE_QUOT)": {
286 "key": "IE_AT",
287 "label": "@",
288 }
289 "S(IE_HASH)": {
290 "key": "IE_TILD",
291 "label": "~",
292 }
293 "S(IE_BSLS)": {
294 "key": "IE_PIPE",
295 "label": "|",
296 }
297 "S(IE_COMM)": {
298 "key": "IE_LABK",
299 "label": "<",
300 }
301 "S(IE_DOT)": {
302 "key": "IE_RABK",
303 "label": ">",
304 }
305 "S(IE_SLSH)": {
306 "key": "IE_QUES",
307 "label": "?",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ ¦ │ │ │ │ € │ │ │ │ │ │ │ │ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ │ │ É │ │ │ │ Ú │ Í │ Ó │ │ │ │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ Á │ │ │ │ │ │ │ │ │ │ ´ │ │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(IE_GRV)": {
323 "key": "IE_BRKP",
324 "label": "¦",
325 }
326 "ALGR(IE_4)": {
327 "key": "IE_EURO",
328 "label": "€",
329 }
330 "ALGR(IE_E)": {
331 "key": "IE_EACU",
332 "label": "É",
333 }
334 "ALGR(IE_U)": {
335 "key": "IE_UACU",
336 "label": "Ú",
337 }
338 "ALGR(IE_I)": {
339 "key": "IE_IACU",
340 "label": "Í",
341 }
342 "ALGR(IE_O)": {
343 "key": "IE_OACU",
344 "label": "Ó",
345 }
346 "ALGR(IE_A)": {
347 "key": "IE_AACU",
348 "label": "Á",
349 }
350 "ALGR(IE_QUOT)": {
351 "key": "IE_ACUT",
352 "label": "´ (dead)",
353 }
354 }
355} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson
new file mode 100644
index 0000000000..951c564f62
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson
@@ -0,0 +1,364 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "IT_BSLS",
18 "label": "\\",
19 }
20 "KC_1": {
21 "key": "IT_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "IT_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "IT_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "IT_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "IT_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "IT_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "IT_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "IT_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "IT_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "IT_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "IT_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "IT_IGRV",
66 "label": "ì",
67 }
68 "KC_Q": {
69 "key": "IT_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "IT_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "IT_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "IT_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "IT_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "IT_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "IT_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "IT_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "IT_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "IT_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "IT_EGRV",
110 "label": "è",
111 }
112 "KC_RBRC": {
113 "key": "IT_PLUS",
114 "label": "+",
115 }
116 "KC_A": {
117 "key": "IT_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "IT_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "IT_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "IT_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "IT_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "IT_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "IT_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "IT_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "IT_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "IT_OGRV",
154 "label": "ò",
155 }
156 "KC_QUOT": {
157 "key": "IT_AGRV",
158 "label": "à",
159 }
160 "KC_NUHS": {
161 "key": "IT_UGRV",
162 "label": "ù",
163 }
164 "KC_NUBS": {
165 "key": "IT_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "IT_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "IT_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "IT_C",
178 "label": "C",
179 }
180 "KC_B": {
181 "key": "IT_B",
182 "label": "B",
183 }
184 "KC_V": {
185 "key": "IT_V",
186 "label": "V",
187 }
188 "KC_N": {
189 "key": "IT_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "IT_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "IT_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "IT_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "IT_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(IT_BSLS)": {
222 "key": "IT_PIPE",
223 "label": "|",
224 }
225 "S(IT_1)": {
226 "key": "IT_EXLM",
227 "label": "!",
228 }
229 "S(IT_2)": {
230 "key": "IT_DQUO",
231 "label": "\"",
232 }
233 "S(IT_3)": {
234 "key": "IT_PND",
235 "label": "£",
236 }
237 "S(IT_4)": {
238 "key": "IT_DLR",
239 "label": "$",
240 }
241 "S(IT_5)": {
242 "key": "IT_PERC",
243 "label": "%",
244 }
245 "S(IT_6)": {
246 "key": "IT_AMPR",
247 "label": "&",
248 }
249 "S(IT_7)": {
250 "key": "IT_SLSH",
251 "label": "/",
252 }
253 "S(IT_8)": {
254 "key": "IT_LPRN",
255 "label": "(",
256 }
257 "S(IT_9)": {
258 "key": "IT_RPRN",
259 "label": ")",
260 }
261 "S(IT_0)": {
262 "key": "IT_EQL",
263 "label": "=",
264 }
265 "S(IT_QUOT)": {
266 "key": "IT_QUES",
267 "label": "?",
268 }
269 "S(IT_IGRV)": {
270 "key": "IT_CIRC",
271 "label": "^",
272 }
273 "S(IT_EGRV)": {
274 "key": "IT_EACU",
275 "label": "é",
276 }
277 "S(IT_PLUS)": {
278 "key": "IT_ASTR",
279 "label": "*",
280 }
281 "S(IT_OGRV)": {
282 "key": "IT_CCED",
283 "label": "ç",
284 }
285 "S(IT_AGRV)": {
286 "key": "IT_DEG",
287 "label": "°",
288 }
289 "S(IT_UGRV)": {
290 "key": "IT_SECT",
291 "label": "§",
292 }
293 "S(IT_LABK)": {
294 "key": "IT_RABK",
295 "label": ">",
296 }
297 "S(IT_DOT)": {
298 "key": "IT_COLN",
299 "label": ":",
300 }
301 "S(IT_COMM)": {
302 "key": "IT_SCLN",
303 "label": ";",
304 }
305 "S(IT_MINS)": {
306 "key": "IT_UNDS",
307 "label": "_",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ │ │ │ │ │ │ │ │ │ @ │ # │ │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(IT_E)": {
323 "key": "IT_EURO",
324 "label": "€",
325 }
326 "ALGR(IT_EGRV)": {
327 "key": "IT_LBRC",
328 "label": "[",
329 }
330 "ALGR(IT_PLUS)": {
331 "key": "IT_RBRC",
332 "label": "]",
333 }
334 "ALGR(IT_OGRV)": {
335 "key": "IT_AT",
336 "label": "@",
337 }
338 "ALGR(IT_AGRV)": {
339 "key": "IT_HASH",
340 "label": "#",
341 }
342/* Shift+AltGr symbols
343 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
344 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
345 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
346 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
347 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
348 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
349 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
350 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
351 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
352 * │ │ │ │ │ │ │ │ │
353 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
354 */
355 "S(ALGR(IT_EGRV))": {
356 "key": "IT_LCBR",
357 "label": "{",
358 }
359 "S(ALGR(IT_PLUS))": {
360 "key": "IT_RCBR",
361 "label": "}",
362 }
363 }
364} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson
new file mode 100644
index 0000000000..328755ca67
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson
@@ -0,0 +1,684 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ ù │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "IT_LABK",
18 "label": "<",
19 }
20 "KC_1": {
21 "key": "IT_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "IT_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "IT_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "IT_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "IT_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "IT_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "IT_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "IT_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "IT_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "IT_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "IT_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "IT_IGRV",
66 "label": "ì",
67 }
68 "KC_Q": {
69 "key": "IT_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "IT_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "IT_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "IT_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "IT_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "IT_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "IT_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "IT_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "IT_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "IT_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "IT_EGRV",
110 "label": "è",
111 }
112 "KC_RBRC": {
113 "key": "IT_PLUS",
114 "label": "+",
115 }
116 "KC_BSLS": {
117 "key": "IT_UGRV",
118 "label": "ù",
119 }
120 "KC_A": {
121 "key": "IT_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "IT_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "IT_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "IT_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "IT_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "IT_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "IT_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "IT_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "IT_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "IT_OGRV",
158 "label": "ò",
159 }
160 "KC_QUOT": {
161 "key": "IT_AGRV",
162 "label": "à",
163 }
164 "KC_NUBS": {
165 "key": "IT_BSLS",
166 "label": "(backslash, not physically present)",
167 }
168 "KC_Z": {
169 "key": "IT_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "IT_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "IT_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "IT_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "IT_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "IT_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "IT_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "IT_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "IT_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "IT_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
210 * │ > │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ § │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
214 * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ │
215 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
216 * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
218 * │ │ │ │ │ │ │ │
219 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
220 */
221 "S(IT_LABK)": {
222 "key": "IT_RABK",
223 "label": ">",
224 }
225 "S(IT_1)": {
226 "key": "IT_EXLM",
227 "label": "!",
228 }
229 "S(IT_2)": {
230 "key": "IT_DQUO",
231 "label": "\"",
232 }
233 "S(IT_3)": {
234 "key": "IT_PND",
235 "label": "£",
236 }
237 "S(IT_4)": {
238 "key": "IT_DLR",
239 "label": "$",
240 }
241 "S(IT_5)": {
242 "key": "IT_PERC",
243 "label": "%",
244 }
245 "S(IT_6)": {
246 "key": "IT_AMPR",
247 "label": "&",
248 }
249 "S(IT_7)": {
250 "key": "IT_SLSH",
251 "label": "/",
252 }
253 "S(IT_8)": {
254 "key": "IT_LPRN",
255 "label": "(",
256 }
257 "S(IT_9)": {
258 "key": "IT_RPRN",
259 "label": ")",
260 }
261 "S(IT_0)": {
262 "key": "IT_EQL",
263 "label": "=",
264 }
265 "S(IT_QUOT)": {
266 "key": "IT_QUES",
267 "label": "?",
268 }
269 "S(IT_IGRV)": {
270 "key": "IT_CIRC",
271 "label": "^",
272 }
273 "S(IT_EGRV)": {
274 "key": "IT_EACU",
275 "label": "é",
276 }
277 "S(IT_PLUS)": {
278 "key": "IT_ASTR",
279 "label": "*",
280 }
281 "S(IT_UGRV)": {
282 "key": "IT_SECT",
283 "label": "§",
284 }
285 "S(IT_OGRV)": {
286 "key": "IT_LCCE",
287 "label": "ç",
288 }
289 "S(IT_AGRV)": {
290 "key": "IT_DEG",
291 "label": "°",
292 }
293 "S(IT_BSLS)": {
294 "key": "IT_PIPE",
295 "label": "| (not physically present)",
296 }
297 "S(IT_COMM)": {
298 "key": "IT_SCLN",
299 "label": ";",
300 }
301 "S(IT_DOT)": {
302 "key": "IT_COLN",
303 "label": ":",
304 }
305 "S(IT_MINS)": {
306 "key": "IT_UNDS",
307 "label": "_",
308 }
309/* Alted symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
311 * │ ≤ │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
313 * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ ¶ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
315 * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ │
316 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
317 * │ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
318 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
319 * │ │ │ │ │ │ │ │
320 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
321 */
322 "A(IT_LABK)": {
323 "key": "IT_LTEQ",
324 "label": "≤",
325 }
326 "A(IT_1)": {
327 "key": "IT_LDAQ",
328 "label": "«",
329 }
330 "A(IT_2)": {
331 "key": "IT_LDQU",
332 "label": "“",
333 }
334 "A(IT_3)": {
335 "key": "IT_LSQU",
336 "label": "‘",
337 }
338 "A(IT_4)": {
339 "key": "IT_YEN",
340 "label": "¥",
341 }
342 "A(IT_5)": {
343 "key": "IT_TILD",
344 "label": "~",
345 }
346 "A(IT_6)": {
347 "key": "IT_LSAQ",
348 "label": "‹",
349 }
350 "A(IT_7)": {
351 "key": "IT_DIV",
352 "label": "÷",
353 }
354 "A(IT_8)": {
355 "key": "IT_ACUT",
356 "label": "´ (dead)",
357 }
358 "A(IT_9)": {
359 "key": "IT_DGRV",
360 "label": "` (dead)",
361 }
362 "A(IT_0)": {
363 "key": "IT_NEQL",
364 "label": "≠",
365 }
366 "A(IT_QUOT)": {
367 "key": "IT_IEXL",
368 "label": "¡",
369 }
370 "A(IT_IGRV)": {
371 "key": "IT_DCIR",
372 "label": "ˆ (dead)",
373 }
374 "A(IT_Q)": {
375 "key": "IT_DLQU",
376 "label": "„",
377 }
378 "A(IT_W)": {
379 "key": "IT_OMEG",
380 "label": "Ω",
381 }
382 "A(IT_E)": {
383 "key": "IT_EURO",
384 "label": "€",
385 }
386 "A(IT_R)": {
387 "key": "IT_REGD",
388 "label": "®",
389 }
390 "A(IT_T)": {
391 "key": "IT_TM",
392 "label": "™",
393 }
394 "A(IT_Y)": {
395 "key": "IT_AE",
396 "label": "Æ",
397 }
398 "A(IT_U)": {
399 "key": "IT_DIAE",
400 "label": "¨ (dead)",
401 }
402 "A(IT_I)": {
403 "key": "IT_OE",
404 "label": "Œ",
405 }
406 "A(IT_O)": {
407 "key": "IT_OSTR",
408 "label": "Ø",
409 }
410 "A(IT_P)": {
411 "key": "IT_PI",
412 "label": "π",
413 }
414 "A(IT_EGRV)": {
415 "key": "IT_LBRC",
416 "label": "[",
417 }
418 "A(IT_PLUS)": {
419 "key": "IT_RBRC",
420 "label": "]",
421 }
422 "A(IT_A)": {
423 "key": "IT_ARNG",
424 "label": "Å",
425 }
426 "A(IT_S)": {
427 "key": "IT_SS",
428 "label": "ß",
429 }
430 "A(IT_D)": {
431 "key": "IT_PDIF",
432 "label": "∂",
433 }
434 "A(IT_F)": {
435 "key": "IT_FHK",
436 "label": "ƒ",
437 }
438 "A(IT_G)": {
439 "key": "IT_INFN",
440 "label": "∞",
441 }
442 "A(IT_H)": {
443 "key": "IT_INCR",
444 "label": "∆",
445 }
446 "A(IT_J)": {
447 "key": "IT_FORD",
448 "label": "ª",
449 }
450 "A(IT_K)": {
451 "key": "IT_MORD",
452 "label": "º",
453 }
454 "A(IT_L)": {
455 "key": "IT_NOT",
456 "label": "¬",
457 }
458 "A(IT_OGRV)": {
459 "key": "IT_AT",
460 "label": "@",
461 }
462 "A(IT_AGRV)": {
463 "key": "IT_HASH",
464 "label": "#",
465 }
466 "A(IT_UGRV)": {
467 "key": "IT_PILC",
468 "label": "¶",
469 }
470 "A(IT_BSLS)": {
471 "key": "IT_GRV",
472 "label": "` (not physically present)",
473 }
474 "A(IT_Z)": {
475 "key": "IT_NARS",
476 "label": "∑",
477 }
478 "A(IT_X)": {
479 "key": "IT_DAGG",
480 "label": "†",
481 }
482 "A(IT_C)": {
483 "key": "IT_COPY",
484 "label": "©",
485 }
486 "A(IT_V)": {
487 "key": "IT_SQRT",
488 "label": "√",
489 }
490 "A(IT_B)": {
491 "key": "IT_INTG",
492 "label": "∫",
493 }
494 "A(IT_N)": {
495 "key": "IT_STIL",
496 "label": "˜ (dead)",
497 }
498 "A(IT_M)": {
499 "key": "IT_MICR",
500 "label": "µ",
501 }
502 "A(IT_COMM)": {
503 "key": "IT_ELLP",
504 "label": "…",
505 }
506 "A(IT_DOT)": {
507 "key": "IT_BULT",
508 "label": "•",
509 }
510 "A(IT_MINS)": {
511 "key": "IT_NDSH",
512 "label": "–",
513 }
514/* Shift+Alted symbols
515 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
516 * │ ≥ │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
517 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
518 * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ ◊ │
519 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
520 * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ ∞ │ │
521 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
522 * │ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
523 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
524 * │ │ │ │ │ │ │ │
525 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
526 */
527 "S(A(IT_LABK))": {
528 "key": "IT_GTEQ",
529 "label": "≥",
530 }
531 "S(A(IT_1))": {
532 "key": "IT_RDAQ",
533 "label": "»",
534 }
535 "S(A(IT_2))": {
536 "key": "IT_RDQU",
537 "label": "”",
538 }
539 "S(A(IT_3))": {
540 "key": "IT_RSQU",
541 "label": "’",
542 }
543 "S(A(IT_4))": {
544 "key": "IT_CENT",
545 "label": "¢",
546 }
547 "S(A(IT_5))": {
548 "key": "IT_PERM",
549 "label": "‰",
550 }
551 "S(A(IT_6))": {
552 "key": "IT_RSAQ",
553 "label": "›",
554 }
555 "S(A(IT_7))": {
556 "key": "IT_FRSL",
557 "label": "⁄",
558 }
559 "S(A(IT_8))": {
560 "key": "IT_APPL",
561 "label": " (Apple logo)",
562 }
563 "S(A(IT_0))": {
564 "key": "IT_AEQL",
565 "label": "≈",
566 }
567 "S(A(IT_QUOT))": {
568 "key": "IT_IQUE",
569 "label": "¿",
570 }
571 "S(A(IT_IGRV))": {
572 "key": "IT_PLMN",
573 "label": "±",
574 }
575 "S(A(IT_Q))": {
576 "key": "IT_SLQU",
577 "label": "‚",
578 }
579 "S(A(IT_W))": {
580 "key": "IT_CAGR",
581 "label": "À",
582 }
583 "S(A(IT_E))": {
584 "key": "IT_CEGR",
585 "label": "È",
586 }
587 "S(A(IT_R))": {
588 "key": "IT_CIGR",
589 "label": "Ì",
590 }
591 "S(A(IT_T))": {
592 "key": "IT_COGR",
593 "label": "Ò",
594 }
595 "S(A(IT_U))": {
596 "key": "IT_CUGR",
597 "label": "Ù",
598 }
599 "S(A(IT_P))": {
600 "key": "IT_NARP",
601 "label": "∏",
602 }
603 "S(A(IT_EGRV))": {
604 "key": "IT_LCBR",
605 "label": "{",
606 }
607 "S(A(IT_PLUS))": {
608 "key": "IT_RCBR",
609 "label": "}",
610 }
611 "S(A(IT_UGRV))": {
612 "key": "IT_LOZN",
613 "label": "◊",
614 }
615 "S(A(IT_S))": {
616 "key": "IT_MACR",
617 "label": "¯",
618 }
619 "S(A(IT_D))": {
620 "key": "IT_BREV",
621 "label": "˘",
622 }
623 "S(A(IT_F))": {
624 "key": "IT_DOTA",
625 "label": "˙",
626 }
627 "S(A(IT_G))": {
628 "key": "IT_RGNA",
629 "label": "˚",
630 }
631 "S(A(IT_H))": {
632 "key": "IT_CEDL",
633 "label": "¸",
634 }
635 "S(A(IT_J))": {
636 "key": "IT_DACU",
637 "label": "˝",
638 }
639 "S(A(IT_K))": {
640 "key": "IT_OGON",
641 "label": "˛",
642 }
643 "S(A(IT_L))": {
644 "key": "IT_CARN",
645 "label": "ˇ",
646 }
647 "S(A(IT_OGRV))": {
648 "key": "IT_CCCE",
649 "label": "Ç",
650 }
651 "S(A(IT_X))": {
652 "key": "IT_DDAG",
653 "label": "‡",
654 }
655 "S(A(IT_C))": {
656 "key": "IT_CAAC",
657 "label": "Á",
658 }
659 "S(A(IT_V))": {
660 "key": "IT_CEAC",
661 "label": "É",
662 }
663 "S(A(IT_B))": {
664 "key": "IT_CIAC",
665 "label": "Í",
666 }
667 "S(A(IT_N))": {
668 "key": "IT_COAC",
669 "label": "Ó",
670 }
671 "S(A(IT_M))": {
672 "key": "IT_CUAC",
673 "label": "Ú",
674 }
675 "S(A(IT_DOT))": {
676 "key": "IT_MDDT",
677 "label": "·",
678 }
679 "S(A(IT_MINS))": {
680 "key": "IT_MDSH",
681 "label": "—",
682 }
683 }
684} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson
new file mode 100644
index 0000000000..4beccd804a
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson
@@ -0,0 +1,688 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "IT_BSLS",
18 "label": "\\",
19 }
20 "KC_1": {
21 "key": "IT_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "IT_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "IT_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "IT_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "IT_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "IT_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "IT_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "IT_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "IT_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "IT_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "IT_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "IT_IGRV",
66 "label": "ì",
67 }
68 "KC_Q": {
69 "key": "IT_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "IT_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "IT_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "IT_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "IT_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "IT_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "IT_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "IT_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "IT_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "IT_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "IT_EGRV",
110 "label": "è",
111 }
112 "KC_RBRC": {
113 "key": "IT_PLUS",
114 "label": "+",
115 }
116 "KC_A": {
117 "key": "IT_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "IT_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "IT_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "IT_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "IT_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "IT_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "IT_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "IT_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "IT_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "IT_OGRV",
154 "label": "ò",
155 }
156 "KC_QUOT": {
157 "key": "IT_AGRV",
158 "label": "à",
159 }
160 "KC_NUHS": {
161 "key": "IT_UGRV",
162 "label": "ù",
163 }
164 "KC_NUBS": {
165 "key": "IT_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "IT_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "IT_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "IT_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "IT_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "IT_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "IT_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "IT_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "IT_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "IT_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "IT_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
210 * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
218 * │ │ │ │ │ │ │ │
219 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
220 */
221 "S(IT_BSLS)": {
222 "key": "IT_PIPE",
223 "label": "|",
224 }
225 "S(IT_1)": {
226 "key": "IT_EXLM",
227 "label": "!",
228 }
229 "S(IT_2)": {
230 "key": "IT_DQUO",
231 "label": "\"",
232 }
233 "S(IT_3)": {
234 "key": "IT_PND",
235 "label": "£",
236 }
237 "S(IT_4)": {
238 "key": "IT_DLR",
239 "label": "$",
240 }
241 "S(IT_5)": {
242 "key": "IT_PERC",
243 "label": "%",
244 }
245 "S(IT_6)": {
246 "key": "IT_AMPR",
247 "label": "&",
248 }
249 "S(IT_7)": {
250 "key": "IT_SLSH",
251 "label": "/",
252 }
253 "S(IT_8)": {
254 "key": "IT_LPRN",
255 "label": "(",
256 }
257 "S(IT_9)": {
258 "key": "IT_RPRN",
259 "label": ")",
260 }
261 "S(IT_0)": {
262 "key": "IT_EQL",
263 "label": "=",
264 }
265 "S(IT_QUOT)": {
266 "key": "IT_QUES",
267 "label": "?",
268 }
269 "S(IT_IGRV)": {
270 "key": "IT_CIRC",
271 "label": "^",
272 }
273 "S(IT_EGRV)": {
274 "key": "IT_EACU",
275 "label": "é",
276 }
277 "S(IT_PLUS)": {
278 "key": "IT_ASTR",
279 "label": "*",
280 }
281 "S(IT_OGRV)": {
282 "key": "IT_LCCE",
283 "label": "ç",
284 }
285 "S(IT_AGRV)": {
286 "key": "IT_DEG",
287 "label": "°",
288 }
289 "S(IT_UGRV)": {
290 "key": "IT_SECT",
291 "label": "§",
292 }
293 "S(IT_LABK)": {
294 "key": "IT_RABK",
295 "label": ">",
296 }
297 "S(IT_COMM)": {
298 "key": "IT_SCLN",
299 "label": ";",
300 }
301 "S(IT_DOT)": {
302 "key": "IT_COLN",
303 "label": ":",
304 }
305 "S(IT_MINS)": {
306 "key": "IT_UNDS",
307 "label": "_",
308 }
309/* Alted symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
311 * │ ` │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
313 * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ ¶ │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
317 * │ │ ≤ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
318 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
319 * │ │ │ │ │ │ │ │
320 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
321 */
322 "A(IT_BSLS)": {
323 "key": "IT_GRV",
324 "label": "`",
325 }
326 "A(IT_1)": {
327 "key": "IT_LDAQ",
328 "label": "«",
329 }
330 "A(IT_2)": {
331 "key": "IT_LDQU",
332 "label": "“",
333 }
334 "A(IT_3)": {
335 "key": "IT_LSQU",
336 "label": "‘",
337 }
338 "A(IT_4)": {
339 "key": "IT_YEN",
340 "label": "¥",
341 }
342 "A(IT_5)": {
343 "key": "IT_TILD",
344 "label": "~",
345 }
346 "A(IT_6)": {
347 "key": "IT_LSAQ",
348 "label": "‹",
349 }
350 "A(IT_7)": {
351 "key": "IT_DIV",
352 "label": "÷",
353 }
354 "A(IT_8)": {
355 "key": "IT_ACUT",
356 "label": "´ (dead)",
357 }
358 "A(IT_9)": {
359 "key": "IT_DGRV",
360 "label": "` (dead)",
361 }
362 "A(IT_0)": {
363 "key": "IT_NEQL",
364 "label": "≠",
365 }
366 "A(IT_QUOT)": {
367 "key": "IT_IEXL",
368 "label": "¡",
369 }
370 "A(IT_IGRV)": {
371 "key": "IT_DCIR",
372 "label": "ˆ (dead)",
373 }
374 "A(IT_Q)": {
375 "key": "IT_DLQU",
376 "label": "„",
377 }
378 "A(IT_W)": {
379 "key": "IT_OMEG",
380 "label": "Ω",
381 }
382 "A(IT_E)": {
383 "key": "IT_EURO",
384 "label": "€",
385 }
386 "A(IT_R)": {
387 "key": "IT_REGD",
388 "label": "®",
389 }
390 "A(IT_T)": {
391 "key": "IT_TM",
392 "label": "™",
393 }
394 "A(IT_Y)": {
395 "key": "IT_AE",
396 "label": "Æ",
397 }
398 "A(IT_U)": {
399 "key": "IT_DIAE",
400 "label": "¨ (dead)",
401 }
402 "A(IT_I)": {
403 "key": "IT_OE",
404 "label": "Œ",
405 }
406 "A(IT_O)": {
407 "key": "IT_OSTR",
408 "label": "Ø",
409 }
410 "A(IT_P)": {
411 "key": "IT_PI",
412 "label": "π",
413 }
414 "A(IT_EGRV)": {
415 "key": "IT_LBRC",
416 "label": "[",
417 }
418 "A(IT_PLUS)": {
419 "key": "IT_RBRC",
420 "label": "]",
421 }
422 "A(IT_A)": {
423 "key": "IT_ARNG",
424 "label": "Å",
425 }
426 "A(IT_S)": {
427 "key": "IT_SS",
428 "label": "ß",
429 }
430 "A(IT_D)": {
431 "key": "IT_PDIF",
432 "label": "∂",
433 }
434 "A(IT_F)": {
435 "key": "IT_FHK",
436 "label": "ƒ",
437 }
438 "A(IT_G)": {
439 "key": "IT_INFN",
440 "label": "∞",
441 }
442 "A(IT_H)": {
443 "key": "IT_INCR",
444 "label": "∆",
445 }
446 "A(IT_J)": {
447 "key": "IT_FORD",
448 "label": "ª",
449 }
450 "A(IT_K)": {
451 "key": "IT_MORD",
452 "label": "º",
453 }
454 "A(IT_L)": {
455 "key": "IT_NOT",
456 "label": "¬",
457 }
458 "A(IT_OGRV)": {
459 "key": "IT_AT",
460 "label": "@",
461 }
462 "A(IT_AGRV)": {
463 "key": "IT_HASH",
464 "label": "#",
465 }
466 "A(IT_UGRV)": {
467 "key": "IT_PILC",
468 "label": "¶",
469 }
470 "A(IT_LABK)": {
471 "key": "IT_LTEQ",
472 "label": "≤",
473 }
474 "A(IT_Z)": {
475 "key": "IT_NARS",
476 "label": "∑",
477 }
478 "A(IT_X)": {
479 "key": "IT_DAGG",
480 "label": "†",
481 }
482 "A(IT_C)": {
483 "key": "IT_COPY",
484 "label": "©",
485 }
486 "A(IT_V)": {
487 "key": "IT_SQRT",
488 "label": "√",
489 }
490 "A(IT_B)": {
491 "key": "IT_INTG",
492 "label": "∫",
493 }
494 "A(IT_N)": {
495 "key": "IT_STIL",
496 "label": "˜ (dead)",
497 }
498 "A(IT_M)": {
499 "key": "IT_MICR",
500 "label": "µ",
501 }
502 "A(IT_COMM)": {
503 "key": "IT_ELLP",
504 "label": "…",
505 }
506 "A(IT_DOT)": {
507 "key": "IT_BULT",
508 "label": "•",
509 }
510 "A(IT_MINS)": {
511 "key": "IT_NDSH",
512 "label": "–",
513 }
514/* Shift+Alted symbols
515 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
516 * │ ı │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
517 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
518 * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ │
519 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
520 * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ │ ◊ │ │
521 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
522 * │ │ ≥ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
523 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
524 * │ │ │ │ │ │ │ │
525 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
526 */
527 "S(A(IT_BSLS))": {
528 "key": "IT_DLSI",
529 "label": "ı",
530 }
531 "S(A(IT_1))": {
532 "key": "IT_RDAQ",
533 "label": "»",
534 }
535 "S(A(IT_2))": {
536 "key": "IT_RDQU",
537 "label": "”",
538 }
539 "S(A(IT_3))": {
540 "key": "IT_RSQU",
541 "label": "’",
542 }
543 "S(A(IT_4))": {
544 "key": "IT_CENT",
545 "label": "¢",
546 }
547 "S(A(IT_5))": {
548 "key": "IT_PERM",
549 "label": "‰",
550 }
551 "S(A(IT_6))": {
552 "key": "IT_RSAQ",
553 "label": "›",
554 }
555 "S(A(IT_7))": {
556 "key": "IT_FRSL",
557 "label": "⁄",
558 }
559 "S(A(IT_8))": {
560 "key": "IT_APPL",
561 "label": " (Apple logo)",
562 }
563 "S(A(IT_0))": {
564 "key": "IT_AEQL",
565 "label": "≈",
566 }
567 "S(A(IT_QUOT))": {
568 "key": "IT_IQUE",
569 "label": "¿",
570 }
571 "S(A(IT_IGRV))": {
572 "key": "IT_PLMN",
573 "label": "±",
574 }
575 "S(A(IT_Q))": {
576 "key": "IT_SLQU",
577 "label": "‚",
578 }
579 "S(A(IT_W))": {
580 "key": "IT_CAGR",
581 "label": "À",
582 }
583 "S(A(IT_E))": {
584 "key": "IT_CEGR",
585 "label": "È",
586 }
587 "S(A(IT_R))": {
588 "key": "IT_CIGR",
589 "label": "Ì",
590 }
591 "S(A(IT_T))": {
592 "key": "IT_COGR",
593 "label": "Ò",
594 }
595 "S(A(IT_U))": {
596 "key": "IT_CUGR",
597 "label": "Ù",
598 }
599 "S(A(IT_P))": {
600 "key": "IT_NARP",
601 "label": "∏",
602 }
603 "S(A(IT_EGRV))": {
604 "key": "IT_LCBR",
605 "label": "{",
606 }
607 "S(A(IT_PLUS))": {
608 "key": "IT_RCBR",
609 "label": "}",
610 }
611 "S(A(IT_S))": {
612 "key": "IT_MACR",
613 "label": "¯",
614 }
615 "S(A(IT_D))": {
616 "key": "IT_BREV",
617 "label": "˘",
618 }
619 "S(A(IT_F))": {
620 "key": "IT_DOTA",
621 "label": "˙",
622 }
623 "S(A(IT_G))": {
624 "key": "IT_RNGA",
625 "label": "˚",
626 }
627 "S(A(IT_H))": {
628 "key": "IT_CEDL",
629 "label": "¸",
630 }
631 "S(A(IT_J))": {
632 "key": "IT_DACU",
633 "label": "˝",
634 }
635 "S(A(IT_K))": {
636 "key": "IT_OGON",
637 "label": "˛",
638 }
639 "S(A(IT_L))": {
640 "key": "IT_CARN",
641 "label": "ˇ",
642 }
643 "S(A(IT_OGRV))": {
644 "key": "IT_CCCE",
645 "label": "Ç",
646 }
647 "S(A(IT_UGRV))": {
648 "key": "IT_LOZN",
649 "label": "◊",
650 }
651 "S(A(IT_LABK))": {
652 "key": "IT_GTEQ",
653 "label": "≥",
654 }
655 "S(A(IT_X))": {
656 "key": "IT_DDAG",
657 "label": "‡",
658 }
659 "S(A(IT_C))": {
660 "key": "IT_CAAC",
661 "label": "Á",
662 }
663 "S(A(IT_V))": {
664 "key": "IT_CEAC",
665 "label": "É",
666 }
667 "S(A(IT_B))": {
668 "key": "IT_CIAC",
669 "label": "Í",
670 }
671 "S(A(IT_N))": {
672 "key": "IT_COAC",
673 "label": "Ó",
674 }
675 "S(A(IT_M))": {
676 "key": "IT_CUAC",
677 "label": "Ú",
678 }
679 "S(A(IT_DOT))": {
680 "key": "IT_MDDT",
681 "label": "·",
682 }
683 "S(A(IT_MINS))": {
684 "key": "IT_MDSH",
685 "label": "—",
686 }
687 }
688} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson
new file mode 100644
index 0000000000..d95712abd9
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson
@@ -0,0 +1,330 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
5 * │Z↔H│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ Eisū │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ │
12 * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
13 * │ │ │ │Muhen│ │ Hen │K↔H│ │ │ │ │
14 * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
15 */
16 "KC_GRV": {
17 "key": "JP_ZKHK",
18 "label": "Zenkaku ↔ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字)",
19 }
20 "KC_1": {
21 "key": "JP_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "JP_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "JP_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "JP_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "JP_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "JP_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "JP_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "JP_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "JP_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "JP_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "JP_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "JP_CIRC",
66 "label": "^",
67 }
68 "KC_INT3": {
69 "key": "JP_YEN",
70 "label": "¥",
71 }
72 "KC_Q": {
73 "key": "JP_Q",
74 "label": "Q",
75 }
76 "KC_W": {
77 "key": "JP_W",
78 "label": "W",
79 }
80 "KC_E": {
81 "key": "JP_E",
82 "label": "E",
83 }
84 "KC_R": {
85 "key": "JP_R",
86 "label": "R",
87 }
88 "KC_T": {
89 "key": "JP_T",
90 "label": "T",
91 }
92 "KC_Y": {
93 "key": "JP_Y",
94 "label": "Y",
95 }
96 "KC_U": {
97 "key": "JP_U",
98 "label": "U",
99 }
100 "KC_I": {
101 "key": "JP_I",
102 "label": "I",
103 }
104 "KC_O": {
105 "key": "JP_O",
106 "label": "O",
107 }
108 "KC_P": {
109 "key": "JP_P",
110 "label": "P",
111 }
112 "KC_LBRC": {
113 "key": "JP_AT",
114 "label": "@",
115 }
116 "KC_RBRC": {
117 "key": "JP_LBRC",
118 "label": "[",
119 }
120 "KC_CAPS": {
121 "key": "JP_EISU",
122 "label": "Eisū (英数)",
123 }
124 "KC_A": {
125 "key": "JP_A",
126 "label": "A",
127 }
128 "KC_S": {
129 "key": "JP_S",
130 "label": "S",
131 }
132 "KC_D": {
133 "key": "JP_D",
134 "label": "D",
135 }
136 "KC_F": {
137 "key": "JP_F",
138 "label": "F",
139 }
140 "KC_G": {
141 "key": "JP_G",
142 "label": "G",
143 }
144 "KC_H": {
145 "key": "JP_H",
146 "label": "H",
147 }
148 "KC_J": {
149 "key": "JP_J",
150 "label": "J",
151 }
152 "KC_K": {
153 "key": "JP_K",
154 "label": "K",
155 }
156 "KC_L": {
157 "key": "JP_L",
158 "label": "L",
159 }
160 "KC_SCLN": {
161 "key": "JP_SCLN",
162 "label": ";",
163 }
164 "KC_QUOT": {
165 "key": "JP_COLN",
166 "label": ":",
167 }
168 "KC_NUHS": {
169 "key": "JP_RBRC",
170 "label": "]",
171 }
172 "KC_Z": {
173 "key": "JP_Z",
174 "label": "Z",
175 }
176 "KC_X": {
177 "key": "JP_X",
178 "label": "X",
179 }
180 "KC_C": {
181 "key": "JP_C",
182 "label": "C",
183 }
184 "KC_V": {
185 "key": "JP_V",
186 "label": "V",
187 }
188 "KC_B": {
189 "key": "JP_B",
190 "label": "B",
191 }
192 "KC_N": {
193 "key": "JP_N",
194 "label": "N",
195 }
196 "KC_M": {
197 "key": "JP_M",
198 "label": "M",
199 }
200 "KC_COMM": {
201 "key": "JP_COMM",
202 "label": ",",
203 }
204 "KC_DOT": {
205 "key": "JP_DOT",
206 "label": ".",
207 }
208 "KC_SLSH": {
209 "key": "JP_SLSH",
210 "label": "/",
211 }
212 "KC_INT1": {
213 "key": "JP_BSLS",
214 "label": "\\",
215 }
216 "KC_INT5": {
217 "key": "JP_MHEN",
218 "label": "Muhenkan (無変換)",
219 }
220 "KC_INT4": {
221 "key": "JP_HENK",
222 "label": "Henkan (変換)",
223 }
224 "KC_INT2": {
225 "key": "JP_KANA",
226 "label": "Katakana ↔ Hiragana ↔ Rōmaji (カタカナ ↔ ひらがな ↔ ローマ字)",
227 }
228/* Shifted symbols
229 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
230 * │ │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ │ = │ ~ │ | │ │
231 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
232 * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
233 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
234 * │ Caps │ │ │ │ │ │ │ │ │ │ + │ * │ } │ │
235 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
236 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ _ │ │
237 * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
238 * │ │ │ │ │ │ │ │ │ │ │ │
239 * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
240 */
241 "S(JP_1)": {
242 "key": "JP_EXLM",
243 "label": "!",
244 }
245 "S(JP_2)": {
246 "key": "JP_DQUO",
247 "label": "\"",
248 }
249 "S(JP_3)": {
250 "key": "JP_HASH",
251 "label": "#",
252 }
253 "S(JP_4)": {
254 "key": "JP_DLR",
255 "label": "$",
256 }
257 "S(JP_5)": {
258 "key": "JP_PERC",
259 "label": "%",
260 }
261 "S(JP_6)": {
262 "key": "JP_AMPR",
263 "label": "&",
264 }
265 "S(JP_7)": {
266 "key": "JP_QUOT",
267 "label": "'",
268 }
269 "S(JP_8)": {
270 "key": "JP_LPRN",
271 "label": "(",
272 }
273 "S(JP_9)": {
274 "key": "JP_RPRN",
275 "label": ")",
276 }
277 "S(JP_MINS)": {
278 "key": "JP_EQL",
279 "label": "=",
280 }
281 "S(JP_CIRC)": {
282 "key": "JP_TILD",
283 "label": "~",
284 }
285 "S(JP_YEN)": {
286 "key": "JP_PIPE",
287 "label": "|",
288 }
289 "S(JP_AT)": {
290 "key": "JP_GRV",
291 "label": "`",
292 }
293 "S(JP_LBRC)": {
294 "key": "JP_LCBR",
295 "label": "{",
296 }
297 "S(JP_EISU)": {
298 "key": "JP_CAPS",
299 "label": "Caps Lock",
300 }
301 "S(JP_SCLN)": {
302 "key": "JP_PLUS",
303 "label": "+",
304 }
305 "S(JP_COLN)": {
306 "key": "JP_ASTR",
307 "label": "*",
308 }
309 "S(JP_RBRC)": {
310 "key": "JP_RCBR",
311 "label": "}",
312 }
313 "S(JP_COMM)": {
314 "key": "JP_LABK",
315 "label": "<",
316 }
317 "S(JP_DOT)": {
318 "key": "JP_RABK",
319 "label": ">",
320 }
321 "S(JP_SLSH)": {
322 "key": "JP_QUES",
323 "label": "?",
324 }
325 "S(JP_BSLS)": {
326 "key": "JP_UNDS",
327 "label": "_",
328 }
329 }
330} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson
new file mode 100644
index 0000000000..5ee19c9e4e
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson
@@ -0,0 +1,310 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ₩ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
13 * │ │ │ │Hnj│ │H↔Y│ │ │ │ │
14 * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
15 */
16 "KC_GRV": {
17 "key": "KR_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "KR_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "KR_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "KR_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "KR_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "KR_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "KR_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "KR_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "KR_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "KR_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "KR_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "KR_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "KR_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "KR_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "KR_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "KR_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "KR_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "KR_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "KR_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "KR_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "KR_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "KR_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "KR_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "KR_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "KR_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "KR_WON",
118 "label": "₩",
119 }
120 "KC_A": {
121 "key": "KR_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "KR_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "KR_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "KR_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "KR_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "KR_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "KR_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "KR_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "KR_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "KR_SCLN",
158 "label": ";",
159 }
160 "KC_QUOT": {
161 "key": "KR_QUOT",
162 "label": "'",
163 }
164 "KC_Z": {
165 "key": "KR_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "KR_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "KR_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "KR_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "KR_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "KR_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "KR_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "KR_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "KR_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "KR_SLSH",
202 "label": "/",
203 }
204 "KC_LNG2": {
205 "key": "KR_HANJ",
206 "label": "Hanja (한자)",
207 }
208 "KC_LNG1": {
209 "key": "KR_HAEN",
210 "label": "Han ↔ Yeong (한 ↔ 영)",
211 }
212/* Shifted symbols
213 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
214 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
215 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
216 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
217 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
218 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
219 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
220 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
221 * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
222 * │ │ │ │ │ │ │ │ │ │ │
223 * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
224 */
225 "S(KR_GRV)": {
226 "key": "KR_TILD",
227 "label": "~",
228 }
229 "S(KR_1)": {
230 "key": "KR_EXLM",
231 "label": "!",
232 }
233 "S(KR_2)": {
234 "key": "KR_AT",
235 "label": "@",
236 }
237 "S(KR_3)": {
238 "key": "KR_HASH",
239 "label": "#",
240 }
241 "S(KR_4)": {
242 "key": "KR_DLR",
243 "label": "$",
244 }
245 "S(KR_5)": {
246 "key": "KR_PERC",
247 "label": "%",
248 }
249 "S(KR_6)": {
250 "key": "KR_CIRC",
251 "label": "^",
252 }
253 "S(KR_7)": {
254 "key": "KR_AMPR",
255 "label": "&",
256 }
257 "S(KR_8)": {
258 "key": "KR_ASTR",
259 "label": "*",
260 }
261 "S(KR_9)": {
262 "key": "KR_LPRN",
263 "label": "(",
264 }
265 "S(KR_0)": {
266 "key": "KR_RPRN",
267 "label": ")",
268 }
269 "S(KR_MINS)": {
270 "key": "KR_UNDS",
271 "label": "_",
272 }
273 "S(KR_EQL)": {
274 "key": "KR_PLUS",
275 "label": "+",
276 }
277 "S(KR_LBRC)": {
278 "key": "KR_LCBR",
279 "label": "{",
280 }
281 "S(KR_RBRC)": {
282 "key": "KR_RCBR",
283 "label": "}",
284 }
285 "S(KR_WON)": {
286 "key": "KR_PIPE",
287 "label": "|",
288 }
289 "S(KR_SCLN)": {
290 "key": "KR_COLN",
291 "label": ":",
292 }
293 "S(KR_QUOT)": {
294 "key": "KR_DQUO",
295 "label": "\"",
296 }
297 "S(KR_COMM)": {
298 "key": "KR_LABK",
299 "label": "<",
300 }
301 "S(KR_DOT)": {
302 "key": "KR_RABK",
303 "label": ">",
304 }
305 "S(KR_SLSH)": {
306 "key": "KR_QUES",
307 "label": "?",
308 }
309 }
310} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson
new file mode 100644
index 0000000000..ab80f0fdd9
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson
@@ -0,0 +1,440 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "LV_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "LV_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "LV_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "LV_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "LV_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "LV_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "LV_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "LV_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "LV_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "LV_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "LV_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "LV_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "LV_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "LV_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "LV_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "LV_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "LV_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "LV_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "LV_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "LV_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "LV_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "LV_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "LV_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "LV_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "LV_RBRC",
114 "label": "]",
115 }
116 "KC_A": {
117 "key": "LV_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "LV_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "LV_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "LV_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "LV_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "LV_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "LV_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "LV_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "LV_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "LV_SCLN",
154 "label": ";",
155 }
156 "KC_QUOT": {
157 "key": "LV_QUOT",
158 "label": "' (dead)",
159 }
160 "KC_NUHS": {
161 "key": "LV_BSLS",
162 "label": "\\",
163 }
164 "KC_NUBS": {
165 "key": "LV_NUBS",
166 "label": "\\",
167 }
168 "KC_Z": {
169 "key": "LV_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "LV_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "LV_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "LV_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "LV_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "LV_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "LV_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "LV_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "LV_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "LV_SLSH",
206 "label": "/",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(LV_GRV)": {
222 "key": "LV_TILD",
223 "label": "~",
224 }
225 "S(LV_1)": {
226 "key": "LV_EXLM",
227 "label": "!",
228 }
229 "S(LV_2)": {
230 "key": "LV_AT",
231 "label": "@",
232 }
233 "S(LV_3)": {
234 "key": "LV_HASH",
235 "label": "#",
236 }
237 "S(LV_4)": {
238 "key": "LV_DLR",
239 "label": "$",
240 }
241 "S(LV_5)": {
242 "key": "LV_PERC",
243 "label": "%",
244 }
245 "S(LV_6)": {
246 "key": "LV_CIRC",
247 "label": "^",
248 }
249 "S(LV_7)": {
250 "key": "LV_AMPR",
251 "label": "&",
252 }
253 "S(LV_8)": {
254 "key": "LV_ASTR",
255 "label": "*",
256 }
257 "S(LV_9)": {
258 "key": "LV_LPRN",
259 "label": "(",
260 }
261 "S(LV_0)": {
262 "key": "LV_RPRN",
263 "label": ")",
264 }
265 "S(LV_MINS)": {
266 "key": "LV_UNDS",
267 "label": "_",
268 }
269 "S(LV_EQL)": {
270 "key": "LV_PLUS",
271 "label": "+",
272 }
273 "S(LV_LBRC)": {
274 "key": "LV_LCBR",
275 "label": "{",
276 }
277 "S(LV_RBRC)": {
278 "key": "LV_RCBR",
279 "label": "}",
280 }
281 "S(LV_SCLN)": {
282 "key": "LV_COLN",
283 "label": ":",
284 }
285 "S(LV_QUOT)": {
286 "key": "LV_DQUO",
287 "label": "\" (dead)",
288 }
289 "S(LV_BSLS)": {
290 "key": "LV_PIPE",
291 "label": "|",
292 }
293 "S(LV_COMM)": {
294 "key": "LV_LABK",
295 "label": "<",
296 }
297 "S(LV_DOT)": {
298 "key": "LV_RABK",
299 "label": ">",
300 }
301 "S(LV_SLSH)": {
302 "key": "LV_QUES",
303 "label": "?",
304 }
305/* AltGr symbols
306 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
307 * │ - │ │ « │ » │ € │ │ ’ │ │ │ │ │ – │ │ │
308 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
309 * │ │ │ │ Ē │ Ŗ │ │ │ Ū │ Ī │ Ō │ │ │ │ │
310 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
311 * │ │ Ā │ Š │ │ │ Ģ │ │ │ Ķ │ Ļ │ │ ´ │ │ │
312 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
313 * │ │ │ Ž │ │ Č │ │ │ Ņ │ │ │ │ │ │
314 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
315 * │ │ │ │ │ │ │ │ │
316 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
317 */
318 "ALGR(LV_GRV)": {
319 "key": "LV_SHYP",
320 "label": "­ (soft hyphen)",
321 }
322 "ALGR(LV_1)": {
323 "key": "LV_NBSP",
324 "label": "(non-breaking space)",
325 }
326 "ALGR(LV_2)": {
327 "key": "LV_LDAQ",
328 "label": "«",
329 }
330 "ALGR(LV_3)": {
331 "key": "LV_RDAQ",
332 "label": "»",
333 }
334 "ALGR(LV_4)": {
335 "key": "LV_EURO",
336 "label": "€",
337 }
338 "ALGR(LV_6)": {
339 "key": "LV_RSQU",
340 "label": "’",
341 }
342 "ALGR(LV_MINS)": {
343 "key": "LV_NDSH",
344 "label": "–",
345 }
346 "ALGR(LV_E)": {
347 "key": "LV_EMAC",
348 "label": "Ē",
349 }
350 "ALGR(LV_R)": {
351 "key": "LV_RCED",
352 "label": "Ŗ",
353 }
354 "ALGR(LV_U)": {
355 "key": "LV_UMAC",
356 "label": "Ū",
357 }
358 "ALGR(LV_I)": {
359 "key": "LV_IMAC",
360 "label": "Ī",
361 }
362 "ALGR(LV_O)": {
363 "key": "LV_OMAC",
364 "label": "Ō",
365 }
366 "ALGR(LV_A)": {
367 "key": "LV_AMAC",
368 "label": "Ā",
369 }
370 "ALGR(LV_S)": {
371 "key": "LV_SCAR",
372 "label": "Š",
373 }
374 "ALGR(LV_G)": {
375 "key": "LV_GCED",
376 "label": "Ģ",
377 }
378 "ALGR(LV_K)": {
379 "key": "LV_KCED",
380 "label": "Ķ",
381 }
382 "ALGR(LV_L)": {
383 "key": "LV_LCED",
384 "label": "Ļ",
385 }
386 "ALGR(LV_QUOT)": {
387 "key": "LV_ACUT",
388 "label": "´ (dead)",
389 }
390 "ALGR(LV_Z)": {
391 "key": "LV_ZCAR",
392 "label": "Ž",
393 }
394 "ALGR(LV_C)": {
395 "key": "LV_CCAR",
396 "label": "Č",
397 }
398 "ALGR(LV_N)": {
399 "key": "LV_NCED",
400 "label": "Ņ",
401 }
402/* Shift+AltGr symbols
403 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
404 * │ │ │ │ │ § │ ° │ │ ± │ × │ │ │ — │ │ │
405 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
406 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
407 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
408 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
409 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
410 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
411 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
412 * │ │ │ │ │ │ │ │ │
413 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
414 */
415 "S(ALGR(LV_4))": {
416 "key": "LV_SECT",
417 "label": "§",
418 }
419 "S(ALGR(LV_5))": {
420 "key": "LV_DEG",
421 "label": "°",
422 }
423 "S(ALGR(LV_7))": {
424 "key": "LV_PLMN",
425 "label": "±",
426 }
427 "S(ALGR(LV_8))": {
428 "key": "LV_MUL",
429 "label": "×",
430 }
431 "S(ALGR(LV_MINS))": {
432 "key": "LV_MDSH",
433 "label": "—",
434 }
435 "S(ALGR(LV_QUOT))": {
436 "key": "LV_DIAE",
437 "label": "¨ (dead)",
438 }
439 }
440} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson
new file mode 100644
index 0000000000..dfb527878e
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson
@@ -0,0 +1,375 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ ! │ - │ / │ ; │ : │ , │ . │ = │ ( │ ) │ ? │ X │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Ą │ Ž │ E │ R │ T │ Y │ U │ I │ O │ P │ Į │ W │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ Š │ G │ H │ J │ K │ L │ Ų │ Ė │ Q │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ Ū │ C │ V │ B │ N │ M │ Č │ F │ Ę │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "LT_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "LT_EXLM",
22 "label": "!",
23 }
24 "KC_2": {
25 "key": "LT_MINS",
26 "label": "-",
27 }
28 "KC_3": {
29 "key": "LT_SLSH",
30 "label": "/",
31 }
32 "KC_4": {
33 "key": "LT_SCLN",
34 "label": ";",
35 }
36 "KC_5": {
37 "key": "LT_COLN",
38 "label": ":",
39 }
40 "KC_6": {
41 "key": "LT_COMM",
42 "label": ",",
43 }
44 "KC_7": {
45 "key": "LT_DOT",
46 "label": ".",
47 }
48 "KC_8": {
49 "key": "LT_EQL",
50 "label": "=",
51 }
52 "KC_9": {
53 "key": "LT_LPRN",
54 "label": "(",
55 }
56 "KC_0": {
57 "key": "LT_RPRN",
58 "label": ")",
59 }
60 "KC_MINS": {
61 "key": "LT_QUES",
62 "label": "?",
63 }
64 "KC_EQL": {
65 "key": "LT_X",
66 "label": "X",
67 }
68 "KC_Q": {
69 "key": "LT_AOGO",
70 "label": "Ą",
71 }
72 "KC_W": {
73 "key": "LT_ZCAR",
74 "label": "Ž",
75 }
76 "KC_E": {
77 "key": "LT_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "LT_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "LT_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "LT_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "LT_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "LT_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "LT_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "LT_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "LT_IOGO",
110 "label": "Į",
111 }
112 "KC_RBRC": {
113 "key": "LT_W",
114 "label": "W",
115 }
116 "KC_A": {
117 "key": "LT_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "LT_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "LT_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "LT_SCAR",
130 "label": "Š",
131 }
132 "KC_G": {
133 "key": "LT_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "LT_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "LT_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "LT_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "LT_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "LT_UOGO",
154 "label": "Ų",
155 }
156 "KC_QUOT": {
157 "key": "LT_EDOT",
158 "label": "Ė",
159 }
160 "KC_NUHS": {
161 "key": "LT_Q",
162 "label": "Q",
163 }
164 "KC_NUBS": {
165 "key": "LT_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "LT_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "LT_UMAC",
174 "label": "Ū",
175 }
176 "KC_C": {
177 "key": "LT_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "LT_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "LT_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "LT_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "LT_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "LT_CCAR",
198 "label": "Č",
199 }
200 "KC_DOT": {
201 "key": "LT_F",
202 "label": "F",
203 }
204 "KC_SLSH": {
205 "key": "LT_EOGO",
206 "label": "Ę",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ │ │ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(LT_GRV)": {
222 "key": "LT_TILD",
223 "label": "~",
224 }
225 "S(LT_EXLM)": {
226 "key": "LT_1",
227 "label": "1",
228 }
229 "S(LT_MINS)": {
230 "key": "LT_2",
231 "label": "2",
232 }
233 "S(LT_SLSH)": {
234 "key": "LT_3",
235 "label": "3",
236 }
237 "S(LT_SCLN)": {
238 "key": "LT_4",
239 "label": "4",
240 }
241 "S(LT_COLN)": {
242 "key": "LT_5",
243 "label": "5",
244 }
245 "S(LT_COMM)": {
246 "key": "LT_6",
247 "label": "6",
248 }
249 "S(LT_DOT)": {
250 "key": "LT_7",
251 "label": "7",
252 }
253 "S(LT_EQL)": {
254 "key": "LT_8",
255 "label": "8",
256 }
257 "S(LT_LPRN)": {
258 "key": "LT_9",
259 "label": "9",
260 }
261 "S(LT_RPRN)": {
262 "key": "LT_0",
263 "label": "0",
264 }
265 "S(LT_QUES)": {
266 "key": "LT_PLUS",
267 "label": "+",
268 }
269 "S(LT_LABK)": {
270 "key": "LT_RABK",
271 "label": ">",
272 }
273/* AltGr symbols
274 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
275 * │ ´ │ @ │ _ │ # │ $ │ § │ ^ │ & │ * │ [ │ ] │ ' │ % │ │
276 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
277 * │ │ │ │ € │ │ │ │ │ │ │ │ { │ } │ │
278 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
279 * │ │ │ │ │ │ │ │ │ │ │ │ " │ | │ │
280 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
281 * │ │ – │ │ │ │ │ │ │ │ „ │ “ │ \ │ │
282 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
283 * │ │ │ │ │ │ │ │ │
284 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
285 */
286 "ALGR(LT_GRV)": {
287 "key": "LT_ACUT",
288 "label": "´",
289 }
290 "ALGR(LT_EXLM)": {
291 "key": "LT_AT",
292 "label": "@",
293 }
294 "ALGR(LT_MINS)": {
295 "key": "LT_UNDS",
296 "label": "_",
297 }
298 "ALGR(LT_SLSH)": {
299 "key": "LT_HASH",
300 "label": "#",
301 }
302 "ALGR(LT_SCLN)": {
303 "key": "LT_DLR",
304 "label": "$",
305 }
306 "ALGR(LT_COLN)": {
307 "key": "LT_SECT",
308 "label": "§",
309 }
310 "ALGR(LT_COMM)": {
311 "key": "LT_CIRC",
312 "label": "^",
313 }
314 "ALGR(LT_DOT)": {
315 "key": "LT_AMPR",
316 "label": "&",
317 }
318 "ALGR(LT_EQL)": {
319 "key": "LT_ASTR",
320 "label": "*",
321 }
322 "ALGR(LT_LPRN)": {
323 "key": "LT_LBRC",
324 "label": "[",
325 }
326 "ALGR(LT_RPRN)": {
327 "key": "LT_RBRC",
328 "label": "]",
329 }
330 "ALGR(LT_QUES)": {
331 "key": "LT_QUOT",
332 "label": "'",
333 }
334 "ALGR(LT_X)": {
335 "key": "LT_PERC",
336 "label": "%",
337 }
338 "ALGR(LT_E)": {
339 "key": "LT_EURO",
340 "label": "€",
341 }
342 "ALGR(LT_IOGO)": {
343 "key": "LT_LCBR",
344 "label": "{",
345 }
346 "ALGR(LT_W)": {
347 "key": "LT_RCBR",
348 "label": "}",
349 }
350 "ALGR(LT_EDOT)": {
351 "key": "LT_DQUO",
352 "label": "\"",
353 }
354 "ALGR(LT_Q)": {
355 "key": "LT_PIPE",
356 "label": "|",
357 }
358 "ALGR(LT_LABK)": {
359 "key": "LT_NDSH",
360 "label": "–",
361 }
362 "ALGR(LT_CCAR)": {
363 "key": "LT_DLQU",
364 "label": "„",
365 }
366 "ALGR(LT_F)": {
367 "key": "LT_LDQU",
368 "label": "“",
369 }
370 "ALGR(LT_EOGO)": {
371 "key": "LT_BSLS",
372 "label": "\\",
373 }
374 }
375} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson
new file mode 100644
index 0000000000..a4ea30d592
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson
@@ -0,0 +1,368 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ Ą │ Č │ Ę │ Ė │ Į │ Š │ Ų │ Ū │ 9 │ 0 │ - │ Ž │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "LT_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "LT_AOGO",
22 "label": "Ą",
23 }
24 "KC_2": {
25 "key": "LT_CCAR",
26 "label": "Č",
27 }
28 "KC_3": {
29 "key": "LT_EOGO",
30 "label": "Ę",
31 }
32 "KC_4": {
33 "key": "LT_EDOT",
34 "label": "Ė",
35 }
36 "KC_5": {
37 "key": "LT_IOGO",
38 "label": "Į",
39 }
40 "KC_6": {
41 "key": "LT_SCAR",
42 "label": "Š",
43 }
44 "KC_7": {
45 "key": "LT_UOGO",
46 "label": "Ų",
47 }
48 "KC_8": {
49 "key": "LT_UMAC",
50 "label": "Ū",
51 }
52 "KC_9": {
53 "key": "LT_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "LT_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "LT_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "LT_ZCAR",
66 "label": "Ž",
67 }
68 "KC_Q": {
69 "key": "LT_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "LT_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "LT_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "LT_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "LT_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "LT_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "LT_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "LT_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "LT_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "LT_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "LT_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "LT_RBRC",
114 "label": "]",
115 }
116 "KC_A": {
117 "key": "LT_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "LT_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "LT_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "LT_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "LT_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "LT_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "LT_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "LT_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "LT_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "LT_SCLN",
154 "label": ";",
155 }
156 "KC_QUOT": {
157 "key": "LT_QUOT",
158 "label": "'",
159 }
160 "KC_BSLS": {
161 "key": "LT_BSLS",
162 "label": "\\",
163 }
164 "KC_Z": {
165 "key": "LT_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "LT_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "LT_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "LT_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "LT_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "LT_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "LT_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "LT_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "LT_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "LT_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ │ │ │ │ │ │ │ │ ( │ ) │ _ │ │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(LT_GRV)": {
218 "key": "LT_TILD",
219 "label": "~",
220 }
221 "S(LT_9)": {
222 "key": "LT_LPRN",
223 "label": "(",
224 }
225 "S(LT_0)": {
226 "key": "LT_RPRN",
227 "label": ")",
228 }
229 "S(LT_MINS)": {
230 "key": "LT_UNDS",
231 "label": "_",
232 }
233 "S(LT_LBRC)": {
234 "key": "LT_LCBR",
235 "label": "{",
236 }
237 "S(LT_RBRC)": {
238 "key": "LT_RCBR",
239 "label": "}",
240 }
241 "S(LT_SCLN)": {
242 "key": "LT_COLN",
243 "label": ":",
244 }
245 "S(LT_QUOT)": {
246 "key": "LT_DQUO",
247 "label": "\"",
248 }
249 "S(LT_BSLS)": {
250 "key": "LT_PIPE",
251 "label": "|",
252 }
253 "S(LT_COMM)": {
254 "key": "LT_LABK",
255 "label": "<",
256 }
257 "S(LT_DOT)": {
258 "key": "LT_RABK",
259 "label": ">",
260 }
261 "S(LT_SLSH)": {
262 "key": "LT_QUES",
263 "label": "?",
264 }
265/* AltGr symbols
266 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
267 * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ │ │ │ = │ │
268 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
269 * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
270 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
271 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
272 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
273 * │ │ │ │ │ │ │ │ │ │ │ │ │
274 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
275 * │ │ │ │ │ │ │ │ │
276 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
277 */
278 "ALGR(LT_AOGO)": {
279 "key": "LT_1",
280 "label": "1",
281 }
282 "ALGR(LT_CCAR)": {
283 "key": "LT_2",
284 "label": "2",
285 }
286 "ALGR(LT_EOGO)": {
287 "key": "LT_3",
288 "label": "3",
289 }
290 "ALGR(LT_EDOT)": {
291 "key": "LT_4",
292 "label": "4",
293 }
294 "ALGR(LT_IOGO)": {
295 "key": "LT_5",
296 "label": "5",
297 }
298 "ALGR(LT_SCAR)": {
299 "key": "LT_6",
300 "label": "6",
301 }
302 "ALGR(LT_UOGO)": {
303 "key": "LT_7",
304 "label": "7",
305 }
306 "ALGR(LT_UMAC)": {
307 "key": "LT_8",
308 "label": "8",
309 }
310 "ALGR(LT_ZCAR)": {
311 "key": "LT_EQL",
312 "label": "=",
313 }
314 "ALGR(LT_E)": {
315 "key": "LT_EURO",
316 "label": "€",
317 }
318/* Shift+AltGr symbols
319 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
320 * │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ │ │ │ + │ │
321 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
322 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
323 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
324 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
325 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
326 * │ │ │ │ │ │ │ │ │ │ │ │ │
327 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
328 * │ │ │ │ │ │ │ │ │
329 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
330 */
331 "S(ALGR(LT_AOGO))": {
332 "key": "LT_EXLM",
333 "label": "!",
334 }
335 "S(ALGR(LT_CCAR))": {
336 "key": "LT_AT",
337 "label": "@",
338 }
339 "S(ALGR(LT_EOGO))": {
340 "key": "LT_HASH",
341 "label": "#",
342 }
343 "S(ALGR(LT_EDOT))": {
344 "key": "LT_DLR",
345 "label": "$",
346 }
347 "S(ALGR(LT_IOGO))": {
348 "key": "LT_PERC",
349 "label": "%",
350 }
351 "S(ALGR(LT_SCAR))": {
352 "key": "LT_CIRC",
353 "label": "^",
354 }
355 "S(ALGR(LT_UOGO))": {
356 "key": "LT_AMPR",
357 "label": "&",
358 }
359 "S(ALGR(LT_UMAC))": {
360 "key": "LT_ASTR",
361 "label": "*",
362 }
363 "S(ALGR(LT_ZCAR))": {
364 "key": "LT_PLUS",
365 "label": "+",
366 }
367 }
368} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson
new file mode 100644
index 0000000000..980bddbf7a
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson
@@ -0,0 +1,217 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ` │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ X │ V │ L │ C │ W │ K │ H │ G │ F │ Q │ ß │ ´ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ L3 │ U │ I │ A │ E │ O │ S │ N │ R │ T │ D │ Y │ L3│ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │L4 │ Ü │ Ö │ Ä │ P │ Z │ B │ M │ , │ . │ J │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ L4 │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "NE_CIRC",
18 "label": "^ (dead)",
19 }
20 "KC_1": {
21 "key": "NE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "NE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "NE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "NE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "NE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "NE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "NE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "NE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "NE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "NE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "NE_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "NE_GRV",
66 "label": "` (dead)",
67 }
68 "KC_Q": {
69 "key": "NE_X",
70 "label": "X",
71 }
72 "KC_W": {
73 "key": "NE_V",
74 "label": "V",
75 }
76 "KC_E": {
77 "key": "NE_L",
78 "label": "L",
79 }
80 "KC_R": {
81 "key": "NE_C",
82 "label": "C",
83 }
84 "KC_T": {
85 "key": "NE_W",
86 "label": "W",
87 }
88 "KC_Y": {
89 "key": "NE_K",
90 "label": "K",
91 }
92 "KC_U": {
93 "key": "NE_H",
94 "label": "H",
95 }
96 "KC_I": {
97 "key": "NE_G",
98 "label": "G",
99 }
100 "KC_O": {
101 "key": "NE_F",
102 "label": "F",
103 }
104 "KC_P": {
105 "key": "NE_Q",
106 "label": "Q",
107 }
108 "KC_LBRC": {
109 "key": "NE_SS",
110 "label": "ß",
111 }
112 "KC_RBRC": {
113 "key": "NE_ACUT",
114 "label": "´ (dead)",
115 }
116 "KC_CAPS": {
117 "key": "NE_L3L",
118 "label": "(layer 3)",
119 }
120 "KC_A": {
121 "key": "NE_U",
122 "label": "U",
123 }
124 "KC_S": {
125 "key": "NE_I",
126 "label": "I",
127 }
128 "KC_D": {
129 "key": "NE_A",
130 "label": "A",
131 }
132 "KC_F": {
133 "key": "NE_E",
134 "label": "E",
135 }
136 "KC_G": {
137 "key": "NE_O",
138 "label": "O",
139 }
140 "KC_H": {
141 "key": "NE_S",
142 "label": "S",
143 }
144 "KC_J": {
145 "key": "NE_N",
146 "label": "N",
147 }
148 "KC_K": {
149 "key": "NE_R",
150 "label": "R",
151 }
152 "KC_L": {
153 "key": "NE_T",
154 "label": "T",
155 }
156 "KC_SCLN": {
157 "key": "NE_D",
158 "label": "D",
159 }
160 "KC_QUOT": {
161 "key": "NE_Y",
162 "label": "Y",
163 }
164 "KC_NUHS": {
165 "key": "NE_L3R",
166 "label": "(layer 3)",
167 }
168 "KC_NUBS": {
169 "key": "NE_L4L",
170 "label": "(layer 4)",
171 }
172 "KC_Z": {
173 "key": "NE_UDIA",
174 "label": "Ü",
175 }
176 "KC_X": {
177 "key": "NE_ODIA",
178 "label": "Ö",
179 }
180 "KC_C": {
181 "key": "NE_ADIA",
182 "label": "Ä",
183 }
184 "KC_V": {
185 "key": "NE_P",
186 "label": "P",
187 }
188 "KC_B": {
189 "key": "NE_Z",
190 "label": "Z",
191 }
192 "KC_N": {
193 "key": "NE_B",
194 "label": "B",
195 }
196 "KC_M": {
197 "key": "NE_M",
198 "label": "M",
199 }
200 "KC_COMM": {
201 "key": "NE_COMM",
202 "label": ",",
203 }
204 "KC_DOT": {
205 "key": "NE_DOT",
206 "label": ".",
207 }
208 "KC_SLSH": {
209 "key": "NE_J",
210 "label": "J",
211 }
212 "KC_ALGR": {
213 "key": "NE_L4R",
214 "label": "(layer 4)",
215 }
216 }
217} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson
new file mode 100644
index 0000000000..fb3d1bc84b
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson
@@ -0,0 +1,116 @@
1{
2 "aliases": {
3 "KC_GRV": {
4 "key": "NO_HALF"
5 }
6 "KC_MINS": {
7 "key": "NO_PLUS"
8 }
9 "KC_EQL": {
10 "key": "NO_ACUT"
11 }
12 "KC_LBRC": {
13 "key": "NO_AM"
14 }
15 "KC_RBRC": {
16 "key": "NO_QUOT",
17 "label": "this is the \"umlaut\" char on Nordic keyboards, Apple layout",
18 }
19 "KC_SCLN": {
20 "key": "NO_AE"
21 }
22 "KC_QUOT": {
23 "key": "NO_OSLH"
24 }
25 "KC_NUHS": {
26 "key": "NO_APOS"
27 }
28 "KC_NUBS": {
29 "key": "NO_LESS"
30 }
31 "KC_SLSH": {
32 "key": "NO_MINS"
33 }
34 "LSFT(NO_HALF)": {
35 "key": "NO_SECT"
36 }
37 "LSFT(KC_2)": {
38 "key": "NO_QUO2"
39 }
40 "LSFT(KC_4)": {
41 "key": "NO_BULT"
42 }
43 "LSFT(KC_6)": {
44 "key": "NO_AMPR"
45 }
46 "LSFT(KC_7)": {
47 "key": "NO_SLSH"
48 }
49 "LSFT(KC_8)": {
50 "key": "NO_LPRN"
51 }
52 "LSFT(KC_9)": {
53 "key": "NO_RPRN"
54 }
55 "LSFT(KC_0)": {
56 "key": "NO_EQL"
57 }
58 "LSFT(NO_PLUS)": {
59 "key": "NO_QUES"
60 }
61 "LSFT(NO_ACUT)": {
62 "key": "NO_GRV"
63 }
64 "LSFT(NO_QUOT)": {
65 "key": "NO_CIRC"
66 }
67 "LSFT(NO_LESS)": {
68 "key": "NO_GRTR"
69 }
70 "LSFT(KC_COMM)": {
71 "key": "NO_SCLN"
72 }
73 "LSFT(KC_DOT)": {
74 "key": "NO_COLN"
75 }
76 "LSFT(NO_MINS)": {
77 "key": "NO_UNDS"
78 }
79 "ALGR(KC_2)": {
80 "key": "NO_AT"
81 }
82 "ALGR(KC_3)": {
83 "key": "NO_PND"
84 }
85 "ALGR(KC_4)": {
86 "key": "NO_DLR"
87 }
88 "ALGR(KC_7)": {
89 "key": "NO_LCBR"
90 }
91 "ALGR(KC_8)": {
92 "key": "NO_LBRC"
93 }
94 "ALGR(KC_9)": {
95 "key": "NO_RBRC"
96 }
97 "ALGR(KC_0)": {
98 "key": "NO_RCBR"
99 }
100 "ALGR(KC_NUBS)": {
101 "key": "NO_PIPE"
102 }
103 "ALGR(KC_E)": {
104 "key": "NO_EURO"
105 }
106 "ALGR(NO_QUOT)": {
107 "key": "NO_TILD"
108 }
109 "ALGR(KC_MINS)": {
110 "key": "NO_BSLS"
111 }
112 "ALGR(KC_M)": {
113 "key": "NO_MU"
114 }
115 }
116} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson
new file mode 100644
index 0000000000..98ea7e6aab
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson
@@ -0,0 +1,302 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ D │ F │ K │ J │ U │ R │ L │ ; │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ E │ T │ G │ Y │ N │ I │ O │ H │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ P │ M │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "NM_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "NM_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "NM_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "NM_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "NM_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "NM_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "NM_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "NM_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "NM_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "NM_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "NM_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "NM_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "NM_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "NM_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "NM_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "NM_D",
78 "label": "D",
79 }
80 "KC_R": {
81 "key": "NM_F",
82 "label": "F",
83 }
84 "KC_T": {
85 "key": "NM_K",
86 "label": "K",
87 }
88 "KC_Y": {
89 "key": "NM_J",
90 "label": "J",
91 }
92 "KC_U": {
93 "key": "NM_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "NM_R",
98 "label": "R",
99 }
100 "KC_O": {
101 "key": "NM_L",
102 "label": "L",
103 }
104 "KC_P": {
105 "key": "NM_SCLN",
106 "label": ";",
107 }
108 "KC_LBRC": {
109 "key": "NM_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "NM_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "NM_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "NM_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "NM_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "NM_E",
130 "label": "E",
131 }
132 "KC_F": {
133 "key": "NM_T",
134 "label": "T",
135 }
136 "KC_G": {
137 "key": "NM_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "NM_Y",
142 "label": "Y",
143 }
144 "KC_J": {
145 "key": "NM_N",
146 "label": "N",
147 }
148 "KC_K": {
149 "key": "NM_I",
150 "label": "I",
151 }
152 "KC_L": {
153 "key": "NM_O",
154 "label": "O",
155 }
156 "KC_SCLN": {
157 "key": "NM_H",
158 "label": "H",
159 }
160 "KC_QUOT": {
161 "key": "NM_QUOT",
162 "label": "'",
163 }
164 "KC_Z": {
165 "key": "NM_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "NM_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "NM_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "NM_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "NM_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "NM_P",
186 "label": "P",
187 }
188 "KC_M": {
189 "key": "NM_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "NM_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "NM_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "NM_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(NM_GRV)": {
218 "key": "NM_TILD",
219 "label": "~",
220 }
221 "S(NM_1)": {
222 "key": "NM_EXLM",
223 "label": "!",
224 }
225 "S(NM_2)": {
226 "key": "NM_AT",
227 "label": "@",
228 }
229 "S(NM_3)": {
230 "key": "NM_HASH",
231 "label": "#",
232 }
233 "S(NM_4)": {
234 "key": "NM_DLR",
235 "label": "$",
236 }
237 "S(NM_5)": {
238 "key": "NM_PERC",
239 "label": "%",
240 }
241 "S(NM_6)": {
242 "key": "NM_CIRC",
243 "label": "^",
244 }
245 "S(NM_7)": {
246 "key": "NM_AMPR",
247 "label": "&",
248 }
249 "S(NM_8)": {
250 "key": "NM_ASTR",
251 "label": "*",
252 }
253 "S(NM_9)": {
254 "key": "NM_LPRN",
255 "label": "(",
256 }
257 "S(NM_0)": {
258 "key": "NM_RPRN",
259 "label": ")",
260 }
261 "S(NM_MINS)": {
262 "key": "NM_UNDS",
263 "label": "_",
264 }
265 "S(NM_EQL)": {
266 "key": "NM_PLUS",
267 "label": "+",
268 }
269 "S(NM_SCLN)": {
270 "key": "NM_COLN",
271 "label": ":",
272 }
273 "S(NM_LBRC)": {
274 "key": "NM_LCBR",
275 "label": "{",
276 }
277 "S(NM_RBRC)": {
278 "key": "NM_RCBR",
279 "label": "}",
280 }
281 "S(NM_BSLS)": {
282 "key": "NM_PIPE",
283 "label": "|",
284 }
285 "S(NM_QUOT)": {
286 "key": "NM_DQUO",
287 "label": "\"",
288 }
289 "S(NM_COMM)": {
290 "key": "NM_LABK",
291 "label": "<",
292 }
293 "S(NM_DOT)": {
294 "key": "NM_RABK",
295 "label": ">",
296 }
297 "S(NM_SLSH)": {
298 "key": "NM_QUES",
299 "label": "?",
300 }
301 }
302} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson
new file mode 100644
index 0000000000..4e8cbb5d0e
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson
@@ -0,0 +1,355 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ \ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ø │ Æ │ ' │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "NO_PIPE",
18 "label": "|",
19 }
20 "KC_1": {
21 "key": "NO_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "NO_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "NO_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "NO_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "NO_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "NO_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "NO_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "NO_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "NO_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "NO_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "NO_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "NO_BSLS",
66 "label": "\\",
67 }
68 "KC_Q": {
69 "key": "NO_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "NO_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "NO_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "NO_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "NO_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "NO_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "NO_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "NO_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "NO_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "NO_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "NO_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "NO_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "NO_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "NO_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "NO_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "NO_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "NO_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "NO_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "NO_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "NO_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "NO_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "NO_OSTR",
154 "label": "Ø",
155 }
156 "KC_QUOT": {
157 "key": "NO_AE",
158 "label": "Æ",
159 }
160 "KC_NUHS": {
161 "key": "NO_QUOT",
162 "label": "'",
163 }
164 "KC_NUBS": {
165 "key": "NO_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "NO_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "NO_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "NO_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "NO_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "NO_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "NO_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "NO_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "NO_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "NO_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "NO_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(NO_PIPE)": {
222 "key": "NO_SECT",
223 "label": "§",
224 }
225 "S(NO_1)": {
226 "key": "NO_EXLM",
227 "label": "!",
228 }
229 "S(NO_2)": {
230 "key": "NO_DQUO",
231 "label": "\"",
232 }
233 "S(NO_3)": {
234 "key": "NO_HASH",
235 "label": "#",
236 }
237 "S(NO_4)": {
238 "key": "NO_CURR",
239 "label": "¤",
240 }
241 "S(NO_5)": {
242 "key": "NO_PERC",
243 "label": "%",
244 }
245 "S(NO_6)": {
246 "key": "NO_AMPR",
247 "label": "&",
248 }
249 "S(NO_7)": {
250 "key": "NO_SLSH",
251 "label": "/",
252 }
253 "S(NO_8)": {
254 "key": "NO_LPRN",
255 "label": "(",
256 }
257 "S(NO_9)": {
258 "key": "NO_RPRN",
259 "label": ")",
260 }
261 "S(NO_0)": {
262 "key": "NO_EQL",
263 "label": "=",
264 }
265 "S(NO_PLUS)": {
266 "key": "NO_QUES",
267 "label": "?",
268 }
269 "S(NO_BSLS)": {
270 "key": "NO_GRV",
271 "label": "` (dead)",
272 }
273 "S(NO_DIAE)": {
274 "key": "NO_CIRC",
275 "label": "^ (dead)",
276 }
277 "S(NO_QUOT)": {
278 "key": "NO_ASTR",
279 "label": "*",
280 }
281 "S(NO_LABK)": {
282 "key": "NO_RABK",
283 "label": ">",
284 }
285 "S(NO_COMM)": {
286 "key": "NO_SCLN",
287 "label": ";",
288 }
289 "S(NO_DOT)": {
290 "key": "NO_COLN",
291 "label": ":",
292 }
293 "S(NO_MINS)": {
294 "key": "NO_UNDS",
295 "label": "_",
296 }
297/* AltGr symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
299 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ ´ │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
301 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
305 * │ │ │ │ │ │ │ │ │ µ │ │ │ │ │
306 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
307 * │ │ │ │ │ │ │ │ │
308 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
309 */
310 "ALGR(NO_2)": {
311 "key": "NO_AT",
312 "label": "@",
313 }
314 "ALGR(NO_3)": {
315 "key": "NO_PND",
316 "label": "£",
317 }
318 "ALGR(NO_4)": {
319 "key": "NO_DLR",
320 "label": "$",
321 }
322 "ALGR(NO_5)": {
323 "key": "NO_EURO",
324 "label": "€",
325 }
326 "ALGR(NO_7)": {
327 "key": "NO_LCBR",
328 "label": "{",
329 }
330 "ALGR(NO_8)": {
331 "key": "NO_LBRC",
332 "label": "[",
333 }
334 "ALGR(NO_9)": {
335 "key": "NO_RBRC",
336 "label": "]",
337 }
338 "ALGR(NO_0)": {
339 "key": "NO_RCBR",
340 "label": "}",
341 }
342 "ALGR(NO_BSLS)": {
343 "key": "NO_ACUT",
344 "label": "´ (dead)",
345 }
346 "ALGR(NO_DIAE)": {
347 "key": "NO_TILD",
348 "label": "~ (dead)",
349 }
350 "ALGR(NO_M)": {
351 "key": "NO_MICR",
352 "label": "µ",
353 }
354 }
355} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson
new file mode 100644
index 0000000000..fb00ef0c62
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson
@@ -0,0 +1,86 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ │Num│ │ │ │ │ │ │ │ │ │ │ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ S │ T │ P │ H │ │ * │ F │ P │ L │ T │ D │ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ │ K │ W │ R │ │ │ R │ B │ G │ S │ Z │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ │ │ A │ O │ │ E │ U │ │ │ │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_1": {
17 "key": "PV_NUM"
18 }
19 "KC_Q": {
20 "key": "PV_LS"
21 }
22 "KC_W": {
23 "key": "PV_LT"
24 }
25 "KC_E": {
26 "key": "PV_LP"
27 }
28 "KC_R": {
29 "key": "PV_LH"
30 }
31 "KC_Y": {
32 "key": "PV_STAR"
33 }
34 "KC_U": {
35 "key": "PV_RF"
36 }
37 "KC_I": {
38 "key": "PV_RP"
39 }
40 "KC_O": {
41 "key": "PV_RL"
42 }
43 "KC_P": {
44 "key": "PV_RT"
45 }
46 "KC_LBRC": {
47 "key": "PV_RD"
48 }
49 "KC_S": {
50 "key": "PV_LK"
51 }
52 "KC_D": {
53 "key": "PV_LW"
54 }
55 "KC_F": {
56 "key": "PV_LR"
57 }
58 "KC_J": {
59 "key": "PV_RR"
60 }
61 "KC_K": {
62 "key": "PV_RB"
63 }
64 "KC_L": {
65 "key": "PV_RG"
66 }
67 "KC_SCLN": {
68 "key": "PV_RS"
69 }
70 "KC_QUOT": {
71 "key": "PV_RZ"
72 }
73 "KC_C": {
74 "key": "PV_A"
75 }
76 "KC_V": {
77 "key": "PV_O"
78 }
79 "KC_N": {
80 "key": "PV_E"
81 }
82 "KC_M": {
83 "key": "PV_U"
84 }
85 }
86} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson
new file mode 100644
index 0000000000..9656dd9821
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson
@@ -0,0 +1,73 @@
1{
2 "aliases": {
3 "DV_1": {
4 "key": "PD_NUM"
5 }
6 "DV_Q": {
7 "key": "PD_LS"
8 }
9 "DV_W": {
10 "key": "PD_LT"
11 }
12 "DV_E": {
13 "key": "PD_LP"
14 }
15 "DV_R": {
16 "key": "PD_LH"
17 }
18 "DV_S": {
19 "key": "PD_LK"
20 }
21 "DV_D": {
22 "key": "PD_LW"
23 }
24 "DV_F": {
25 "key": "PD_LR"
26 }
27 "DV_Y": {
28 "key": "PD_STAR"
29 }
30 "DV_U": {
31 "key": "PD_RF"
32 }
33 "DV_I": {
34 "key": "PD_RP"
35 }
36 "DV_O": {
37 "key": "PD_RL"
38 }
39 "DV_P": {
40 "key": "PD_RT"
41 }
42 "DV_LBRC": {
43 "key": "PD_RD"
44 }
45 "DV_J": {
46 "key": "PD_RR"
47 }
48 "DV_K": {
49 "key": "PD_RB"
50 }
51 "DV_L": {
52 "key": "PD_RG"
53 }
54 "DV_SCLN": {
55 "key": "PD_RS"
56 }
57 "DV_QUOT": {
58 "key": "PD_RZ"
59 }
60 "DV_C": {
61 "key": "PD_A"
62 }
63 "DV_V": {
64 "key": "PD_O"
65 }
66 "DV_N": {
67 "key": "PD_E"
68 }
69 "DV_M": {
70 "key": "PD_U"
71 }
72 }
73} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson
new file mode 100644
index 0000000000..609011b1f7
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson
@@ -0,0 +1,355 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "PL_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "PL_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "PL_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "PL_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "PL_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "PL_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "PL_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "PL_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "PL_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "PL_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "PL_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "PL_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "PL_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "PL_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "PL_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "PL_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "PL_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "PL_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "PL_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "PL_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "PL_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "PL_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "PL_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "PL_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "PL_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "PL_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "PL_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "PL_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "PL_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "PL_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "PL_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "PL_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "PL_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "PL_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "PL_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "PL_SCLN",
158 "label": ";",
159 }
160 "KC_QUOT": {
161 "key": "PL_QUOT",
162 "label": "'",
163 }
164 "KC_Z": {
165 "key": "PL_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "PL_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "PL_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "PL_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "PL_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "PL_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "PL_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "PL_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "PL_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "PL_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(PL_GRV)": {
218 "key": "PL_TILD",
219 "label": "~",
220 }
221 "S(PL_1)": {
222 "key": "PL_EXLM",
223 "label": "!",
224 }
225 "S(PL_2)": {
226 "key": "PL_AT",
227 "label": "@",
228 }
229 "S(PL_3)": {
230 "key": "PL_HASH",
231 "label": "#",
232 }
233 "S(PL_4)": {
234 "key": "PL_DLR",
235 "label": "$",
236 }
237 "S(PL_5)": {
238 "key": "PL_PERC",
239 "label": "%",
240 }
241 "S(PL_6)": {
242 "key": "PL_CIRC",
243 "label": "^",
244 }
245 "S(PL_7)": {
246 "key": "PL_AMPR",
247 "label": "&",
248 }
249 "S(PL_8)": {
250 "key": "PL_ASTR",
251 "label": "*",
252 }
253 "S(PL_9)": {
254 "key": "PL_LPRN",
255 "label": "(",
256 }
257 "S(PL_0)": {
258 "key": "PL_RPRN",
259 "label": ")",
260 }
261 "S(PL_MINS)": {
262 "key": "PL_UNDS",
263 "label": "_",
264 }
265 "S(PL_EQL)": {
266 "key": "PL_PLUS",
267 "label": "+",
268 }
269 "S(PL_LBRC)": {
270 "key": "PL_LCBR",
271 "label": "{",
272 }
273 "S(PL_RBRC)": {
274 "key": "PL_RCBR",
275 "label": "}",
276 }
277 "S(PL_BSLS)": {
278 "key": "PL_PIPE",
279 "label": "|",
280 }
281 "S(PL_SCLN)": {
282 "key": "PL_COLN",
283 "label": ":",
284 }
285 "S(PL_QUOT)": {
286 "key": "PL_DQUO",
287 "label": "\"",
288 }
289 "S(PL_COMM)": {
290 "key": "PL_LABK",
291 "label": "<",
292 }
293 "S(PL_DOT)": {
294 "key": "PL_RABK",
295 "label": ">",
296 }
297 "S(PL_SLSH)": {
298 "key": "PL_QUES",
299 "label": "?",
300 }
301/* AltGr symbols
302 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
303 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
304 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
305 * │ │ │ │ Ę │ │ │ │ € │ │ Ó │ │ │ │ │
306 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
307 * │ │ Ą │ Ś │ │ │ │ │ │ │ Ł │ │ │ │
308 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
309 * │ │ Ż │ Ź │ Ć │ │ │ Ń │ │ │ │ │ │
310 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
311 * │ │ │ │ │ │ │ │ │
312 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
313 */
314 "ALGR(PL_E)": {
315 "key": "PL_EOGO",
316 "label": "Ę",
317 }
318 "ALGR(PL_U)": {
319 "key": "PL_EURO",
320 "label": "€",
321 }
322 "ALGR(PL_O)": {
323 "key": "PL_OACU",
324 "label": "Ó",
325 }
326 "ALGR(PL_A)": {
327 "key": "PL_AOGO",
328 "label": "Ą",
329 }
330 "ALGR(PL_S)": {
331 "key": "PL_SACU",
332 "label": "Ś",
333 }
334 "ALGR(PL_L)": {
335 "key": "PL_LSTR",
336 "label": "Ł",
337 }
338 "ALGR(PL_Z)": {
339 "key": "PL_ZDOT",
340 "label": "Ż",
341 }
342 "ALGR(PL_X)": {
343 "key": "PL_ZACU",
344 "label": "Ź",
345 }
346 "ALGR(PL_C)": {
347 "key": "PL_CACU",
348 "label": "Ć",
349 }
350 "ALGR(PL_N)": {
351 "key": "PL_NACU",
352 "label": "Ń",
353 }
354 }
355} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson
new file mode 100644
index 0000000000..c8e43065d2
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson
@@ -0,0 +1,355 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ « │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ + │ ´ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ º │ ~ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "PT_BSLS",
18 "label": "\\",
19 }
20 "KC_1": {
21 "key": "PT_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "PT_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "PT_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "PT_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "PT_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "PT_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "PT_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "PT_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "PT_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "PT_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "PT_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "PT_LDAQ",
66 "label": "«",
67 }
68 "KC_Q": {
69 "key": "PT_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "PT_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "PT_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "PT_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "PT_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "PT_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "PT_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "PT_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "PT_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "PT_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "PT_PLUS",
110 "label": "+",
111 }
112 "KC_RBRC": {
113 "key": "PT_ACUT",
114 "label": "´ (dead)",
115 }
116 "KC_A": {
117 "key": "PT_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "PT_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "PT_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "PT_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "PT_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "PT_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "PT_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "PT_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "PT_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "PT_CCED",
154 "label": "Ç",
155 }
156 "KC_QUOT": {
157 "key": "PT_MORD",
158 "label": "º",
159 }
160 "KC_NUHS": {
161 "key": "PT_TILD",
162 "label": "~ (dead)",
163 }
164 "KC_NUBS": {
165 "key": "PT_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "PT_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "PT_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "PT_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "PT_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "PT_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "PT_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "PT_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "PT_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "PT_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "PT_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ | │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ » │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ * │ ` │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ^ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(PT_BSLS)": {
222 "key": "PT_PIPE",
223 "label": "|",
224 }
225 "S(PT_1)": {
226 "key": "PT_EXLM",
227 "label": "!",
228 }
229 "S(PT_2)": {
230 "key": "PT_DQUO",
231 "label": "\"",
232 }
233 "S(PT_3)": {
234 "key": "PT_HASH",
235 "label": "#",
236 }
237 "S(PT_4)": {
238 "key": "PT_DLR",
239 "label": "$",
240 }
241 "S(PT_5)": {
242 "key": "PT_PERC",
243 "label": "%",
244 }
245 "S(PT_6)": {
246 "key": "PT_AMPR",
247 "label": "&",
248 }
249 "S(PT_7)": {
250 "key": "PT_SLSH",
251 "label": "/",
252 }
253 "S(PT_8)": {
254 "key": "PT_LPRN",
255 "label": "(",
256 }
257 "S(PT_9)": {
258 "key": "PT_RPRN",
259 "label": ")",
260 }
261 "S(PT_0)": {
262 "key": "PT_EQL",
263 "label": "=",
264 }
265 "S(PT_QUOT)": {
266 "key": "PT_QUES",
267 "label": "?",
268 }
269 "S(PT_LDAQ)": {
270 "key": "PT_RDAQ",
271 "label": "»",
272 }
273 "S(PT_PLUS)": {
274 "key": "PT_ASTR",
275 "label": "*",
276 }
277 "S(PT_ACUT)": {
278 "key": "PT_GRV",
279 "label": "` (dead)",
280 }
281 "S(PT_MORD)": {
282 "key": "PT_FORD",
283 "label": "ª",
284 }
285 "S(PT_TILD)": {
286 "key": "PT_CIRC",
287 "label": "^ (dead)",
288 }
289 "S(PT_LABK)": {
290 "key": "PT_RABK",
291 "label": ">",
292 }
293 "S(PT_COMM)": {
294 "key": "PT_SCLN",
295 "label": ";",
296 }
297 "S(PT_DOT)": {
298 "key": "PT_COLN",
299 "label": ":",
300 }
301 "S(PT_MINS)": {
302 "key": "PT_UNDS",
303 "label": "_",
304 }
305/* AltGr symbols
306 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
307 * │ │ │ @ │ £ │ § │ │ │ { │ [ │ ] │ } │ │ │ │
308 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
309 * │ │ │ │ € │ │ │ │ │ │ │ │ ¨ │ │ │
310 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
311 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
312 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
313 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
314 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
315 * │ │ │ │ │ │ │ │ │
316 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
317 */
318 "ALGR(PT_2)": {
319 "key": "PT_AT",
320 "label": "@",
321 }
322 "ALGR(PT_3)": {
323 "key": "PT_PND",
324 "label": "£",
325 }
326 "ALGR(PT_4)": {
327 "key": "PT_SECT",
328 "label": "§",
329 }
330 "ALGR(PT_7)": {
331 "key": "PT_LCBR",
332 "label": "{",
333 }
334 "ALGR(PT_8)": {
335 "key": "PT_LBRC",
336 "label": "[",
337 }
338 "ALGR(PT_9)": {
339 "key": "PT_RBRC",
340 "label": "]",
341 }
342 "ALGR(PT_0)": {
343 "key": "PT_RCBR",
344 "label": "}",
345 }
346 "ALGR(PT_PLUS)": {
347 "key": "PT_DIAE",
348 "label": "¨ (dead)",
349 }
350 "ALGR(PT_E)": {
351 "key": "PT_EURO",
352 "label": "€",
353 }
354 }
355} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson
new file mode 100644
index 0000000000..b1c9aaad98
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson
@@ -0,0 +1,620 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ º │ ´ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ \ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "PT_SECT",
18 "label": "§",
19 }
20 "KC_1": {
21 "key": "PT_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "PT_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "PT_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "PT_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "PT_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "PT_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "PT_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "PT_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "PT_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "PT_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "PT_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "PT_PLUS",
66 "label": "+",
67 }
68 "KC_Q": {
69 "key": "PT_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "PT_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "PT_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "PT_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "PT_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "PT_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "PT_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "PT_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "PT_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "PT_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "PT_MORD",
110 "label": "º",
111 }
112 "KC_RBRC": {
113 "key": "PT_ACUT",
114 "label": "´ (dead)",
115 }
116 "KC_A": {
117 "key": "PT_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "PT_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "PT_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "PT_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "PT_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "PT_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "PT_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "PT_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "PT_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "PT_CCED",
154 "label": "Ç",
155 }
156 "KC_QUOT": {
157 "key": "PT_TILD",
158 "label": "~ (dead)",
159 }
160 "KC_NUHS": {
161 "key": "PT_BSLS",
162 "label": "\\",
163 }
164 "KC_NUBS": {
165 "key": "PT_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "PT_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "PT_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "PT_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "PT_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "PT_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "PT_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "PT_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "PT_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "PT_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "PT_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
210 * │ ± │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ` │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ | │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
218 * │ │ │ │ │ │ │ │
219 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
220 */
221 "S(PT_SECT)": {
222 "key": "PT_PLMN",
223 "label": "±",
224 }
225 "S(PT_1)": {
226 "key": "PT_EXLM",
227 "label": "!",
228 }
229 "S(PT_2)": {
230 "key": "PT_DQUO",
231 "label": "\"",
232 }
233 "S(PT_3)": {
234 "key": "PT_HASH",
235 "label": "#",
236 }
237 "S(PT_4)": {
238 "key": "PT_DLR",
239 "label": "$",
240 }
241 "S(PT_5)": {
242 "key": "PT_PERC",
243 "label": "%",
244 }
245 "S(PT_6)": {
246 "key": "PT_AMPR",
247 "label": "&",
248 }
249 "S(PT_7)": {
250 "key": "PT_SLSH",
251 "label": "/",
252 }
253 "S(PT_8)": {
254 "key": "PT_LPRN",
255 "label": "(",
256 }
257 "S(PT_9)": {
258 "key": "PT_RPRN",
259 "label": ")",
260 }
261 "S(PT_0)": {
262 "key": "PT_EQL",
263 "label": "=",
264 }
265 "S(PT_QUOT)": {
266 "key": "PT_QUES",
267 "label": "?",
268 }
269 "S(PT_PLUS)": {
270 "key": "PT_ASTR",
271 "label": "*",
272 }
273 "S(PT_MORD)": {
274 "key": "PT_FORD",
275 "label": "ª",
276 }
277 "S(PT_ACUT)": {
278 "key": "PT_GRV",
279 "label": "` (dead)",
280 }
281 "S(PT_TILD)": {
282 "key": "PT_CIRC",
283 "label": "^ (dead)",
284 }
285 "S(PT_BSLS)": {
286 "key": "PT_PIPE",
287 "label": "|",
288 }
289 "S(PT_LABK)": {
290 "key": "PT_RABK",
291 "label": ">",
292 }
293 "S(PT_COMM)": {
294 "key": "PT_SCLN",
295 "label": ";",
296 }
297 "S(PT_DOT)": {
298 "key": "PT_COLN",
299 "label": ":",
300 }
301 "S(PT_MINS)": {
302 "key": "PT_UNDS",
303 "label": "_",
304 }
305/* Alted symbols
306 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
307 * │ │  │ @ │ € │ £ │ ‰ │ ¶ │ ÷ │ [ │ ] │ ≠ │ │ │ │
308 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
309 * │ │ Œ │ ∑ │ Æ │ ® │ ™ │ ¥ │ † │ ı │ Ø │ π │ ° │ ¨ │ │
310 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
311 * │ │ Å │ ß │ ∂ │ ƒ │ ˙ │ ˇ │ ¯ │ „ │ ‘ │ ¸ │ ˜ │ ‹ │ │
312 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
313 * │ │ ≤ │ Ω │ « │ © │ √ │ ∫ │ ¬ │ µ │ “ │ … │ — │ │
314 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
315 * │ │ │ │ │ │ │ │
316 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
317 */
318 "A(PT_1)": {
319 "key": "PT_APPL",
320 "label": " (Apple logo)",
321 }
322 "A(PT_2)": {
323 "key": "PT_AT",
324 "label": "@",
325 }
326 "A(PT_3)": {
327 "key": "PT_EURO",
328 "label": "€",
329 }
330 "A(PT_4)": {
331 "key": "PT_PND",
332 "label": "£",
333 }
334 "A(PT_5)": {
335 "key": "PT_PERM",
336 "label": "‰",
337 }
338 "A(PT_6)": {
339 "key": "PT_PILC",
340 "label": "¶",
341 }
342 "A(PT_7)": {
343 "key": "PT_DIV",
344 "label": "÷",
345 }
346 "A(PT_8)": {
347 "key": "PT_LBRC",
348 "label": "[",
349 }
350 "A(PT_9)": {
351 "key": "PT_RBRC",
352 "label": "]",
353 }
354 "A(PT_0)": {
355 "key": "PT_NEQL",
356 "label": "≠",
357 }
358 "A(PT_Q)": {
359 "key": "PT_OE",
360 "label": "Œ",
361 }
362 "A(PT_W)": {
363 "key": "PT_NARS",
364 "label": "∑",
365 }
366 "A(PT_E)": {
367 "key": "PT_AE",
368 "label": "Æ",
369 }
370 "A(PT_R)": {
371 "key": "PT_REGD",
372 "label": "®",
373 }
374 "A(PT_T)": {
375 "key": "PT_TM",
376 "label": "™",
377 }
378 "A(PT_Y)": {
379 "key": "PT_YEN",
380 "label": "¥",
381 }
382 "A(PT_U)": {
383 "key": "PT_DAGG",
384 "label": "†",
385 }
386 "A(PT_I)": {
387 "key": "PT_DLSI",
388 "label": "ı",
389 }
390 "A(PT_O)": {
391 "key": "PT_OSTR",
392 "label": "Ø",
393 }
394 "A(PT_P)": {
395 "key": "PT_PI",
396 "label": "π",
397 }
398 "A(PT_MORD)": {
399 "key": "PT_DEG",
400 "label": "°",
401 }
402 "A(PT_ACUT)": {
403 "key": "PT_DIAE",
404 "label": "¨ (dead)",
405 }
406 "A(PT_A)": {
407 "key": "PT_ARNG",
408 "label": "å",
409 }
410 "A(PT_S)": {
411 "key": "PT_SS",
412 "label": "ß",
413 }
414 "A(PT_D)": {
415 "key": "PT_PDIF",
416 "label": "∂",
417 }
418 "A(PT_F)": {
419 "key": "PT_FHK",
420 "label": "ƒ",
421 }
422 "A(PT_G)": {
423 "key": "PT_DOTA",
424 "label": "˙",
425 }
426 "A(PT_H)": {
427 "key": "PT_CARN",
428 "label": "ˇ",
429 }
430 "A(PT_J)": {
431 "key": "PT_MACR",
432 "label": "¯",
433 }
434 "A(PT_K)": {
435 "key": "PT_DLQU",
436 "label": "„",
437 }
438 "A(PT_L)": {
439 "key": "PT_LSQU",
440 "label": "‘",
441 }
442 "A(PT_CCED)": {
443 "key": "PT_CEDL",
444 "label": "¸",
445 }
446 "A(PT_TILD)": {
447 "key": "PT_STIL",
448 "label": "˜ (dead)",
449 }
450 "A(PT_BSLS)": {
451 "key": "PT_LSAQ",
452 "label": "‹",
453 }
454 "A(PT_LABK)": {
455 "key": "PT_LTEQ",
456 "label": "≤",
457 }
458 "A(PT_Z)": {
459 "key": "PT_OMEG",
460 "label": "Ω",
461 }
462 "A(PT_X)": {
463 "key": "PT_LDAQ",
464 "label": "«",
465 }
466 "A(PT_C)": {
467 "key": "PT_COPY",
468 "label": "©",
469 }
470 "A(PT_V)": {
471 "key": "PT_SQRT",
472 "label": "√",
473 }
474 "A(PT_B)": {
475 "key": "PT_INTG",
476 "label": "∫",
477 }
478 "A(PT_N)": {
479 "key": "PT_NOT",
480 "label": "¬",
481 }
482 "A(PT_M)": {
483 "key": "PT_MICR",
484 "label": "µ",
485 }
486 "A(PT_COMM)": {
487 "key": "PT_LDQU",
488 "label": "“",
489 }
490 "A(PT_DOT)": {
491 "key": "PT_ELLP",
492 "label": "…",
493 }
494 "A(PT_MINS)": {
495 "key": "PT_MDSH",
496 "label": "—",
497 }
498/* Shift+Alted symbols
499 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
500 * │ │ ¡ │ fi │ fl │ ¢ │ ∞ │ • │ ⁄ │ { │ } │ ≈ │ ¿ │ ◊ │ │
501 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
502 * │ │ │ │ │ │ │ │ ‡ │ ˚ │ │ ∏ │ │ ˝ │ │
503 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
504 * │ │ │ │ ∆ │ │ │ │ │ ‚ │ ’ │ ˛ │ ˆ │ › │ │
505 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
506 * │ │ ≥ │ │ » │ │ │ │ │ │ ” │ · │ – │ │
507 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
508 * │ │ │ │ │ │ │ │
509 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
510 */
511 "S(A(PT_1))": {
512 "key": "PT_IEXL",
513 "label": "¡",
514 }
515 "S(A(PT_2))": {
516 "key": "PT_FI",
517 "label": "fi",
518 }
519 "S(A(PT_3))": {
520 "key": "PT_FL",
521 "label": "fl",
522 }
523 "S(A(PT_4))": {
524 "key": "PT_CENT",
525 "label": "¢",
526 }
527 "S(A(PT_5))": {
528 "key": "PT_INFN",
529 "label": "∞",
530 }
531 "S(A(PT_6))": {
532 "key": "PT_BULT",
533 "label": "•",
534 }
535 "S(A(PT_7))": {
536 "key": "PT_FRSL",
537 "label": "⁄",
538 }
539 "S(A(PT_8))": {
540 "key": "PT_LCBR",
541 "label": "{",
542 }
543 "S(A(PT_9))": {
544 "key": "PT_RCBR",
545 "label": "}",
546 }
547 "S(A(PT_0))": {
548 "key": "PT_AEQL",
549 "label": "≈",
550 }
551 "S(A(PT_QUOT))": {
552 "key": "PT_IQUE",
553 "label": "¿",
554 }
555 "S(A(PT_PLUS))": {
556 "key": "PT_LOZN",
557 "label": "◊",
558 }
559 "S(A(PT_U))": {
560 "key": "PT_DDAG",
561 "label": "‡",
562 }
563 "S(A(PT_I))": {
564 "key": "PT_RNGA",
565 "label": "˚",
566 }
567 "S(A(PT_P))": {
568 "key": "PT_NARP",
569 "label": "∏",
570 }
571 "S(A(PT_ACUT))": {
572 "key": "PT_DACU",
573 "label": "˝",
574 }
575 "S(A(PT_D))": {
576 "key": "PT_INCR",
577 "label": "∆",
578 }
579 "S(A(PT_K))": {
580 "key": "PT_SLQU",
581 "label": "‚",
582 }
583 "S(A(PT_L))": {
584 "key": "PT_RSQU",
585 "label": "’",
586 }
587 "S(A(PT_CCED))": {
588 "key": "PT_OGON",
589 "label": "˛",
590 }
591 "S(A(PT_TILD))": {
592 "key": "PT_DCIR",
593 "label": "ˆ (dead)",
594 }
595 "S(A(PT_BSLS))": {
596 "key": "PT_RSAQ",
597 "label": "›",
598 }
599 "S(A(PT_LABK))": {
600 "key": "PT_GTEQ",
601 "label": "≥",
602 }
603 "S(A(PT_X))": {
604 "key": "PT_RDAQ",
605 "label": "»",
606 }
607 "S(A(PT_COMM))": {
608 "key": "PT_RDQU",
609 "label": "”",
610 }
611 "S(A(PT_DOT))": {
612 "key": "PT_MDDT",
613 "label": "·",
614 }
615 "S(A(PT_MINS))": {
616 "key": "PT_NDSH",
617 "label": "–",
618 }
619 }
620} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson
new file mode 100644
index 0000000000..42b1e89d3b
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson
@@ -0,0 +1,444 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ „ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ă │ Î │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ș │ Ț │ Â │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "RO_DLQU",
18 "label": "„",
19 }
20 "KC_1": {
21 "key": "RO_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "RO_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "RO_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "RO_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "RO_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "RO_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "RO_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "RO_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "RO_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "RO_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "RO_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "RO_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "RO_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "RO_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "RO_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "RO_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "RO_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "RO_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "RO_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "RO_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "RO_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "RO_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "RO_ABRV",
110 "label": "Ă",
111 }
112 "KC_RBRC": {
113 "key": "RO_ICIR",
114 "label": "Î",
115 }
116 "KC_A": {
117 "key": "RO_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "RO_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "RO_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "RO_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "RO_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "RO_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "RO_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "RO_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "RO_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "RO_SCOM",
154 "label": "Ș",
155 }
156 "KC_QUOT": {
157 "key": "RO_TCOM",
158 "label": "Ț",
159 }
160 "KC_NUHS": {
161 "key": "RO_ACIR",
162 "label": "Â",
163 }
164 "KC_NUBS": {
165 "key": "RO_BSLS",
166 "label": "\\",
167 }
168 "KC_Z": {
169 "key": "RO_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "RO_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "RO_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "RO_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "RO_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "RO_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "RO_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "RO_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "RO_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "RO_SLSH",
206 "label": "/",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ” │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ | │ │ │ │ │ │ │ │ ; │ : │ ? │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(RO_DLQU)": {
222 "key": "RO_RDQU",
223 "label": "”",
224 }
225 "S(RO_1)": {
226 "key": "RO_EXLM",
227 "label": "!",
228 }
229 "S(RO_2)": {
230 "key": "RO_AT",
231 "label": "@",
232 }
233 "S(RO_3)": {
234 "key": "RO_HASH",
235 "label": "#",
236 }
237 "S(RO_4)": {
238 "key": "RO_DLR",
239 "label": "$",
240 }
241 "S(RO_5)": {
242 "key": "RO_PERC",
243 "label": "%",
244 }
245 "S(RO_6)": {
246 "key": "RO_CIRC",
247 "label": "^",
248 }
249 "S(RO_7)": {
250 "key": "RO_AMPR",
251 "label": "&",
252 }
253 "S(RO_8)": {
254 "key": "RO_ASTR",
255 "label": "*",
256 }
257 "S(RO_9)": {
258 "key": "RO_LPRN",
259 "label": "(",
260 }
261 "S(RO_0)": {
262 "key": "RO_RPRN",
263 "label": ")",
264 }
265 "S(RO_MINS)": {
266 "key": "RO_UNDS",
267 "label": "_",
268 }
269 "S(RO_EQL)": {
270 "key": "RO_PLUS",
271 "label": "+",
272 }
273 "S(RO_BSLS)": {
274 "key": "RO_PIPE",
275 "label": "|",
276 }
277 "S(RO_COMM)": {
278 "key": "RO_SCLN",
279 "label": ";",
280 }
281 "S(RO_DOT)": {
282 "key": "RO_COLN",
283 "label": ":",
284 }
285 "S(RO_SLSH)": {
286 "key": "RO_QUES",
287 "label": "?",
288 }
289/* AltGr symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
291 * │ ` │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
293 * │ │ │ │ € │ │ │ │ │ │ │ § │ [ │ ] │ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
295 * │ │ │ ß │ Đ │ │ │ │ │ │ Ł │ │ ' │ │ │
296 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
297 * │ │ │ │ │ © │ │ │ │ │ < │ > │ │ │
298 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
299 * │ │ │ │ │ │ │ │ │
300 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
301 */
302 "ALGR(RO_DLQU)": {
303 "key": "RO_GRV",
304 "label": "`",
305 }
306 "ALGR(RO_1)": {
307 "key": "RO_DTIL",
308 "label": "~ (dead)",
309 }
310 "ALGR(RO_2)": {
311 "key": "RO_CARN",
312 "label": "ˇ (dead)",
313 }
314 "ALGR(RO_3)": {
315 "key": "RO_DCIR",
316 "label": "^ (dead)",
317 }
318 "ALGR(RO_4)": {
319 "key": "RO_BREV",
320 "label": "˘ (dead)",
321 }
322 "ALGR(RO_5)": {
323 "key": "RO_RNGA",
324 "label": "° (dead)",
325 }
326 "ALGR(RO_6)": {
327 "key": "RO_OGON",
328 "label": "˛ (dead)",
329 }
330 "ALGR(RO_7)": {
331 "key": "RO_DGRV",
332 "label": "` (dead)",
333 }
334 "ALGR(RO_8)": {
335 "key": "RO_DOTA",
336 "label": "˙ (dead)",
337 }
338 "ALGR(RO_9)": {
339 "key": "RO_ACUT",
340 "label": "´ (dead)",
341 }
342 "ALGR(RO_0)": {
343 "key": "RO_DACU",
344 "label": "˝ (dead)",
345 }
346 "ALGR(RO_MINS)": {
347 "key": "RO_DIAE",
348 "label": "¨ (dead)",
349 }
350 "ALGR(RO_EQL)": {
351 "key": "RO_CEDL",
352 "label": "¸ (dead)",
353 }
354 "ALGR(RO_E)": {
355 "key": "RO_EURO",
356 "label": "€",
357 }
358 "ALGR(RO_P)": {
359 "key": "RO_SECT",
360 "label": "§",
361 }
362 "ALGR(RO_ABRV)": {
363 "key": "RO_LBRC",
364 "label": "[",
365 }
366 "ALGR(RO_ICIR)": {
367 "key": "RO_RBRC",
368 "label": "]",
369 }
370 "ALGR(RO_S)": {
371 "key": "RO_SS",
372 "label": "ß",
373 }
374 "ALGR(RO_D)": {
375 "key": "RO_DSTR",
376 "label": "Đ",
377 }
378 "ALGR(RO_L)": {
379 "key": "RO_LSTR",
380 "label": "Ł",
381 }
382 "ALGR(RO_TCOM)": {
383 "key": "RO_QUOT",
384 "label": "'",
385 }
386 "ALGR(RO_C)": {
387 "key": "RO_COPY",
388 "label": "©",
389 }
390 "ALGR(RO_COMM)": {
391 "key": "RO_LABK",
392 "label": "<",
393 }
394 "ALGR(RO_DOT)": {
395 "key": "RO_RABK",
396 "label": ">",
397 }
398/* Shift+AltGr symbols
399 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
400 * │ ~ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
401 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
402 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
403 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
404 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │ │
405 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
406 * │ │ │ │ │ │ │ │ │ │ « │ » │ │ │
407 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
408 * │ │ │ │ │ │ │ │ │
409 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
410 */
411 "S(ALGR(RO_DLQU))": {
412 "key": "RO_TILD",
413 "label": "~",
414 }
415 "S(ALGR(RO_MINS))": {
416 "key": "RO_NDSH",
417 "label": "–",
418 }
419 "S(ALGR(RO_EQL))": {
420 "key": "RO_PLMN",
421 "label": "±",
422 }
423 "S(ALGR(RO_ABRV))": {
424 "key": "RO_LCBR",
425 "label": "{",
426 }
427 "S(ALGR(RO_ICIR))": {
428 "key": "RO_RCBR",
429 "label": "}",
430 }
431 "S(ALGR(RO_TCOM))": {
432 "key": "RO_DQUO",
433 "label": "\"",
434 }
435 "S(ALGR(RO_COMM))": {
436 "key": "RO_LDAQ",
437 "label": "«",
438 }
439 "S(ALGR(RO_DOT))": {
440 "key": "RO_RDAQ",
441 "label": "»",
442 }
443 }
444} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson
new file mode 100644
index 0000000000..d83fc0f61f
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson
@@ -0,0 +1,291 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ Ё │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "RU_YO",
18 "label": "Ё",
19 }
20 "KC_1": {
21 "key": "RU_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "RU_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "RU_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "RU_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "RU_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "RU_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "RU_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "RU_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "RU_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "RU_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "RU_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "RU_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "RU_SHTI",
70 "label": "Й",
71 }
72 "KC_W": {
73 "key": "RU_TSE",
74 "label": "Ц",
75 }
76 "KC_E": {
77 "key": "RU_U",
78 "label": "У",
79 }
80 "KC_R": {
81 "key": "RU_KA",
82 "label": "К",
83 }
84 "KC_T": {
85 "key": "RU_IE",
86 "label": "Е",
87 }
88 "KC_Y": {
89 "key": "RU_EN",
90 "label": "Н",
91 }
92 "KC_U": {
93 "key": "RU_GHE",
94 "label": "Г",
95 }
96 "KC_I": {
97 "key": "RU_SHA",
98 "label": "Ш",
99 }
100 "KC_O": {
101 "key": "RU_SHCH",
102 "label": "Щ",
103 }
104 "KC_P": {
105 "key": "RU_ZE",
106 "label": "З",
107 }
108 "KC_LBRC": {
109 "key": "RU_HA",
110 "label": "Х",
111 }
112 "KC_RBRC": {
113 "key": "RU_HARD",
114 "label": "Ъ",
115 }
116 "KC_BSLS": {
117 "key": "RU_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "RU_EF",
122 "label": "Ф",
123 }
124 "KC_S": {
125 "key": "RU_YERU",
126 "label": "Ы",
127 }
128 "KC_D": {
129 "key": "RU_VE",
130 "label": "В",
131 }
132 "KC_F": {
133 "key": "RU_A",
134 "label": "А",
135 }
136 "KC_G": {
137 "key": "RU_PE",
138 "label": "П",
139 }
140 "KC_H": {
141 "key": "RU_ER",
142 "label": "Р",
143 }
144 "KC_J": {
145 "key": "RU_O",
146 "label": "О",
147 }
148 "KC_K": {
149 "key": "RU_EL",
150 "label": "Л",
151 }
152 "KC_L": {
153 "key": "RU_DE",
154 "label": "Д",
155 }
156 "KC_SCLN": {
157 "key": "RU_ZHE",
158 "label": "Ж",
159 }
160 "KC_QUOT": {
161 "key": "RU_E",
162 "label": "Э",
163 }
164 "KC_Z": {
165 "key": "RU_YA",
166 "label": "Я",
167 }
168 "KC_X": {
169 "key": "RU_CHE",
170 "label": "Ч",
171 }
172 "KC_C": {
173 "key": "RU_ES",
174 "label": "С",
175 }
176 "KC_V": {
177 "key": "RU_EM",
178 "label": "М",
179 }
180 "KC_B": {
181 "key": "RU_I",
182 "label": "И",
183 }
184 "KC_N": {
185 "key": "RU_TE",
186 "label": "Т",
187 }
188 "KC_M": {
189 "key": "RU_SOFT",
190 "label": "Ь",
191 }
192 "KC_COMM": {
193 "key": "RU_BE",
194 "label": "Б",
195 }
196 "KC_DOT": {
197 "key": "RU_YU",
198 "label": "Ю",
199 }
200 "KC_SLSH": {
201 "key": "RU_DOT",
202 "label": ".",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ │ │ , │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(RU_1)": {
218 "key": "RU_EXLM",
219 "label": "!",
220 }
221 "S(RU_2)": {
222 "key": "RU_DQUO",
223 "label": "\"",
224 }
225 "S(RU_3)": {
226 "key": "RU_NUM",
227 "label": "№",
228 }
229 "S(RU_4)": {
230 "key": "RU_SCLN",
231 "label": ";",
232 }
233 "S(RU_5)": {
234 "key": "RU_PERC",
235 "label": "%",
236 }
237 "S(RU_6)": {
238 "key": "RU_COLN",
239 "label": ":",
240 }
241 "S(RU_7)": {
242 "key": "RU_QUES",
243 "label": "?",
244 }
245 "S(RU_8)": {
246 "key": "RU_ASTR",
247 "label": "*",
248 }
249 "S(RU_9)": {
250 "key": "RU_LPRN",
251 "label": "(",
252 }
253 "S(RU_0)": {
254 "key": "RU_RPRN",
255 "label": ")",
256 }
257 "S(RU_MINS)": {
258 "key": "RU_UNDS",
259 "label": "_",
260 }
261 "S(RU_EQL)": {
262 "key": "RU_PLUS",
263 "label": "+",
264 }
265 "S(RU_BSLS)": {
266 "key": "RU_SLSH",
267 "label": "/",
268 }
269 "S(RU_DOT)": {
270 "key": "RU_COMM",
271 "label": ",",
272 }
273/* AltGr symbols
274 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
275 * │ │ │ │ │ │ │ │ │ ₽ │ │ │ │ │ │
276 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
277 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
278 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
279 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
280 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
281 * │ │ │ │ │ │ │ │ │ │ │ │ │
282 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
283 * │ │ │ │ │ │ │ │ │
284 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
285 */
286 "ALGR(RU_8)": {
287 "key": "RU_RUBL",
288 "label": "₽",
289 }
290 }
291} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson
new file mode 100644
index 0000000000..98957930a0
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson
@@ -0,0 +1,307 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Љ │ Њ │ Е │ Р │ Т │ З │ У │ И │ О │ П │ Ш │ Ђ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ А │ С │ Д │ Ф │ Г │ Х │ Ј │ К │ Л │ Ч │ Ћ │ Ж │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Ѕ │ Џ │ Ц │ В │ Б │ Н │ М │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "RS_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "RS_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "RS_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "RS_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "RS_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "RS_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "RS_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "RS_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "RS_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "RS_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "RS_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "RS_QUOT",
62 "label": "' (dead)",
63 }
64 "KC_EQL": {
65 "key": "RS_PLUS",
66 "label": "+",
67 }
68 "KC_Q": {
69 "key": "RS_LJE",
70 "label": "Љ",
71 }
72 "KC_W": {
73 "key": "RS_NJE",
74 "label": "Њ",
75 }
76 "KC_E": {
77 "key": "RS_IE",
78 "label": "Е",
79 }
80 "KC_R": {
81 "key": "RS_ER",
82 "label": "Р",
83 }
84 "KC_T": {
85 "key": "RS_TE",
86 "label": "Т",
87 }
88 "KC_Y": {
89 "key": "RS_ZE",
90 "label": "З",
91 }
92 "KC_U": {
93 "key": "RS_U",
94 "label": "У",
95 }
96 "KC_I": {
97 "key": "RS_I",
98 "label": "И",
99 }
100 "KC_O": {
101 "key": "RS_O",
102 "label": "О",
103 }
104 "KC_P": {
105 "key": "RS_PE",
106 "label": "П",
107 }
108 "KC_LBRC": {
109 "key": "RS_SHA",
110 "label": "Ш",
111 }
112 "KC_RBRC": {
113 "key": "RS_DJE",
114 "label": "Ђ",
115 }
116 "KC_A": {
117 "key": "RS_A",
118 "label": "А",
119 }
120 "KC_S": {
121 "key": "RS_ES",
122 "label": "С",
123 }
124 "KC_D": {
125 "key": "RS_DE",
126 "label": "Д",
127 }
128 "KC_F": {
129 "key": "RS_EF",
130 "label": "Ф",
131 }
132 "KC_G": {
133 "key": "RS_GHE",
134 "label": "Г",
135 }
136 "KC_H": {
137 "key": "RS_HA",
138 "label": "Х",
139 }
140 "KC_J": {
141 "key": "RS_JE",
142 "label": "Ј",
143 }
144 "KC_K": {
145 "key": "RS_KA",
146 "label": "К",
147 }
148 "KC_L": {
149 "key": "RS_EL",
150 "label": "Л",
151 }
152 "KC_SCLN": {
153 "key": "RS_CHE",
154 "label": "Ч",
155 }
156 "KC_QUOT": {
157 "key": "RS_TSHE",
158 "label": "Ћ",
159 }
160 "KC_NUHS": {
161 "key": "RS_ZHE",
162 "label": "Ж",
163 }
164 "KC_NUBS": {
165 "key": "RS_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "RS_DZE",
170 "label": "Ѕ",
171 }
172 "KC_X": {
173 "key": "RS_DZHE",
174 "label": "Џ",
175 }
176 "KC_C": {
177 "key": "RS_TSE",
178 "label": "Ц",
179 }
180 "KC_V": {
181 "key": "RS_VE",
182 "label": "В",
183 }
184 "KC_B": {
185 "key": "RS_BE",
186 "label": "Б",
187 }
188 "KC_N": {
189 "key": "RS_EN",
190 "label": "Н",
191 }
192 "KC_M": {
193 "key": "RS_EM",
194 "label": "М",
195 }
196 "KC_COMM": {
197 "key": "RS_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "RS_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "RS_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(RS_GRV)": {
222 "key": "RS_TILD",
223 "label": "~",
224 }
225 "S(RS_1)": {
226 "key": "RS_EXLM",
227 "label": "!",
228 }
229 "S(RS_2)": {
230 "key": "RS_DQUO",
231 "label": "\"",
232 }
233 "S(RS_3)": {
234 "key": "RS_HASH",
235 "label": "#",
236 }
237 "S(RS_4)": {
238 "key": "RS_DLR",
239 "label": "$",
240 }
241 "S(RS_5)": {
242 "key": "RS_PERC",
243 "label": "%",
244 }
245 "S(RS_6)": {
246 "key": "RS_AMPR",
247 "label": "&",
248 }
249 "S(RS_7)": {
250 "key": "RS_SLSH",
251 "label": "/",
252 }
253 "S(RS_8)": {
254 "key": "RS_LPRN",
255 "label": "(",
256 }
257 "S(RS_9)": {
258 "key": "RS_RPRN",
259 "label": ")",
260 }
261 "S(RS_0)": {
262 "key": "RS_EQL",
263 "label": "=",
264 }
265 "S(RS_QUOT)": {
266 "key": "RS_QUES",
267 "label": "?",
268 }
269 "S(RS_PLUS)": {
270 "key": "RS_ASTR",
271 "label": "*",
272 }
273 "S(RS_LABK)": {
274 "key": "RS_RABK",
275 "label": ">",
276 }
277 "S(RS_COMM)": {
278 "key": "RS_SCLN",
279 "label": ";",
280 }
281 "S(RS_DOT)": {
282 "key": "RS_COLN",
283 "label": ":",
284 }
285 "S(RS_MINS)": {
286 "key": "RS_UNDS",
287 "label": "_",
288 }
289/* AltGr symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
291 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
293 * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
295 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
296 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
297 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
298 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
299 * │ │ │ │ │ │ │ │ │
300 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
301 */
302 "ALGR(RS_IE)": {
303 "key": "RS_EURO",
304 "label": "€",
305 }
306 }
307} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson
new file mode 100644
index 0000000000..ca4746b646
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson
@@ -0,0 +1,407 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ‚ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "RS_SLQU",
18 "label": "‚ (dead)",
19 }
20 "KC_1": {
21 "key": "RS_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "RS_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "RS_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "RS_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "RS_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "RS_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "RS_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "RS_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "RS_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "RS_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "RS_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "RS_PLUS",
66 "label": "+",
67 }
68 "KC_Q": {
69 "key": "RS_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "RS_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "RS_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "RS_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "RS_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "RS_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "RS_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "RS_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "RS_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "RS_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "RS_SCAR",
110 "label": "Š",
111 }
112 "KC_RBRC": {
113 "key": "RS_DSTR",
114 "label": "Đ",
115 }
116 "KC_A": {
117 "key": "RS_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "RS_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "RS_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "RS_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "RS_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "RS_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "RS_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "RS_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "RS_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "RS_CCAR",
154 "label": "Č",
155 }
156 "KC_QUOT": {
157 "key": "RS_CACU",
158 "label": "Ć",
159 }
160 "KC_NUHS": {
161 "key": "RS_ZCAR",
162 "label": "Ž",
163 }
164 "KC_NUBS": {
165 "key": "RS_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "RS_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "RS_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "RS_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "RS_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "RS_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "RS_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "RS_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "RS_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "RS_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "RS_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(RS_SLQU)": {
222 "key": "RS_TILD",
223 "label": "~",
224 }
225 "S(RS_1)": {
226 "key": "RS_EXLM",
227 "label": "!",
228 }
229 "S(RS_2)": {
230 "key": "RS_DQUO",
231 "label": "\"",
232 }
233 "S(RS_3)": {
234 "key": "RS_HASH",
235 "label": "#",
236 }
237 "S(RS_4)": {
238 "key": "RS_DLR",
239 "label": "$",
240 }
241 "S(RS_5)": {
242 "key": "RS_PERC",
243 "label": "%",
244 }
245 "S(RS_6)": {
246 "key": "RS_AMPR",
247 "label": "&",
248 }
249 "S(RS_7)": {
250 "key": "RS_SLSH",
251 "label": "/",
252 }
253 "S(RS_8)": {
254 "key": "RS_LPRN",
255 "label": "(",
256 }
257 "S(RS_9)": {
258 "key": "RS_RPRN",
259 "label": ")",
260 }
261 "S(RS_0)": {
262 "key": "RS_EQL",
263 "label": "=",
264 }
265 "S(RS_QUOT)": {
266 "key": "RS_QUES",
267 "label": "?",
268 }
269 "S(RS_PLUS)": {
270 "key": "RS_ASTR",
271 "label": "*",
272 }
273 "S(RS_LABK)": {
274 "key": "RS_RABK",
275 "label": ">",
276 }
277 "S(RS_COMM)": {
278 "key": "RS_SCLN",
279 "label": ";",
280 }
281 "S(RS_DOT)": {
282 "key": "RS_COLN",
283 "label": ":",
284 }
285 "S(RS_MINS)": {
286 "key": "RS_UNDS",
287 "label": "_",
288 }
289/* AltGr symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
291 * │ │ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
293 * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
295 * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
296 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
297 * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
298 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
299 * │ │ │ │ │ │ │ │ │
300 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
301 */
302 "ALGR(RS_2)": {
303 "key": "RS_CARN",
304 "label": "ˇ (dead)",
305 }
306 "ALGR(RS_3)": {
307 "key": "RS_CIRC",
308 "label": "^ (dead)",
309 }
310 "ALGR(RS_4)": {
311 "key": "RS_BREV",
312 "label": "˘ (dead)",
313 }
314 "ALGR(RS_5)": {
315 "key": "RS_RNGA",
316 "label": "° (dead)",
317 }
318 "ALGR(RS_6)": {
319 "key": "RS_OGON",
320 "label": "˛ (dead)",
321 }
322 "ALGR(RS_7)": {
323 "key": "RS_GRV",
324 "label": "`",
325 }
326 "ALGR(RS_8)": {
327 "key": "RS_DOTA",
328 "label": "˙ (dead)",
329 }
330 "ALGR(RS_9)": {
331 "key": "RS_ACUT",
332 "label": "´ (dead)",
333 }
334 "ALGR(RS_0)": {
335 "key": "RS_DACU",
336 "label": "˝ (dead)",
337 }
338 "ALGR(RS_QUOT)": {
339 "key": "RS_DIAE",
340 "label": "¨ (dead)",
341 }
342 "ALGR(RS_PLUS)": {
343 "key": "RS_CEDL",
344 "label": "¸ (dead)",
345 }
346 "ALGR(RS_Q)": {
347 "key": "RS_BSLS",
348 "label": "\\",
349 }
350 "ALGR(RS_W)": {
351 "key": "RS_PIPE",
352 "label": "|",
353 }
354 "ALGR(RS_E)": {
355 "key": "RS_EURO",
356 "label": "€",
357 }
358 "ALGR(RS_SCAR)": {
359 "key": "RS_DIV",
360 "label": "÷",
361 }
362 "ALGR(RS_DSTR)": {
363 "key": "RS_MUL",
364 "label": "×",
365 }
366 "ALGR(RS_F)": {
367 "key": "RS_LBRC",
368 "label": "[",
369 }
370 "ALGR(RS_G)": {
371 "key": "RS_RBRC",
372 "label": "]",
373 }
374 "ALGR(RS_K)": {
375 "key": "RS_LLST",
376 "label": "ł",
377 }
378 "ALGR(RS_L)": {
379 "key": "RS_CLST",
380 "label": "Ł",
381 }
382 "ALGR(RS_CACU)": {
383 "key": "RS_SS",
384 "label": "ß",
385 }
386 "ALGR(RS_ZCAR)": {
387 "key": "RS_CURR",
388 "label": "¤",
389 }
390 "ALGR(RS_V)": {
391 "key": "RS_AT",
392 "label": "@",
393 }
394 "ALGR(RS_B)": {
395 "key": "RS_LCBR",
396 "label": "{",
397 }
398 "ALGR(RS_N)": {
399 "key": "RS_RCBR",
400 "label": "}",
401 }
402 "ALGR(RS_M)": {
403 "key": "RS_SECT",
404 "label": "§",
405 }
406 }
407} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson
new file mode 100644
index 0000000000..14eb4b783a
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson
@@ -0,0 +1,443 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ; │ + │ ľ │ š │ č │ ť │ ž │ ý │ á │ í │ é │ = │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ä │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ô │ § │ ň │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ & │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "SK_SCLN",
18 "label": ";",
19 }
20 "KC_1": {
21 "key": "SK_PLUS",
22 "label": "+",
23 }
24 "KC_2": {
25 "key": "SK_LCAR",
26 "label": "ľ",
27 }
28 "KC_3": {
29 "key": "SK_SCAR",
30 "label": "š",
31 }
32 "KC_4": {
33 "key": "SK_CCAR",
34 "label": "č",
35 }
36 "KC_5": {
37 "key": "SK_TCAR",
38 "label": "ť",
39 }
40 "KC_6": {
41 "key": "SK_ZCAR",
42 "label": "ž",
43 }
44 "KC_7": {
45 "key": "SK_YACU",
46 "label": "ý",
47 }
48 "KC_8": {
49 "key": "SK_AACU",
50 "label": "á",
51 }
52 "KC_9": {
53 "key": "SK_IACU",
54 "label": "í",
55 }
56 "KC_0": {
57 "key": "SK_EACU",
58 "label": "é",
59 }
60 "KC_MINS": {
61 "key": "SK_EQL",
62 "label": "=",
63 }
64 "KC_EQL": {
65 "key": "SK_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "SK_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "SK_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "SK_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "SK_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "SK_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "SK_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "SK_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "SK_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "SK_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "SK_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "SK_UACU",
110 "label": "ú",
111 }
112 "KC_RBRC": {
113 "key": "SK_ADIA",
114 "label": "ä",
115 }
116 "KC_A": {
117 "key": "SK_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "SK_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "SK_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "SK_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "SK_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "SK_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "SK_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "SK_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "SK_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "SK_OCIR",
154 "label": "ô",
155 }
156 "KC_QUOT": {
157 "key": "SK_SECT",
158 "label": "§",
159 }
160 "KC_NUHS": {
161 "key": "SK_NCAR",
162 "label": "ň",
163 }
164 "KC_NUBS": {
165 "key": "SK_AMPR",
166 "label": "&",
167 }
168 "KC_Z": {
169 "key": "SK_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "SK_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "SK_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "SK_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "SK_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "SK_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "SK_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "SK_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "SK_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "SK_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ) │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ * │ │ │ │ │ │ │ │ ? │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(SK_SCLN)": {
222 "key": "SK_RNGA",
223 "label": "° (dead)",
224 }
225 "S(SK_PLUS)": {
226 "key": "SK_1",
227 "label": "1",
228 }
229 "S(SK_LCAR)": {
230 "key": "SK_2",
231 "label": "2",
232 }
233 "S(SK_SCAR)": {
234 "key": "SK_3",
235 "label": "3",
236 }
237 "S(SK_CCAR)": {
238 "key": "SK_4",
239 "label": "4",
240 }
241 "S(SK_TCAR)": {
242 "key": "SK_5",
243 "label": "5",
244 }
245 "S(SK_ZCAR)": {
246 "key": "SK_6",
247 "label": "6",
248 }
249 "S(SK_YACU)": {
250 "key": "SK_7",
251 "label": "7",
252 }
253 "S(SK_AACU)": {
254 "key": "SK_8",
255 "label": "8",
256 }
257 "S(SK_IACU)": {
258 "key": "SK_9",
259 "label": "9",
260 }
261 "S(SK_EACU)": {
262 "key": "SK_0",
263 "label": "0",
264 }
265 "S(SK_EQL)": {
266 "key": "SK_PERC",
267 "label": "%",
268 }
269 "S(SK_ACUT)": {
270 "key": "SK_CARN",
271 "label": "ˇ (dead)",
272 }
273 "S(SK_UACU)": {
274 "key": "SK_SLSH",
275 "label": "/",
276 }
277 "S(SK_ADIA)": {
278 "key": "SK_LPRN",
279 "label": "(",
280 }
281 "S(SK_OCIR)": {
282 "key": "SK_DQUO",
283 "label": "\"",
284 }
285 "S(SK_SECT)": {
286 "key": "SK_EXLM",
287 "label": "!",
288 }
289 "S(SK_NCAR)": {
290 "key": "SK_RPRN",
291 "label": ")",
292 }
293 "S(SK_AMPR)": {
294 "key": "SK_ASTR",
295 "label": "*",
296 }
297 "S(SK_COMM)": {
298 "key": "SK_QUES",
299 "label": "?",
300 }
301 "S(SK_DOT)": {
302 "key": "SK_COLN",
303 "label": ":",
304 }
305 "S(SK_MINS)": {
306 "key": "SK_UNDS",
307 "label": "_",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ │ ~ │ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ │ ˝ │ ¨ │ ¸ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ \ │ | │ € │ │ │ │ │ │ │ ' │ ÷ │ × │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ < │ > │ # │ │ @ │ { │ } │ │ │ │ │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(SK_PLUS)": {
323 "key": "SK_TILD",
324 "label": "~",
325 }
326 "ALGR(SK_SCAR)": {
327 "key": "SK_CIRC",
328 "label": "^ (dead)",
329 }
330 "ALGR(SK_CCAR)": {
331 "key": "SK_BREV",
332 "label": "˘ (dead)",
333 }
334 "ALGR(SK_TCAR)": {
335 "key": "SK_OGON",
336 "label": "˛ (dead)",
337 }
338 "ALGR(SK_ZCAR)": {
339 "key": "SK_GRV",
340 "label": "`",
341 }
342 "ALGR(SK_YACU)": {
343 "key": "SK_DOTA",
344 "label": "˙ (dead)",
345 }
346 "ALGR(SK_EACU)": {
347 "key": "SK_DACU",
348 "label": "˝ (dead)",
349 }
350 "ALGR(SK_EQL)": {
351 "key": "SK_DIAE",
352 "label": "¨ (dead)",
353 }
354 "ALGR(SK_ACUT)": {
355 "key": "SK_CEDL",
356 "label": "¸ (dead)",
357 }
358 "ALGR(SK_Q)": {
359 "key": "SK_BSLS",
360 "label": "\\",
361 }
362 "ALGR(SK_W)": {
363 "key": "SK_PIPE",
364 "label": "|",
365 }
366 "ALGR(SK_E)": {
367 "key": "SK_EURO",
368 "label": "€",
369 }
370 "ALGR(SK_P)": {
371 "key": "SK_QUOT",
372 "label": "'",
373 }
374 "ALGR(SK_UACU)": {
375 "key": "SK_DIV",
376 "label": "÷",
377 }
378 "ALGR(SK_ADIA)": {
379 "key": "SK_MUL",
380 "label": "×",
381 }
382 "ALGR(SK_S)": {
383 "key": "SK_LDST",
384 "label": "đ",
385 }
386 "ALGR(SK_D)": {
387 "key": "SK_CDST",
388 "label": "Đ",
389 }
390 "ALGR(SK_F)": {
391 "key": "SK_LBRC",
392 "label": "[",
393 }
394 "ALGR(SK_G)": {
395 "key": "SK_RBRC",
396 "label": "]",
397 }
398 "ALGR(SK_K)": {
399 "key": "SK_LLST",
400 "label": "ł",
401 }
402 "ALGR(SK_L)": {
403 "key": "SK_CLST",
404 "label": "Ł",
405 }
406 "ALGR(SK_OCIR)": {
407 "key": "SK_DLR",
408 "label": "$",
409 }
410 "ALGR(SK_SECT)": {
411 "key": "SK_SS",
412 "label": "ß",
413 }
414 "ALGR(SK_NCAR)": {
415 "key": "SK_CURR",
416 "label": "¤",
417 }
418 "ALGR(SK_AMPR)": {
419 "key": "SK_LABK",
420 "label": "<",
421 }
422 "ALGR(SK_Y)": {
423 "key": "SK_RABK",
424 "label": ">",
425 }
426 "ALGR(SK_X)": {
427 "key": "SK_HASH",
428 "label": "#",
429 }
430 "ALGR(SK_V)": {
431 "key": "SK_AT",
432 "label": "@",
433 }
434 "ALGR(SK_B)": {
435 "key": "SK_LCBR",
436 "label": "{",
437 }
438 "ALGR(SK_N)": {
439 "key": "SK_RCBR",
440 "label": "}",
441 }
442 }
443} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson
new file mode 100644
index 0000000000..fd1a4eb4fc
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson
@@ -0,0 +1,403 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "SI_CEDL",
18 "label": "¸ (dead)",
19 }
20 "KC_1": {
21 "key": "SI_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "SI_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "SI_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "SI_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "SI_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "SI_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "SI_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "SI_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "SI_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "SI_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "SI_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "SI_PLUS",
66 "label": "+",
67 }
68 "KC_Q": {
69 "key": "SI_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "SI_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "SI_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "SI_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "SI_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "SI_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "SI_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "SI_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "SI_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "SI_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "SI_SCAR",
110 "label": "Š",
111 }
112 "KC_RBRC": {
113 "key": "SI_DSTR",
114 "label": "Đ",
115 }
116 "KC_A": {
117 "key": "SI_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "SI_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "SI_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "SI_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "SI_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "SI_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "SI_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "SI_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "SI_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "SI_CCAR",
154 "label": "Č",
155 }
156 "KC_QUOT": {
157 "key": "SI_CACU",
158 "label": "Ć",
159 }
160 "KC_NUHS": {
161 "key": "SI_ZCAR",
162 "label": "Ž",
163 }
164 "KC_NUBS": {
165 "key": "SI_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "SI_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "SI_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "SI_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "SI_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "SI_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "SI_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "SI_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "SI_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "SI_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "SI_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(SI_CEDL)": {
222 "key": "SI_DIAE",
223 "label": "¨ (dead)",
224 }
225 "S(SI_1)": {
226 "key": "SI_EXLM",
227 "label": "!",
228 }
229 "S(SI_2)": {
230 "key": "SI_DQUO",
231 "label": "\"",
232 }
233 "S(SI_3)": {
234 "key": "SI_HASH",
235 "label": "#",
236 }
237 "S(SI_4)": {
238 "key": "SI_DLR",
239 "label": "$",
240 }
241 "S(SI_5)": {
242 "key": "SI_PERC",
243 "label": "%",
244 }
245 "S(SI_6)": {
246 "key": "SI_AMPR",
247 "label": "&",
248 }
249 "S(SI_7)": {
250 "key": "SI_SLSH",
251 "label": "/",
252 }
253 "S(SI_8)": {
254 "key": "SI_LPRN",
255 "label": "(",
256 }
257 "S(SI_9)": {
258 "key": "SI_RPRN",
259 "label": ")",
260 }
261 "S(SI_0)": {
262 "key": "SI_EQL",
263 "label": "=",
264 }
265 "S(SI_QUOT)": {
266 "key": "SI_QUES",
267 "label": "?",
268 }
269 "S(SI_PLUS)": {
270 "key": "SI_ASTR",
271 "label": "*",
272 }
273 "S(SI_LABK)": {
274 "key": "SI_RABK",
275 "label": ">",
276 }
277 "S(SI_COMM)": {
278 "key": "SI_SCLN",
279 "label": ";",
280 }
281 "S(SI_DOT)": {
282 "key": "SI_COLN",
283 "label": ":",
284 }
285 "S(SI_MINS)": {
286 "key": "SI_UNDS",
287 "label": "_",
288 }
289/* AltGr symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
291 * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
293 * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
295 * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
296 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
297 * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
298 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
299 * │ │ │ │ │ │ │ │ │
300 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
301 */
302 "ALGR(SI_1)": {
303 "key": "SI_TILD",
304 "label": "~",
305 }
306 "ALGR(SI_2)": {
307 "key": "SI_CARN",
308 "label": "ˇ (dead)",
309 }
310 "ALGR(SI_3)": {
311 "key": "SI_CIRC",
312 "label": "^ (dead)",
313 }
314 "ALGR(SI_4)": {
315 "key": "SI_BREV",
316 "label": "˘ (dead)",
317 }
318 "ALGR(SI_5)": {
319 "key": "SI_RNGA",
320 "label": "° (dead)",
321 }
322 "ALGR(SI_6)": {
323 "key": "SI_OGON",
324 "label": "˛ (dead)",
325 }
326 "ALGR(SI_7)": {
327 "key": "SI_GRV",
328 "label": "`",
329 }
330 "ALGR(SI_8)": {
331 "key": "SI_DOTA",
332 "label": "˙ (dead)",
333 }
334 "ALGR(SI_9)": {
335 "key": "SI_ACUT",
336 "label": "´ (dead)",
337 }
338 "ALGR(SI_0)": {
339 "key": "SI_DACU",
340 "label": "˝ (dead)",
341 }
342 "ALGR(SI_Q)": {
343 "key": "SI_BSLS",
344 "label": "\\",
345 }
346 "ALGR(SI_W)": {
347 "key": "SI_PIPE",
348 "label": "|",
349 }
350 "ALGR(SI_E)": {
351 "key": "SI_EURO",
352 "label": "€",
353 }
354 "ALGR(SI_SCAR)": {
355 "key": "SI_DIV",
356 "label": "÷",
357 }
358 "ALGR(SI_DSTR)": {
359 "key": "SI_MUL",
360 "label": "×",
361 }
362 "ALGR(SI_F)": {
363 "key": "SI_LBRC",
364 "label": "[",
365 }
366 "ALGR(SI_G)": {
367 "key": "SI_RBRC",
368 "label": "]",
369 }
370 "ALGR(SI_K)": {
371 "key": "SI_LLST",
372 "label": "ł",
373 }
374 "ALGR(SI_L)": {
375 "key": "SI_CLST",
376 "label": "Ł",
377 }
378 "ALGR(SI_CACU)": {
379 "key": "SI_SS",
380 "label": "ß",
381 }
382 "ALGR(SI_ZCAR)": {
383 "key": "SI_CURR",
384 "label": "¤",
385 }
386 "ALGR(SI_V)": {
387 "key": "SI_AT",
388 "label": "@",
389 }
390 "ALGR(SI_B)": {
391 "key": "SI_LCBR",
392 "label": "{",
393 }
394 "ALGR(SI_N)": {
395 "key": "SI_RCBR",
396 "label": "}",
397 }
398 "ALGR(SI_M)": {
399 "key": "SI_SECT",
400 "label": "§",
401 }
402 }
403} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson
new file mode 100644
index 0000000000..db3b068e97
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson
@@ -0,0 +1,359 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ` │ + │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ñ │ ´ │ Ç │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "ES_MORD",
18 "label": "º",
19 }
20 "KC_1": {
21 "key": "ES_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "ES_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "ES_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "ES_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "ES_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "ES_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "ES_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "ES_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "ES_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "ES_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "ES_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "ES_IEXL",
66 "label": "¡",
67 }
68 "KC_Q": {
69 "key": "ES_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "ES_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "ES_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "ES_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "ES_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "ES_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "ES_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "ES_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "ES_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "ES_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "ES_GRV",
110 "label": "` (dead)",
111 }
112 "KC_RBRC": {
113 "key": "ES_PLUS",
114 "label": "+",
115 }
116 "KC_A": {
117 "key": "ES_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "ES_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "ES_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "ES_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "ES_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "ES_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "ES_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "ES_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "ES_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "ES_NTIL",
154 "label": "Ñ",
155 }
156 "KC_QUOT": {
157 "key": "ES_ACUT",
158 "label": "´ (dead)",
159 }
160 "KC_NUHS": {
161 "key": "ES_CCED",
162 "label": "Ç",
163 }
164 "KC_NUBS": {
165 "key": "ES_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "ES_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "ES_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "ES_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "ES_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "ES_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "ES_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "ES_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "ES_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "ES_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "ES_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(ES_MORD)": {
222 "key": "ES_FORD",
223 "label": "ª",
224 }
225 "S(ES_1)": {
226 "key": "ES_EXLM",
227 "label": "!",
228 }
229 "S(ES_2)": {
230 "key": "ES_DQUO",
231 "label": "\"",
232 }
233 "S(ES_3)": {
234 "key": "ES_BULT",
235 "label": "·",
236 }
237 "S(ES_4)": {
238 "key": "ES_DLR",
239 "label": "$",
240 }
241 "S(ES_5)": {
242 "key": "ES_PERC",
243 "label": "%",
244 }
245 "S(ES_6)": {
246 "key": "ES_AMPR",
247 "label": "&",
248 }
249 "S(ES_7)": {
250 "key": "ES_SLSH",
251 "label": "/",
252 }
253 "S(ES_8)": {
254 "key": "ES_LPRN",
255 "label": "(",
256 }
257 "S(ES_9)": {
258 "key": "ES_RPRN",
259 "label": ")",
260 }
261 "S(ES_0)": {
262 "key": "ES_EQL",
263 "label": "=",
264 }
265 "S(ES_QUOT)": {
266 "key": "ES_QUES",
267 "label": "?",
268 }
269 "S(ES_IEXL)": {
270 "key": "ES_IQUE",
271 "label": "¿",
272 }
273 "S(ES_GRV)": {
274 "key": "ES_CIRC",
275 "label": "^ (dead)",
276 }
277 "S(ES_PLUS)": {
278 "key": "ES_ASTR",
279 "label": "*",
280 }
281 "S(ES_ACUT)": {
282 "key": "ES_DIAE",
283 "label": "¨ (dead)",
284 }
285 "S(ES_LABK)": {
286 "key": "ES_RABK",
287 "label": ">",
288 }
289 "S(KC_COMM)": {
290 "key": "ES_SCLN",
291 "label": ";",
292 }
293 "S(KC_DOT)": {
294 "key": "ES_COLN",
295 "label": ":",
296 }
297 "S(ES_MINS)": {
298 "key": "ES_UNDS",
299 "label": "_",
300 }
301/* AltGr symbols
302 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
303 * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
304 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
305 * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
306 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
307 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
308 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
309 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
310 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
311 * │ │ │ │ │ │ │ │ │
312 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
313 */
314 "ALGR(ES_MORD)": {
315 "key": "ES_BSLS",
316 "label": "\\",
317 }
318 "ALGR(ES_1)": {
319 "key": "ES_PIPE",
320 "label": "|",
321 }
322 "ALGR(ES_2)": {
323 "key": "ES_AT",
324 "label": "@",
325 }
326 "ALGR(ES_3)": {
327 "key": "ES_HASH",
328 "label": "#",
329 }
330 "ALGR(ES_4)": {
331 "key": "ES_TILD",
332 "label": "~",
333 }
334 "ALGR(ES_5)": {
335 "key": "ES_EURO",
336 "label": "€",
337 }
338 "ALGR(ES_6)": {
339 "key": "ES_NOT",
340 "label": "¬",
341 }
342 "ALGR(ES_GRV)": {
343 "key": "ES_LBRC",
344 "label": "[",
345 }
346 "ALGR(ES_PLUS)": {
347 "key": "ES_RBRC",
348 "label": "]",
349 }
350 "ALGR(ES_ACUT)": {
351 "key": "ES_LCBR",
352 "label": "{",
353 }
354 "ALGR(ES_CCED)": {
355 "key": "ES_RCBR",
356 "label": "}",
357 }
358 }
359} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson
new file mode 100644
index 0000000000..39119a6a91
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson
@@ -0,0 +1,359 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ . │ , │ Ñ │ P │ Y │ F │ G │ C │ H │ L │ ` │ + │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ O │ E │ U │ I │ D │ R │ T │ N │ S │ ´ │ Ç │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ - │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "DV_MORD",
18 "label": "º",
19 }
20 "KC_1": {
21 "key": "DV_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "DV_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "DV_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "DV_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "DV_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "DV_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "DV_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "DV_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "DV_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "DV_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "DV_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "DV_IEXL",
66 "label": "¡",
67 }
68 "KC_Q": {
69 "key": "DV_DOT",
70 "label": ".",
71 }
72 "KC_W": {
73 "key": "DV_COMM",
74 "label": ",",
75 }
76 "KC_E": {
77 "key": "DV_NTIL",
78 "label": "Ñ",
79 }
80 "KC_R": {
81 "key": "DV_P",
82 "label": "P",
83 }
84 "KC_T": {
85 "key": "DV_Y",
86 "label": "Y",
87 }
88 "KC_Y": {
89 "key": "DV_F",
90 "label": "F",
91 }
92 "KC_U": {
93 "key": "DV_G",
94 "label": "G",
95 }
96 "KC_I": {
97 "key": "DV_C",
98 "label": "C",
99 }
100 "KC_O": {
101 "key": "DV_H",
102 "label": "H",
103 }
104 "KC_P": {
105 "key": "DV_L",
106 "label": "L",
107 }
108 "KC_LBRC": {
109 "key": "DV_GRV",
110 "label": "` (dead)",
111 }
112 "KC_RBRC": {
113 "key": "DV_PLUS",
114 "label": "+",
115 }
116 "KC_A": {
117 "key": "DV_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "DV_O",
122 "label": "O",
123 }
124 "KC_D": {
125 "key": "DV_E",
126 "label": "E",
127 }
128 "KC_F": {
129 "key": "DV_U",
130 "label": "U",
131 }
132 "KC_G": {
133 "key": "DV_I",
134 "label": "I",
135 }
136 "KC_H": {
137 "key": "DV_D",
138 "label": "D",
139 }
140 "KC_J": {
141 "key": "DV_R",
142 "label": "R",
143 }
144 "KC_K": {
145 "key": "DV_T",
146 "label": "T",
147 }
148 "KC_L": {
149 "key": "DV_N",
150 "label": "N",
151 }
152 "KC_SCLN": {
153 "key": "DV_S",
154 "label": "S",
155 }
156 "KC_QUOT": {
157 "key": "DV_ACUT",
158 "label": "´ (dead)",
159 }
160 "KC_NUHS": {
161 "key": "DV_CCED",
162 "label": "Ç",
163 }
164 "KC_NUBS": {
165 "key": "DV_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "DV_MINS",
170 "label": "-",
171 }
172 "KC_X": {
173 "key": "DV_Q",
174 "label": "Q",
175 }
176 "KC_C": {
177 "key": "DV_J",
178 "label": "J",
179 }
180 "KC_V": {
181 "key": "DV_K",
182 "label": "K",
183 }
184 "KC_B": {
185 "key": "DV_X",
186 "label": "X",
187 }
188 "KC_N": {
189 "key": "DV_B",
190 "label": "B",
191 }
192 "KC_M": {
193 "key": "DV_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "DV_W",
198 "label": "W",
199 }
200 "KC_DOT": {
201 "key": "DV_V",
202 "label": "V",
203 }
204 "KC_SLSH": {
205 "key": "DV_Z",
206 "label": "Z",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ : │ ; │ │ │ │ │ │ │ │ │ ^ │ * │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ _ │ │ │ │ │ │ │ │ │ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(DV_MORD)": {
222 "key": "DV_FORD",
223 "label": "ª",
224 }
225 "S(DV_1)": {
226 "key": "DV_EXLM",
227 "label": "!",
228 }
229 "S(DV_2)": {
230 "key": "DV_DQUO",
231 "label": "\"",
232 }
233 "S(DV_3)": {
234 "key": "DV_BULT",
235 "label": "·",
236 }
237 "S(DV_4)": {
238 "key": "DV_DLR",
239 "label": "$",
240 }
241 "S(DV_5)": {
242 "key": "DV_PERC",
243 "label": "%",
244 }
245 "S(DV_6)": {
246 "key": "DV_AMPR",
247 "label": "&",
248 }
249 "S(DV_7)": {
250 "key": "DV_SLSH",
251 "label": "/",
252 }
253 "S(DV_8)": {
254 "key": "DV_LPRN",
255 "label": "(",
256 }
257 "S(DV_9)": {
258 "key": "DV_RPRN",
259 "label": ")",
260 }
261 "S(DV_0)": {
262 "key": "DV_EQL",
263 "label": "=",
264 }
265 "S(DV_QUOT)": {
266 "key": "DV_QUES",
267 "label": "?",
268 }
269 "S(DV_IEXL)": {
270 "key": "DV_IQUE",
271 "label": "¿",
272 }
273 "S(DV_DOT)": {
274 "key": "DV_COLN",
275 "label": ":",
276 }
277 "S(DV_COMM)": {
278 "key": "DV_SCLN",
279 "label": ";",
280 }
281 "S(DV_GRV)": {
282 "key": "DV_CIRC",
283 "label": "^ (dead)",
284 }
285 "S(DV_PLUS)": {
286 "key": "DV_ASTR",
287 "label": "*",
288 }
289 "S(DV_ACUT)": {
290 "key": "DV_DIAE",
291 "label": "¨ (dead)",
292 }
293 "S(DV_LABK)": {
294 "key": "DV_RABK",
295 "label": ">",
296 }
297 "S(DV_MINS)": {
298 "key": "DV_UNDS",
299 "label": "_",
300 }
301/* AltGr symbols
302 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
303 * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
304 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
305 * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
306 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
307 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
308 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
309 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
310 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
311 * │ │ │ │ │ │ │ │ │
312 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
313 */
314 "ALGR(DV_MORD)": {
315 "key": "DV_BSLS",
316 "label": "\\",
317 }
318 "ALGR(DV_1)": {
319 "key": "DV_PIPE",
320 "label": "|",
321 }
322 "ALGR(DV_2)": {
323 "key": "DV_AT",
324 "label": "@",
325 }
326 "ALGR(DV_3)": {
327 "key": "DV_HASH",
328 "label": "#",
329 }
330 "ALGR(DV_4)": {
331 "key": "DV_TILD",
332 "label": "~",
333 }
334 "ALGR(DV_5)": {
335 "key": "DV_EURO",
336 "label": "€",
337 }
338 "ALGR(DV_6)": {
339 "key": "DV_NOT",
340 "label": "¬",
341 }
342 "ALGR(DV_GRV)": {
343 "key": "DV_LBRC",
344 "label": "[",
345 }
346 "ALGR(DV_PLUS)": {
347 "key": "DV_RBRC",
348 "label": "]",
349 }
350 "ALGR(DV_ACUT)": {
351 "key": "DV_LCBR",
352 "label": "{",
353 }
354 "ALGR(DV_CCED)": {
355 "key": "DV_RCBR",
356 "label": "}",
357 }
358 }
359} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_steno_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_steno_0.0.1.hjson
new file mode 100644
index 0000000000..dcfc562004
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_steno_0.0.1.hjson
@@ -0,0 +1,4 @@
1{
2 "aliases": {
3 }
4} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson
new file mode 100644
index 0000000000..6db71ea241
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson
@@ -0,0 +1,359 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "SE_SECT",
18 "label": "§",
19 }
20 "KC_1": {
21 "key": "SE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "SE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "SE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "SE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "SE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "SE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "SE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "SE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "SE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "SE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "SE_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "SE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "SE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "SE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "SE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "SE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "SE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "SE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "SE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "SE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "SE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "SE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "SE_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "SE_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "SE_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "SE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "SE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "SE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "SE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "SE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "SE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "SE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "SE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "SE_ODIA",
154 "label": "Ö",
155 }
156 "KC_QUOT": {
157 "key": "SE_ADIA",
158 "label": "Ä",
159 }
160 "KC_NUHS": {
161 "key": "SE_QUOT",
162 "label": "'",
163 }
164 "KC_NUBS": {
165 "key": "SE_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "SE_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "SE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "SE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "SE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "SE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "SE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "SE_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "SE_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "SE_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "SE_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(SE_SECT)": {
222 "key": "SE_HALF",
223 "label": "½",
224 }
225 "S(SE_1)": {
226 "key": "SE_EXLM",
227 "label": "!",
228 }
229 "S(SE_2)": {
230 "key": "SE_DQUO",
231 "label": "\"",
232 }
233 "S(SE_3)": {
234 "key": "SE_HASH",
235 "label": "#",
236 }
237 "S(SE_4)": {
238 "key": "SE_CURR",
239 "label": "¤",
240 }
241 "S(SE_5)": {
242 "key": "SE_PERC",
243 "label": "%",
244 }
245 "S(SE_6)": {
246 "key": "SE_AMPR",
247 "label": "&",
248 }
249 "S(SE_7)": {
250 "key": "SE_SLSH",
251 "label": "/",
252 }
253 "S(SE_8)": {
254 "key": "SE_LPRN",
255 "label": "(",
256 }
257 "S(SE_9)": {
258 "key": "SE_RPRN",
259 "label": ")",
260 }
261 "S(SE_0)": {
262 "key": "SE_EQL",
263 "label": "=",
264 }
265 "S(SE_PLUS)": {
266 "key": "SE_QUES",
267 "label": "?",
268 }
269 "S(SE_ACUT)": {
270 "key": "SE_GRV",
271 "label": "` (dead)",
272 }
273 "S(SE_DIAE)": {
274 "key": "SE_CIRC",
275 "label": "^ (dead)",
276 }
277 "S(SE_QUOT)": {
278 "key": "SE_ASTR",
279 "label": "*",
280 }
281 "S(SE_LABK)": {
282 "key": "SE_RABK",
283 "label": ">",
284 }
285 "S(SE_COMM)": {
286 "key": "SE_SCLN",
287 "label": ";",
288 }
289 "S(SE_DOT)": {
290 "key": "SE_COLN",
291 "label": ":",
292 }
293 "S(SE_MINS)": {
294 "key": "SE_UNDS",
295 "label": "_",
296 }
297/* AltGr symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
299 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
301 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
305 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
306 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
307 * │ │ │ │ │ │ │ │ │
308 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
309 */
310 "ALGR(SE_2)": {
311 "key": "SE_AT",
312 "label": "@",
313 }
314 "ALGR(SE_3)": {
315 "key": "SE_PND",
316 "label": "£",
317 }
318 "ALGR(SE_4)": {
319 "key": "SE_DLR",
320 "label": "$",
321 }
322 "ALGR(SE_5)": {
323 "key": "SE_EURO",
324 "label": "€",
325 }
326 "ALGR(SE_7)": {
327 "key": "SE_LCBR",
328 "label": "{",
329 }
330 "ALGR(SE_8)": {
331 "key": "SE_LBRC",
332 "label": "[",
333 }
334 "ALGR(SE_9)": {
335 "key": "SE_RBRC",
336 "label": "]",
337 }
338 "ALGR(SE_0)": {
339 "key": "SE_RCBR",
340 "label": "}",
341 }
342 "ALGR(SE_PLUS)": {
343 "key": "SE_BSLS",
344 "label": "\\",
345 }
346 "ALGR(SE_DIAE)": {
347 "key": "SE_TILD",
348 "label": "~ (dead)",
349 }
350 "ALGR(SE_LABK)": {
351 "key": "SE_PIPE",
352 "label": "|",
353 }
354 "ALGR(SE_M)": {
355 "key": "SE_MICR",
356 "label": "µ",
357 }
358 }
359} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson
new file mode 100644
index 0000000000..ab7c3ad8d1
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson
@@ -0,0 +1,642 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "SE_LABK",
18 "label": "<",
19 }
20 "KC_1": {
21 "key": "SE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "SE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "SE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "SE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "SE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "SE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "SE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "SE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "SE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "SE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "SE_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "SE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "SE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "SE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "SE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "SE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "SE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "SE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "SE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "SE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "SE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "SE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "SE_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "SE_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_NUHS": {
117 "key": "SE_QUOT",
118 "label": "'",
119 }
120 "KC_A": {
121 "key": "SE_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "SE_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "SE_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "SE_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "SE_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "SE_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "SE_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "SE_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "SE_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "SE_ODIA",
158 "label": "Ö",
159 }
160 "KC_QUOT": {
161 "key": "SE_ADIA",
162 "label": "Ä",
163 }
164 "KC_Z": {
165 "key": "SE_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "SE_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "SE_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "SE_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "SE_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "SE_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "SE_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "SE_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "SE_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "SE_MINS",
202 "label": "-",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
206 * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
212 * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
213 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
214 * │ │ │ │ │ │ │ │
215 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
216 */
217 "S(SE_LABK)": {
218 "key": "SE_RABK",
219 "label": ">",
220 }
221 "S(SE_1)": {
222 "key": "SE_EXLM",
223 "label": "!",
224 }
225 "S(SE_2)": {
226 "key": "SE_DQUO",
227 "label": "\"",
228 }
229 "S(SE_3)": {
230 "key": "SE_HASH",
231 "label": "#",
232 }
233 "S(SE_4)": {
234 "key": "SE_EURO",
235 "label": "€",
236 }
237 "S(SE_5)": {
238 "key": "SE_PERC",
239 "label": "%",
240 }
241 "S(SE_6)": {
242 "key": "SE_AMPR",
243 "label": "&",
244 }
245 "S(SE_7)": {
246 "key": "SE_SLSH",
247 "label": "/",
248 }
249 "S(SE_8)": {
250 "key": "SE_LPRN",
251 "label": "(",
252 }
253 "S(SE_9)": {
254 "key": "SE_RPRN",
255 "label": ")",
256 }
257 "S(SE_0)": {
258 "key": "SE_EQL",
259 "label": "=",
260 }
261 "S(SE_PLUS)": {
262 "key": "SE_QUES",
263 "label": "?",
264 }
265 "S(SE_ACUT)": {
266 "key": "SE_GRV",
267 "label": "`",
268 }
269 "S(SE_DIAE)": {
270 "key": "SE_CIRC",
271 "label": "^ (dead)",
272 }
273 "S(SE_QUOT)": {
274 "key": "SE_ASTR",
275 "label": "*",
276 }
277 "S(SE_COMM)": {
278 "key": "SE_SCLN",
279 "label": ";",
280 }
281 "S(SE_DOT)": {
282 "key": "SE_COLN",
283 "label": ":",
284 }
285 "S(SE_MINS)": {
286 "key": "SE_UNDS",
287 "label": "_",
288 }
289/* Alted symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
291 * │ ≤ │ © │ ™ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
293 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ @ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
295 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
296 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
297 * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
298 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
299 * │ │ │ │ │ │ │ │
300 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
301 *
302 */
303 "A(SE_LABK)": {
304 "key": "SE_LTEQ",
305 "label": "≤",
306 }
307 "A(SE_1)": {
308 "key": "SE_COPY",
309 "label": "©",
310 }
311 "A(SE_2)": {
312 "key": "SE_TM",
313 "label": "™",
314 }
315 "A(SE_3)": {
316 "key": "SE_PND",
317 "label": "£",
318 }
319 "A(SE_4)": {
320 "key": "SE_DLR",
321 "label": "$",
322 }
323 "A(SE_5)": {
324 "key": "SE_INFN",
325 "label": "∞",
326 }
327 "A(SE_6)": {
328 "key": "SE_SECT",
329 "label": "§",
330 }
331 "A(SE_7)": {
332 "key": "SE_PIPE",
333 "label": "|",
334 }
335 "A(SE_8)": {
336 "key": "SE_LBRC",
337 "label": "[",
338 }
339 "A(SE_9)": {
340 "key": "SE_RBRC",
341 "label": "]",
342 }
343 "A(SE_0)": {
344 "key": "SE_AEQL",
345 "label": "≈",
346 }
347 "A(SE_PLUS)": {
348 "key": "SE_PLMN",
349 "label": "±",
350 }
351 "A(SE_Q)": {
352 "key": "SE_BULT",
353 "label": "•",
354 }
355 "A(SE_W)": {
356 "key": "SE_OMEG",
357 "label": "Ω",
358 }
359 "A(SE_E)": {
360 "key": "SE_EACU",
361 "label": "É",
362 }
363 "A(SE_R)": {
364 "key": "SE_REGD",
365 "label": "®",
366 }
367 "A(SE_T)": {
368 "key": "SE_DAGG",
369 "label": "†",
370 }
371 "A(SE_Y)": {
372 "key": "SE_MICR",
373 "label": "µ",
374 }
375 "A(SE_U)": {
376 "key": "SE_UDIA",
377 "label": "Ü",
378 }
379 "A(SE_I)": {
380 "key": "SE_DLSI",
381 "label": "ı",
382 }
383 "A(SE_O)": {
384 "key": "SE_OE",
385 "label": "Œ",
386 }
387 "A(SE_P)": {
388 "key": "SE_PI",
389 "label": "π",
390 }
391 "A(SE_ARNG)": {
392 "key": "SE_DOTA",
393 "label": "˙",
394 }
395 "A(SE_DIAE)": {
396 "key": "SE_TILD",
397 "label": "~ (dead)",
398 }
399 "A(SE_QUOT)": {
400 "key": "SE_AT",
401 "label": "@",
402 }
403 "A(SE_A)": {
404 "key": "SE_APPL",
405 "label": " (Apple logo)",
406 }
407 "A(SE_S)": {
408 "key": "SE_SS",
409 "label": "ß",
410 }
411 "A(SE_D)": {
412 "key": "SE_PDIF",
413 "label": "∂",
414 }
415 "A(SE_F)": {
416 "key": "SE_FHK",
417 "label": "ƒ",
418 }
419 "A(SE_G)": {
420 "key": "SE_CEDL",
421 "label": "¸",
422 }
423 "A(SE_H)": {
424 "key": "SE_OGON",
425 "label": "˛",
426 }
427 "A(SE_J)": {
428 "key": "SE_SQRT",
429 "label": "√",
430 }
431 "A(SE_K)": {
432 "key": "SE_FORD",
433 "label": "ª",
434 }
435 "A(SE_L)": {
436 "key": "SE_FI",
437 "label": "fi",
438 }
439 "A(SE_ODIA)": {
440 "key": "SE_OSTR",
441 "label": "Ø",
442 }
443 "A(SE_ADIA)": {
444 "key": "SE_AE",
445 "label": "Æ",
446 }
447 "A(SE_Z)": {
448 "key": "SE_DIV",
449 "label": "÷",
450 }
451 "A(SE_C)": {
452 "key": "SE_CCED",
453 "label": "Ç",
454 }
455 "A(SE_V)": {
456 "key": "SE_LSAQ",
457 "label": "‹",
458 }
459 "A(SE_B)": {
460 "key": "SE_RSAQ",
461 "label": "›",
462 }
463 "A(SE_N)": {
464 "key": "SE_LSQU",
465 "label": "‘",
466 }
467 "A(SE_M)": {
468 "key": "SE_RSQU",
469 "label": "’",
470 }
471 "A(SE_COMM)": {
472 "key": "SE_SLQU",
473 "label": "‚",
474 }
475 "A(SE_DOT)": {
476 "key": "SE_ELLP",
477 "label": "…",
478 }
479 "A(SE_MINS)": {
480 "key": "SE_NDSH",
481 "label": "–",
482 }
483/* Shift+Alted symbols
484 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
485 * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
486 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
487 * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
488 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
489 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
490 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
491 * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
492 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
493 * │ │ │ │ │ │ │ │
494 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
495 *
496 */
497 "S(A(SE_LABK))": {
498 "key": "SE_GTEQ",
499 "label": "≥",
500 }
501 "S(A(SE_1))": {
502 "key": "SE_IEXL",
503 "label": "¡",
504 }
505 "S(A(SE_3))": {
506 "key": "SE_YEN",
507 "label": "¥",
508 }
509 "S(A(SE_4))": {
510 "key": "SE_CENT",
511 "label": "¢",
512 }
513 "S(A(SE_5))": {
514 "key": "SE_PERM",
515 "label": "‰",
516 }
517 "S(A(SE_6))": {
518 "key": "SE_PILC",
519 "label": "¶",
520 }
521 "S(A(SE_7))": {
522 "key": "SE_BSLS",
523 "label": "\\",
524 }
525 "S(A(SE_8))": {
526 "key": "SE_LCBR",
527 "label": "{",
528 }
529 "S(A(SE_9))": {
530 "key": "SE_RCBR",
531 "label": "}",
532 }
533 "S(A(SE_0))": {
534 "key": "SE_NEQL",
535 "label": "≠",
536 }
537 "S(A(SE_PLUS))": {
538 "key": "SE_IQUE",
539 "label": "¿",
540 }
541 "S(A(SE_Q))": {
542 "key": "SE_DEG",
543 "label": "°",
544 }
545 "S(A(SE_W))": {
546 "key": "SE_DACU",
547 "label": "˝",
548 }
549 "S(A(SE_T))": {
550 "key": "SE_DDAG",
551 "label": "‡",
552 }
553 "S(A(SE_Y))": {
554 "key": "SE_STIL",
555 "label": "˜",
556 }
557 "S(A(SE_I))": {
558 "key": "SE_DCIR",
559 "label": "ˆ",
560 }
561 "S(A(SE_P))": {
562 "key": "SE_NARP",
563 "label": "∏",
564 }
565 "S(A(SE_ARNG))": {
566 "key": "SE_RNGA",
567 "label": "˚",
568 }
569 "S(A(SE_A))": {
570 "key": "SE_LOZN",
571 "label": "◊",
572 }
573 "S(A(SE_S))": {
574 "key": "SE_NARS",
575 "label": "∑",
576 }
577 "S(A(SE_D))": {
578 "key": "SE_INCR",
579 "label": "∆",
580 }
581 "S(A(SE_F))": {
582 "key": "SE_INTG",
583 "label": "∫",
584 }
585 "S(A(SE_G))": {
586 "key": "SE_MACR",
587 "label": "¯",
588 }
589 "S(A(SE_H))": {
590 "key": "SE_BREV",
591 "label": "˘",
592 }
593 "S(A(SE_J))": {
594 "key": "SE_NOT",
595 "label": "¬",
596 }
597 "S(A(SE_K))": {
598 "key": "SE_MORD",
599 "label": "º",
600 }
601 "S(A(SE_L))": {
602 "key": "SE_FL",
603 "label": "fl",
604 }
605 "S(A(SE_Z))": {
606 "key": "SE_FRSL",
607 "label": "⁄",
608 }
609 "S(A(SE_X))": {
610 "key": "SE_CARN",
611 "label": "ˇ",
612 }
613 "S(A(SE_V))": {
614 "key": "SE_LDAQ",
615 "label": "«",
616 }
617 "S(A(SE_B))": {
618 "key": "SE_RDAQ",
619 "label": "»",
620 }
621 "S(A(SE_N))": {
622 "key": "SE_LDQU",
623 "label": "“",
624 }
625 "S(A(SE_M))": {
626 "key": "SE_RDQU",
627 "label": "”",
628 }
629 "S(A(SE_COMM))": {
630 "key": "SE_DLQU",
631 "label": "„",
632 }
633 "S(A(SE_DOT))": {
634 "key": "SE_MDDT",
635 "label": "·",
636 }
637 "S(A(SE_MINS))": {
638 "key": "SE_MDSH",
639 "label": "—",
640 }
641 }
642} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson
new file mode 100644
index 0000000000..cafd815776
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson
@@ -0,0 +1,640 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "SE_SECT",
18 "label": "§",
19 }
20 "KC_1": {
21 "key": "SE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "SE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "SE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "SE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "SE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "SE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "SE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "SE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "SE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "SE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "SE_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "SE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "SE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "SE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "SE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "SE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "SE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "SE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "SE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "SE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "SE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "SE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "SE_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "SE_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "SE_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "SE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "SE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "SE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "SE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "SE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "SE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "SE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "SE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "SE_ODIA",
154 "label": "Ö",
155 }
156 "KC_QUOT": {
157 "key": "SE_ADIA",
158 "label": "Ä",
159 }
160 "KC_NUHS": {
161 "key": "SE_QUOT",
162 "label": "'",
163 }
164 "KC_NUBS": {
165 "key": "SE_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "SE_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "SE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "SE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "SE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "SE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "SE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "SE_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "SE_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "SE_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "SE_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
210 * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
218 * │ │ │ │ │ │ │ │
219 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
220 */
221 "S(SE_SECT)": {
222 "key": "SE_DEG",
223 "label": "°",
224 }
225 "S(SE_1)": {
226 "key": "SE_EXLM",
227 "label": "!",
228 }
229 "S(SE_2)": {
230 "key": "SE_DQUO",
231 "label": "\"",
232 }
233 "S(SE_3)": {
234 "key": "SE_HASH",
235 "label": "#",
236 }
237 "S(SE_4)": {
238 "key": "SE_EURO",
239 "label": "€",
240 }
241 "S(SE_5)": {
242 "key": "SE_PERC",
243 "label": "%",
244 }
245 "S(SE_6)": {
246 "key": "SE_AMPR",
247 "label": "&",
248 }
249 "S(SE_7)": {
250 "key": "SE_SLSH",
251 "label": "/",
252 }
253 "S(SE_8)": {
254 "key": "SE_LPRN",
255 "label": "(",
256 }
257 "S(SE_9)": {
258 "key": "SE_RPRN",
259 "label": ")",
260 }
261 "S(SE_0)": {
262 "key": "SE_EQL",
263 "label": "=",
264 }
265 "S(SE_PLUS)": {
266 "key": "SE_QUES",
267 "label": "?",
268 }
269 "S(SE_ACUT)": {
270 "key": "SE_GRV",
271 "label": "`",
272 }
273 "S(SE_DIAE)": {
274 "key": "SE_CIRC",
275 "label": "^ (dead)",
276 }
277 "S(SE_QUOT)": {
278 "key": "SE_ASTR",
279 "label": "*",
280 }
281 "S(SE_LABK)": {
282 "key": "SE_RABK",
283 "label": ">",
284 }
285 "S(SE_COMM)": {
286 "key": "SE_SCLN",
287 "label": ";",
288 }
289 "S(SE_DOT)": {
290 "key": "SE_COLN",
291 "label": ":",
292 }
293 "S(SE_MINS)": {
294 "key": "SE_UNDS",
295 "label": "_",
296 }
297/* Alted symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
299 * │ ¶ │ © │ ™ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
301 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ @ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
305 * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
306 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
307 * │ │ │ │ │ │ │ │
308 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
309 */
310 "A(SE_SECT)": {
311 "key": "SE_PILC",
312 "label": "¶",
313 }
314 "A(SE_1)": {
315 "key": "SE_COPY",
316 "label": "©",
317 }
318 "A(SE_2)": {
319 "key": "SE_TM",
320 "label": "™",
321 }
322 "A(SE_3)": {
323 "key": "SE_PND",
324 "label": "£",
325 }
326 "A(SE_4)": {
327 "key": "SE_DLR",
328 "label": "$",
329 }
330 "A(SE_5)": {
331 "key": "SE_INFN",
332 "label": "∞",
333 }
334 "A(SE_7)": {
335 "key": "SE_PIPE",
336 "label": "|",
337 }
338 "A(SE_8)": {
339 "key": "SE_LBRC",
340 "label": "[",
341 }
342 "A(SE_9)": {
343 "key": "SE_RBRC",
344 "label": "]",
345 }
346 "A(SE_0)": {
347 "key": "SE_AEQL",
348 "label": "≈",
349 }
350 "A(SE_PLUS)": {
351 "key": "SE_PLMN",
352 "label": "±",
353 }
354 "A(SE_Q)": {
355 "key": "SE_BULT",
356 "label": "•",
357 }
358 "A(SE_W)": {
359 "key": "SE_OMEG",
360 "label": "Ω",
361 }
362 "A(SE_E)": {
363 "key": "SE_EACU",
364 "label": "É",
365 }
366 "A(SE_R)": {
367 "key": "SE_REGD",
368 "label": "®",
369 }
370 "A(SE_T)": {
371 "key": "SE_DAGG",
372 "label": "†",
373 }
374 "A(SE_Y)": {
375 "key": "SE_MICR",
376 "label": "µ",
377 }
378 "A(SE_U)": {
379 "key": "SE_UDIA",
380 "label": "Ü",
381 }
382 "A(SE_I)": {
383 "key": "SE_DLSI",
384 "label": "ı",
385 }
386 "A(SE_O)": {
387 "key": "SE_OE",
388 "label": "Œ",
389 }
390 "A(SE_P)": {
391 "key": "SE_PI",
392 "label": "π",
393 }
394 "A(SE_ARNG)": {
395 "key": "SE_DOTA",
396 "label": "˙",
397 }
398 "A(SE_DIAE)": {
399 "key": "SE_TILD",
400 "label": "~ (dead)",
401 }
402 "A(SE_A)": {
403 "key": "SE_APPL",
404 "label": " (Apple logo)",
405 }
406 "A(SE_S)": {
407 "key": "SE_SS",
408 "label": "ß",
409 }
410 "A(SE_D)": {
411 "key": "SE_PDIF",
412 "label": "∂",
413 }
414 "A(SE_F)": {
415 "key": "SE_FHK",
416 "label": "ƒ",
417 }
418 "A(SE_G)": {
419 "key": "SE_CEDL",
420 "label": "¸",
421 }
422 "A(SE_H)": {
423 "key": "SE_OGON",
424 "label": "˛",
425 }
426 "A(SE_J)": {
427 "key": "SE_SQRT",
428 "label": "√",
429 }
430 "A(SE_K)": {
431 "key": "SE_FORD",
432 "label": "ª",
433 }
434 "A(SE_L)": {
435 "key": "SE_FI",
436 "label": "fi",
437 }
438 "A(SE_ODIA)": {
439 "key": "SE_OSTR",
440 "label": "Ø",
441 }
442 "A(SE_ADIA)": {
443 "key": "SE_AE",
444 "label": "Æ",
445 }
446 "A(SE_QUOT)": {
447 "key": "SE_AT",
448 "label": "@",
449 }
450 "A(SE_LABK)": {
451 "key": "SE_LTEQ",
452 "label": "≤",
453 }
454 "A(SE_Z)": {
455 "key": "SE_DIV",
456 "label": "÷",
457 }
458 "A(SE_C)": {
459 "key": "SE_CCED",
460 "label": "Ç",
461 }
462 "A(SE_V)": {
463 "key": "SE_LSAQ",
464 "label": "‹",
465 }
466 "A(SE_B)": {
467 "key": "SE_RSAQ",
468 "label": "›",
469 }
470 "A(SE_N)": {
471 "key": "SE_LSQU",
472 "label": "‘",
473 }
474 "A(SE_M)": {
475 "key": "SE_RSQU",
476 "label": "’",
477 }
478 "A(SE_COMM)": {
479 "key": "SE_SLQU",
480 "label": "‚",
481 }
482 "A(SE_DOT)": {
483 "key": "SE_ELLP",
484 "label": "…",
485 }
486 "A(SE_MINS)": {
487 "key": "SE_NDSH",
488 "label": "–",
489 }
490/* Shift+Alted symbols
491 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
492 * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
493 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
494 * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
495 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
496 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
497 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
498 * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
499 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
500 * │ │ │ │ │ │ │ │
501 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
502 */
503 "S(A(SE_1))": {
504 "key": "SE_IEXL",
505 "label": "¡",
506 }
507 "S(A(SE_3))": {
508 "key": "SE_YEN",
509 "label": "¥",
510 }
511 "S(A(SE_4))": {
512 "key": "SE_CENT",
513 "label": "¢",
514 }
515 "S(A(SE_5))": {
516 "key": "SE_PERM",
517 "label": "‰",
518 }
519 "S(A(SE_7))": {
520 "key": "SE_BSLS",
521 "label": "\\",
522 }
523 "S(A(SE_8))": {
524 "key": "SE_LCBR",
525 "label": "{",
526 }
527 "S(A(SE_9))": {
528 "key": "SE_RCBR",
529 "label": "}",
530 }
531 "S(A(SE_0))": {
532 "key": "SE_NEQL",
533 "label": "≠",
534 }
535 "S(A(SE_PLUS))": {
536 "key": "SE_IQUE",
537 "label": "¿",
538 }
539 "S(A(SE_W))": {
540 "key": "SE_DACU",
541 "label": "˝",
542 }
543 "S(A(SE_T))": {
544 "key": "SE_DDAG",
545 "label": "‡",
546 }
547 "S(A(SE_Y))": {
548 "key": "SE_STIL",
549 "label": "˜",
550 }
551 "S(A(SE_I))": {
552 "key": "SE_DCIR",
553 "label": "ˆ",
554 }
555 "S(A(SE_P))": {
556 "key": "SE_NARP",
557 "label": "∏",
558 }
559 "S(A(SE_ARNG))": {
560 "key": "SE_RNGA",
561 "label": "˚",
562 }
563 "S(A(SE_A))": {
564 "key": "SE_LOZN",
565 "label": "◊",
566 }
567 "S(A(SE_S))": {
568 "key": "SE_NARS",
569 "label": "∑",
570 }
571 "S(A(SE_D))": {
572 "key": "SE_INCR",
573 "label": "∆",
574 }
575 "S(A(SE_F))": {
576 "key": "SE_INTG",
577 "label": "∫",
578 }
579 "S(A(SE_G))": {
580 "key": "SE_MACR",
581 "label": "¯",
582 }
583 "S(A(SE_H))": {
584 "key": "SE_BREV",
585 "label": "˘",
586 }
587 "S(A(SE_J))": {
588 "key": "SE_NOT",
589 "label": "¬",
590 }
591 "S(A(SE_K))": {
592 "key": "SE_MORD",
593 "label": "º",
594 }
595 "S(A(SE_L))": {
596 "key": "SE_FL",
597 "label": "fl",
598 }
599 "S(A(SE_LABK))": {
600 "key": "SE_GTEQ",
601 "label": "≥",
602 }
603 "S(A(SE_Z))": {
604 "key": "SE_FRSL",
605 "label": "⁄",
606 }
607 "S(A(SE_X))": {
608 "key": "SE_CARN",
609 "label": "ˇ",
610 }
611 "S(A(SE_V))": {
612 "key": "SE_LDAQ",
613 "label": "«",
614 }
615 "S(A(SE_B))": {
616 "key": "SE_RDAQ",
617 "label": "»",
618 }
619 "S(A(SE_N))": {
620 "key": "SE_LDQU",
621 "label": "“",
622 }
623 "S(A(SE_M))": {
624 "key": "SE_RDQU",
625 "label": "”",
626 }
627 "S(A(SE_COMM))": {
628 "key": "SE_DLQU",
629 "label": "„",
630 }
631 "S(A(SE_DOT))": {
632 "key": "SE_MDDT",
633 "label": "·",
634 }
635 "S(A(SE_MINS))": {
636 "key": "SE_MDSH",
637 "label": "—",
638 }
639 }
640} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson
new file mode 100644
index 0000000000..c82c79c711
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson
@@ -0,0 +1,642 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "SE_LABK",
18 "label": "<",
19 }
20 "KC_1": {
21 "key": "SE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "SE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "SE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "SE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "SE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "SE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "SE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "SE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "SE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "SE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "SE_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "SE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "SE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "SE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "SE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "SE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "SE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "SE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "SE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "SE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "SE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "SE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "SE_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "SE_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_NUHS": {
117 "key": "SE_QUOT",
118 "label": "'",
119 }
120 "KC_A": {
121 "key": "SE_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "SE_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "SE_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "SE_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "SE_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "SE_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "SE_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "SE_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "SE_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "SE_ODIA",
158 "label": "Ö",
159 }
160 "KC_QUOT": {
161 "key": "SE_ADIA",
162 "label": "Ä",
163 }
164 "KC_Z": {
165 "key": "SE_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "SE_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "SE_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "SE_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "SE_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "SE_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "SE_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "SE_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "SE_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "SE_MINS",
202 "label": "-",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
206 * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
212 * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
213 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
214 * │ │ │ │ │ │ │ │
215 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
216 */
217 "S(SE_LABK)": {
218 "key": "SE_RABK",
219 "label": ">",
220 }
221 "S(SE_1)": {
222 "key": "SE_EXLM",
223 "label": "!",
224 }
225 "S(SE_2)": {
226 "key": "SE_DQUO",
227 "label": "\"",
228 }
229 "S(SE_3)": {
230 "key": "SE_HASH",
231 "label": "#",
232 }
233 "S(SE_4)": {
234 "key": "SE_EURO",
235 "label": "€",
236 }
237 "S(SE_5)": {
238 "key": "SE_PERC",
239 "label": "%",
240 }
241 "S(SE_6)": {
242 "key": "SE_AMPR",
243 "label": "&",
244 }
245 "S(SE_7)": {
246 "key": "SE_SLSH",
247 "label": "/",
248 }
249 "S(SE_8)": {
250 "key": "SE_LPRN",
251 "label": "(",
252 }
253 "S(SE_9)": {
254 "key": "SE_RPRN",
255 "label": ")",
256 }
257 "S(SE_0)": {
258 "key": "SE_EQL",
259 "label": "=",
260 }
261 "S(SE_PLUS)": {
262 "key": "SE_QUES",
263 "label": "?",
264 }
265 "S(SE_ACUT)": {
266 "key": "SE_GRV",
267 "label": "`",
268 }
269 "S(SE_DIAE)": {
270 "key": "SE_CIRC",
271 "label": "^ (dead)",
272 }
273 "S(SE_QUOT)": {
274 "key": "SE_ASTR",
275 "label": "*",
276 }
277 "S(SE_COMM)": {
278 "key": "SE_SCLN",
279 "label": ";",
280 }
281 "S(SE_DOT)": {
282 "key": "SE_COLN",
283 "label": ":",
284 }
285 "S(SE_MINS)": {
286 "key": "SE_UNDS",
287 "label": "_",
288 }
289/* Alted symbols
290 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
291 * │ ≤ │ © │ @ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
292 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
293 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ ™ │
294 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
295 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
296 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
297 * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
298 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
299 * │ │ │ │ │ │ │ │
300 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
301 *
302 */
303 "A(SE_LABK)": {
304 "key": "SE_LTEQ",
305 "label": "≤",
306 }
307 "A(SE_1)": {
308 "key": "SE_COPY",
309 "label": "©",
310 }
311 "A(SE_2)": {
312 "key": "SE_AT",
313 "label": "@",
314 }
315 "A(SE_3)": {
316 "key": "SE_PND",
317 "label": "£",
318 }
319 "A(SE_4)": {
320 "key": "SE_DLR",
321 "label": "$",
322 }
323 "A(SE_5)": {
324 "key": "SE_INFN",
325 "label": "∞",
326 }
327 "A(SE_6)": {
328 "key": "SE_SECT",
329 "label": "§",
330 }
331 "A(SE_7)": {
332 "key": "SE_PIPE",
333 "label": "|",
334 }
335 "A(SE_8)": {
336 "key": "SE_LBRC",
337 "label": "[",
338 }
339 "A(SE_9)": {
340 "key": "SE_RBRC",
341 "label": "]",
342 }
343 "A(SE_0)": {
344 "key": "SE_AEQL",
345 "label": "≈",
346 }
347 "A(SE_PLUS)": {
348 "key": "SE_PLMN",
349 "label": "±",
350 }
351 "A(SE_Q)": {
352 "key": "SE_BULT",
353 "label": "•",
354 }
355 "A(SE_W)": {
356 "key": "SE_OMEG",
357 "label": "Ω",
358 }
359 "A(SE_E)": {
360 "key": "SE_EACU",
361 "label": "É",
362 }
363 "A(SE_R)": {
364 "key": "SE_REGD",
365 "label": "®",
366 }
367 "A(SE_T)": {
368 "key": "SE_DAGG",
369 "label": "†",
370 }
371 "A(SE_Y)": {
372 "key": "SE_MICR",
373 "label": "µ",
374 }
375 "A(SE_U)": {
376 "key": "SE_UDIA",
377 "label": "Ü",
378 }
379 "A(SE_I)": {
380 "key": "SE_DLSI",
381 "label": "ı",
382 }
383 "A(SE_O)": {
384 "key": "SE_OE",
385 "label": "Œ",
386 }
387 "A(SE_P)": {
388 "key": "SE_PI",
389 "label": "π",
390 }
391 "A(SE_ARNG)": {
392 "key": "SE_DOTA",
393 "label": "˙",
394 }
395 "A(SE_DIAE)": {
396 "key": "SE_TILD",
397 "label": "~ (dead)",
398 }
399 "A(SE_QUOT)": {
400 "key": "SE_TM",
401 "label": "™",
402 }
403 "A(SE_A)": {
404 "key": "SE_APPL",
405 "label": " (Apple logo)",
406 }
407 "A(SE_S)": {
408 "key": "SE_SS",
409 "label": "ß",
410 }
411 "A(SE_D)": {
412 "key": "SE_PDIF",
413 "label": "∂",
414 }
415 "A(SE_F)": {
416 "key": "SE_FHK",
417 "label": "ƒ",
418 }
419 "A(SE_G)": {
420 "key": "SE_CEDL",
421 "label": "¸",
422 }
423 "A(SE_H)": {
424 "key": "SE_OGON",
425 "label": "˛",
426 }
427 "A(SE_J)": {
428 "key": "SE_SQRT",
429 "label": "√",
430 }
431 "A(SE_K)": {
432 "key": "SE_FORD",
433 "label": "ª",
434 }
435 "A(SE_L)": {
436 "key": "SE_FI",
437 "label": "fi",
438 }
439 "A(SE_ODIA)": {
440 "key": "SE_OSTR",
441 "label": "Ø",
442 }
443 "A(SE_ADIA)": {
444 "key": "SE_AE",
445 "label": "Æ",
446 }
447 "A(SE_Z)": {
448 "key": "SE_DIV",
449 "label": "÷",
450 }
451 "A(SE_C)": {
452 "key": "SE_CCED",
453 "label": "Ç",
454 }
455 "A(SE_V)": {
456 "key": "SE_LSAQ",
457 "label": "‹",
458 }
459 "A(SE_B)": {
460 "key": "SE_RSAQ",
461 "label": "›",
462 }
463 "A(SE_N)": {
464 "key": "SE_LSQU",
465 "label": "‘",
466 }
467 "A(SE_M)": {
468 "key": "SE_RSQU",
469 "label": "’",
470 }
471 "A(SE_COMM)": {
472 "key": "SE_SLQU",
473 "label": "‚",
474 }
475 "A(SE_DOT)": {
476 "key": "SE_ELLP",
477 "label": "…",
478 }
479 "A(SE_MINS)": {
480 "key": "SE_NDSH",
481 "label": "–",
482 }
483/* Shift+Alted symbols
484 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
485 * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
486 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
487 * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
488 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
489 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
490 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
491 * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
492 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
493 * │ │ │ │ │ │ │ │
494 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
495 *
496 */
497 "S(A(SE_LABK))": {
498 "key": "SE_GTEQ",
499 "label": "≥",
500 }
501 "S(A(SE_1))": {
502 "key": "SE_IEXL",
503 "label": "¡",
504 }
505 "S(A(SE_3))": {
506 "key": "SE_YEN",
507 "label": "¥",
508 }
509 "S(A(SE_4))": {
510 "key": "SE_CENT",
511 "label": "¢",
512 }
513 "S(A(SE_5))": {
514 "key": "SE_PERM",
515 "label": "‰",
516 }
517 "S(A(SE_6))": {
518 "key": "SE_PILC",
519 "label": "¶",
520 }
521 "S(A(SE_7))": {
522 "key": "SE_BSLS",
523 "label": "\\",
524 }
525 "S(A(SE_8))": {
526 "key": "SE_LCBR",
527 "label": "{",
528 }
529 "S(A(SE_9))": {
530 "key": "SE_RCBR",
531 "label": "}",
532 }
533 "S(A(SE_0))": {
534 "key": "SE_NEQL",
535 "label": "≠",
536 }
537 "S(A(SE_PLUS))": {
538 "key": "SE_IQUE",
539 "label": "¿",
540 }
541 "S(A(SE_Q))": {
542 "key": "SE_DEG",
543 "label": "°",
544 }
545 "S(A(SE_W))": {
546 "key": "SE_DACU",
547 "label": "˝",
548 }
549 "S(A(SE_T))": {
550 "key": "SE_DDAG",
551 "label": "‡",
552 }
553 "S(A(SE_Y))": {
554 "key": "SE_STIL",
555 "label": "˜",
556 }
557 "S(A(SE_I))": {
558 "key": "SE_DCIR",
559 "label": "ˆ",
560 }
561 "S(A(SE_P))": {
562 "key": "SE_NARP",
563 "label": "∏",
564 }
565 "S(A(SE_ARNG))": {
566 "key": "SE_RNGA",
567 "label": "˚",
568 }
569 "S(A(SE_A))": {
570 "key": "SE_LOZN",
571 "label": "◊",
572 }
573 "S(A(SE_S))": {
574 "key": "SE_NARS",
575 "label": "∑",
576 }
577 "S(A(SE_D))": {
578 "key": "SE_INCR",
579 "label": "∆",
580 }
581 "S(A(SE_F))": {
582 "key": "SE_INTG",
583 "label": "∫",
584 }
585 "S(A(SE_G))": {
586 "key": "SE_MACR",
587 "label": "¯",
588 }
589 "S(A(SE_H))": {
590 "key": "SE_BREV",
591 "label": "˘",
592 }
593 "S(A(SE_J))": {
594 "key": "SE_NOT",
595 "label": "¬",
596 }
597 "S(A(SE_K))": {
598 "key": "SE_MORD",
599 "label": "º",
600 }
601 "S(A(SE_L))": {
602 "key": "SE_FL",
603 "label": "fl",
604 }
605 "S(A(SE_Z))": {
606 "key": "SE_FRSL",
607 "label": "⁄",
608 }
609 "S(A(SE_X))": {
610 "key": "SE_CARN",
611 "label": "ˇ",
612 }
613 "S(A(SE_V))": {
614 "key": "SE_LDAQ",
615 "label": "«",
616 }
617 "S(A(SE_B))": {
618 "key": "SE_RDAQ",
619 "label": "»",
620 }
621 "S(A(SE_N))": {
622 "key": "SE_LDQU",
623 "label": "“",
624 }
625 "S(A(SE_M))": {
626 "key": "SE_RDQU",
627 "label": "”",
628 }
629 "S(A(SE_COMM))": {
630 "key": "SE_DLQU",
631 "label": "„",
632 }
633 "S(A(SE_DOT))": {
634 "key": "SE_MDDT",
635 "label": "·",
636 }
637 "S(A(SE_MINS))": {
638 "key": "SE_MDSH",
639 "label": "—",
640 }
641 }
642} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson
new file mode 100644
index 0000000000..4555739ccd
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson
@@ -0,0 +1,640 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
5 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
13 * │ │ │ │ │ │ │ │
14 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
15 */
16 "KC_GRV": {
17 "key": "SE_SECT",
18 "label": "§",
19 }
20 "KC_1": {
21 "key": "SE_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "SE_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "SE_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "SE_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "SE_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "SE_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "SE_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "SE_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "SE_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "SE_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "SE_PLUS",
62 "label": "+",
63 }
64 "KC_EQL": {
65 "key": "SE_ACUT",
66 "label": "´ (dead)",
67 }
68 "KC_Q": {
69 "key": "SE_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "SE_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "SE_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "SE_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "SE_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "SE_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "SE_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "SE_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "SE_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "SE_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "SE_ARNG",
110 "label": "Å",
111 }
112 "KC_RBRC": {
113 "key": "SE_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "SE_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "SE_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "SE_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "SE_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "SE_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "SE_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "SE_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "SE_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "SE_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "SE_ODIA",
154 "label": "Ö",
155 }
156 "KC_QUOT": {
157 "key": "SE_ADIA",
158 "label": "Ä",
159 }
160 "KC_NUHS": {
161 "key": "SE_QUOT",
162 "label": "'",
163 }
164 "KC_NUBS": {
165 "key": "SE_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "SE_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "SE_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "SE_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "SE_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "SE_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "SE_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "SE_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "SE_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "SE_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "SE_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
210 * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
218 * │ │ │ │ │ │ │ │
219 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
220 */
221 "S(SE_SECT)": {
222 "key": "SE_DEG",
223 "label": "°",
224 }
225 "S(SE_1)": {
226 "key": "SE_EXLM",
227 "label": "!",
228 }
229 "S(SE_2)": {
230 "key": "SE_DQUO",
231 "label": "\"",
232 }
233 "S(SE_3)": {
234 "key": "SE_HASH",
235 "label": "#",
236 }
237 "S(SE_4)": {
238 "key": "SE_EURO",
239 "label": "€",
240 }
241 "S(SE_5)": {
242 "key": "SE_PERC",
243 "label": "%",
244 }
245 "S(SE_6)": {
246 "key": "SE_AMPR",
247 "label": "&",
248 }
249 "S(SE_7)": {
250 "key": "SE_SLSH",
251 "label": "/",
252 }
253 "S(SE_8)": {
254 "key": "SE_LPRN",
255 "label": "(",
256 }
257 "S(SE_9)": {
258 "key": "SE_RPRN",
259 "label": ")",
260 }
261 "S(SE_0)": {
262 "key": "SE_EQL",
263 "label": "=",
264 }
265 "S(SE_PLUS)": {
266 "key": "SE_QUES",
267 "label": "?",
268 }
269 "S(SE_ACUT)": {
270 "key": "SE_GRV",
271 "label": "`",
272 }
273 "S(SE_DIAE)": {
274 "key": "SE_CIRC",
275 "label": "^ (dead)",
276 }
277 "S(SE_QUOT)": {
278 "key": "SE_ASTR",
279 "label": "*",
280 }
281 "S(SE_LABK)": {
282 "key": "SE_RABK",
283 "label": ">",
284 }
285 "S(SE_COMM)": {
286 "key": "SE_SCLN",
287 "label": ";",
288 }
289 "S(SE_DOT)": {
290 "key": "SE_COLN",
291 "label": ":",
292 }
293 "S(SE_MINS)": {
294 "key": "SE_UNDS",
295 "label": "_",
296 }
297/* Alted symbols
298 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
299 * │ ¶ │ © │ @ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
300 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
301 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
302 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
303 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ ™ │ │
304 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
305 * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
306 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
307 * │ │ │ │ │ │ │ │
308 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
309 */
310 "A(SE_SECT)": {
311 "key": "SE_PILC",
312 "label": "¶",
313 }
314 "A(SE_1)": {
315 "key": "SE_COPY",
316 "label": "©",
317 }
318 "A(SE_2)": {
319 "key": "SE_AT",
320 "label": "@",
321 }
322 "A(SE_3)": {
323 "key": "SE_PND",
324 "label": "£",
325 }
326 "A(SE_4)": {
327 "key": "SE_DLR",
328 "label": "$",
329 }
330 "A(SE_5)": {
331 "key": "SE_INFN",
332 "label": "∞",
333 }
334 "A(SE_7)": {
335 "key": "SE_PIPE",
336 "label": "|",
337 }
338 "A(SE_8)": {
339 "key": "SE_LBRC",
340 "label": "[",
341 }
342 "A(SE_9)": {
343 "key": "SE_RBRC",
344 "label": "]",
345 }
346 "A(SE_0)": {
347 "key": "SE_AEQL",
348 "label": "≈",
349 }
350 "A(SE_PLUS)": {
351 "key": "SE_PLMN",
352 "label": "±",
353 }
354 "A(SE_Q)": {
355 "key": "SE_BULT",
356 "label": "•",
357 }
358 "A(SE_W)": {
359 "key": "SE_OMEG",
360 "label": "Ω",
361 }
362 "A(SE_E)": {
363 "key": "SE_EACU",
364 "label": "É",
365 }
366 "A(SE_R)": {
367 "key": "SE_REGD",
368 "label": "®",
369 }
370 "A(SE_T)": {
371 "key": "SE_DAGG",
372 "label": "†",
373 }
374 "A(SE_Y)": {
375 "key": "SE_MICR",
376 "label": "µ",
377 }
378 "A(SE_U)": {
379 "key": "SE_UDIA",
380 "label": "Ü",
381 }
382 "A(SE_I)": {
383 "key": "SE_DLSI",
384 "label": "ı",
385 }
386 "A(SE_O)": {
387 "key": "SE_OE",
388 "label": "Œ",
389 }
390 "A(SE_P)": {
391 "key": "SE_PI",
392 "label": "π",
393 }
394 "A(SE_ARNG)": {
395 "key": "SE_DOTA",
396 "label": "˙",
397 }
398 "A(SE_DIAE)": {
399 "key": "SE_TILD",
400 "label": "~ (dead)",
401 }
402 "A(SE_A)": {
403 "key": "SE_APPL",
404 "label": " (Apple logo)",
405 }
406 "A(SE_S)": {
407 "key": "SE_SS",
408 "label": "ß",
409 }
410 "A(SE_D)": {
411 "key": "SE_PDIF",
412 "label": "∂",
413 }
414 "A(SE_F)": {
415 "key": "SE_FHK",
416 "label": "ƒ",
417 }
418 "A(SE_G)": {
419 "key": "SE_CEDL",
420 "label": "¸",
421 }
422 "A(SE_H)": {
423 "key": "SE_OGON",
424 "label": "˛",
425 }
426 "A(SE_J)": {
427 "key": "SE_SQRT",
428 "label": "√",
429 }
430 "A(SE_K)": {
431 "key": "SE_FORD",
432 "label": "ª",
433 }
434 "A(SE_L)": {
435 "key": "SE_FI",
436 "label": "fi",
437 }
438 "A(SE_ODIA)": {
439 "key": "SE_OSTR",
440 "label": "Ø",
441 }
442 "A(SE_ADIA)": {
443 "key": "SE_AE",
444 "label": "Æ",
445 }
446 "A(SE_QUOT)": {
447 "key": "SE_TM",
448 "label": "™",
449 }
450 "A(SE_LABK)": {
451 "key": "SE_LTEQ",
452 "label": "≤",
453 }
454 "A(SE_Z)": {
455 "key": "SE_DIV",
456 "label": "÷",
457 }
458 "A(SE_C)": {
459 "key": "SE_CCED",
460 "label": "Ç",
461 }
462 "A(SE_V)": {
463 "key": "SE_LSAQ",
464 "label": "‹",
465 }
466 "A(SE_B)": {
467 "key": "SE_RSAQ",
468 "label": "›",
469 }
470 "A(SE_N)": {
471 "key": "SE_LSQU",
472 "label": "‘",
473 }
474 "A(SE_M)": {
475 "key": "SE_RSQU",
476 "label": "’",
477 }
478 "A(SE_COMM)": {
479 "key": "SE_SLQU",
480 "label": "‚",
481 }
482 "A(SE_DOT)": {
483 "key": "SE_ELLP",
484 "label": "…",
485 }
486 "A(SE_MINS)": {
487 "key": "SE_NDSH",
488 "label": "–",
489 }
490/* Shift+Alted symbols
491 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
492 * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
493 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
494 * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
495 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
496 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
497 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
498 * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
499 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
500 * │ │ │ │ │ │ │ │
501 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
502 */
503 "S(A(SE_1))": {
504 "key": "SE_IEXL",
505 "label": "¡",
506 }
507 "S(A(SE_3))": {
508 "key": "SE_YEN",
509 "label": "¥",
510 }
511 "S(A(SE_4))": {
512 "key": "SE_CENT",
513 "label": "¢",
514 }
515 "S(A(SE_5))": {
516 "key": "SE_PERM",
517 "label": "‰",
518 }
519 "S(A(SE_7))": {
520 "key": "SE_BSLS",
521 "label": "\\",
522 }
523 "S(A(SE_8))": {
524 "key": "SE_LCBR",
525 "label": "{",
526 }
527 "S(A(SE_9))": {
528 "key": "SE_RCBR",
529 "label": "}",
530 }
531 "S(A(SE_0))": {
532 "key": "SE_NEQL",
533 "label": "≠",
534 }
535 "S(A(SE_PLUS))": {
536 "key": "SE_IQUE",
537 "label": "¿",
538 }
539 "S(A(SE_W))": {
540 "key": "SE_DACU",
541 "label": "˝",
542 }
543 "S(A(SE_T))": {
544 "key": "SE_DDAG",
545 "label": "‡",
546 }
547 "S(A(SE_Y))": {
548 "key": "SE_STIL",
549 "label": "˜",
550 }
551 "S(A(SE_I))": {
552 "key": "SE_DCIR",
553 "label": "ˆ",
554 }
555 "S(A(SE_P))": {
556 "key": "SE_NARP",
557 "label": "∏",
558 }
559 "S(A(SE_ARNG))": {
560 "key": "SE_RNGA",
561 "label": "˚",
562 }
563 "S(A(SE_A))": {
564 "key": "SE_LOZN",
565 "label": "◊",
566 }
567 "S(A(SE_S))": {
568 "key": "SE_NARS",
569 "label": "∑",
570 }
571 "S(A(SE_D))": {
572 "key": "SE_INCR",
573 "label": "∆",
574 }
575 "S(A(SE_F))": {
576 "key": "SE_INTG",
577 "label": "∫",
578 }
579 "S(A(SE_G))": {
580 "key": "SE_MACR",
581 "label": "¯",
582 }
583 "S(A(SE_H))": {
584 "key": "SE_BREV",
585 "label": "˘",
586 }
587 "S(A(SE_J))": {
588 "key": "SE_NOT",
589 "label": "¬",
590 }
591 "S(A(SE_K))": {
592 "key": "SE_MORD",
593 "label": "º",
594 }
595 "S(A(SE_L))": {
596 "key": "SE_FL",
597 "label": "fl",
598 }
599 "S(A(SE_LABK))": {
600 "key": "SE_GTEQ",
601 "label": "≥",
602 }
603 "S(A(SE_Z))": {
604 "key": "SE_FRSL",
605 "label": "⁄",
606 }
607 "S(A(SE_X))": {
608 "key": "SE_CARN",
609 "label": "ˇ",
610 }
611 "S(A(SE_V))": {
612 "key": "SE_LDAQ",
613 "label": "«",
614 }
615 "S(A(SE_B))": {
616 "key": "SE_RDAQ",
617 "label": "»",
618 }
619 "S(A(SE_N))": {
620 "key": "SE_LDQU",
621 "label": "“",
622 }
623 "S(A(SE_M))": {
624 "key": "SE_RDQU",
625 "label": "”",
626 }
627 "S(A(SE_COMM))": {
628 "key": "SE_DLQU",
629 "label": "„",
630 }
631 "S(A(SE_DOT))": {
632 "key": "SE_MDDT",
633 "label": "·",
634 }
635 "S(A(SE_MINS))": {
636 "key": "SE_MDSH",
637 "label": "—",
638 }
639 }
640} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson
new file mode 100644
index 0000000000..ae260a5e56
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson
@@ -0,0 +1,379 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ü │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ö │ ä │ $ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "CH_SECT",
18 "label": "§",
19 }
20 "KC_1": {
21 "key": "CH_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "CH_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "CH_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "CH_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "CH_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "CH_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "CH_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "CH_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "CH_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "CH_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "CH_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "CH_CIRC",
66 "label": "^ (dead)",
67 }
68 "KC_Q": {
69 "key": "CH_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "CH_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "CH_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "CH_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "CH_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "CH_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "CH_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "CH_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "CH_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "CH_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "CH_UDIA",
110 "label": "ü",
111 }
112 "KC_RBRC": {
113 "key": "CH_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "CH_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "CH_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "CH_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "CH_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "CH_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "CH_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "CH_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "CH_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "CH_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "CH_ODIA",
154 "label": "ö",
155 }
156 "KC_QUOT": {
157 "key": "CH_ADIA",
158 "label": "ä",
159 }
160 "KC_NUHS": {
161 "key": "CH_DLR",
162 "label": "$",
163 }
164 "KC_NUBS": {
165 "key": "CH_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "CH_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "CH_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "CH_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "CH_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "CH_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "CH_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "CH_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "CH_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "CH_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "CH_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ è │ ! │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ é │ à │ £ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(CH_SECT)": {
222 "key": "CH_DEG",
223 "label": "°",
224 }
225 "S(CH_1)": {
226 "key": "CH_PLUS",
227 "label": "+",
228 }
229 "S(CH_2)": {
230 "key": "CH_DQUO",
231 "label": "\"",
232 }
233 "S(CH_3)": {
234 "key": "CH_ASTR",
235 "label": "*",
236 }
237 "S(CH_4)": {
238 "key": "CH_CCED",
239 "label": "ç",
240 }
241 "S(CH_5)": {
242 "key": "CH_PERC",
243 "label": "%",
244 }
245 "S(CH_6)": {
246 "key": "CH_AMPR",
247 "label": "&",
248 }
249 "S(CH_7)": {
250 "key": "CH_SLSH",
251 "label": "/",
252 }
253 "S(CH_8)": {
254 "key": "CH_LPRN",
255 "label": "(",
256 }
257 "S(CH_9)": {
258 "key": "CH_RPRN",
259 "label": ")",
260 }
261 "S(CH_0)": {
262 "key": "CH_EQL",
263 "label": "=",
264 }
265 "S(CH_QUOT)": {
266 "key": "CH_QUES",
267 "label": "?",
268 }
269 "S(CH_CIRC)": {
270 "key": "CH_GRV",
271 "label": "` (dead)",
272 }
273 "S(CH_UDIA)": {
274 "key": "CH_EGRV",
275 "label": "è",
276 }
277 "S(CH_DIAE)": {
278 "key": "CH_EXLM",
279 "label": "!",
280 }
281 "S(CH_ODIA)": {
282 "key": "CH_EACU",
283 "label": "é",
284 }
285 "S(CH_ADIA)": {
286 "key": "CH_AGRV",
287 "label": "à",
288 }
289 "S(CH_DLR)": {
290 "key": "CH_PND",
291 "label": "£",
292 }
293 "S(CH_LABK)": {
294 "key": "CH_RABK",
295 "label": ">",
296 }
297 "S(CH_COMM)": {
298 "key": "CH_SCLN",
299 "label": ";",
300 }
301 "S(CH_DOT)": {
302 "key": "CH_COLN",
303 "label": ":",
304 }
305 "S(CH_MINS)": {
306 "key": "CH_UNDS",
307 "label": "_",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(CH_1)": {
323 "key": "CH_BRKP",
324 "label": "¦",
325 }
326 "ALGR(CH_2)": {
327 "key": "CH_AT",
328 "label": "@",
329 }
330 "ALGR(CH_3)": {
331 "key": "CH_HASH",
332 "label": "#",
333 }
334 "ALGR(CH_6)": {
335 "key": "CH_NOT",
336 "label": "¬",
337 }
338 "ALGR(CH_7)": {
339 "key": "CH_PIPE",
340 "label": "|",
341 }
342 "ALGR(CH_8)": {
343 "key": "CH_CENT",
344 "label": "¢",
345 }
346 "ALGR(CH_QUOT)": {
347 "key": "CH_ACUT",
348 "label": "´ (dead)",
349 }
350 "ALGR(CH_CIRC)": {
351 "key": "CH_TILD",
352 "label": "~ (dead)",
353 }
354 "ALGR(CH_E)": {
355 "key": "CH_EURO",
356 "label": "€",
357 }
358 "ALGR(CH_UDIA)": {
359 "key": "CH_LBRC",
360 "label": "[",
361 }
362 "ALGR(CH_DIAE)": {
363 "key": "CH_RBRC",
364 "label": "]",
365 }
366 "ALGR(CH_ADIA)": {
367 "key": "CH_LCBR",
368 "label": "{",
369 }
370 "ALGR(CH_DLR)": {
371 "key": "CH_RCBR",
372 "label": "}",
373 }
374 "ALGR(CH_LABK)": {
375 "key": "CH_BSLS",
376 "label": "\\",
377 }
378 }
379} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson
new file mode 100644
index 0000000000..83fb86e49c
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson
@@ -0,0 +1,379 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ è │ ¨ │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ é │ à │ $ │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "CH_SECT",
18 "label": "§",
19 }
20 "KC_1": {
21 "key": "CH_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "CH_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "CH_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "CH_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "CH_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "CH_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "CH_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "CH_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "CH_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "CH_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "CH_QUOT",
62 "label": "'",
63 }
64 "KC_EQL": {
65 "key": "CH_CIRC",
66 "label": "^ (dead)",
67 }
68 "KC_Q": {
69 "key": "CH_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "CH_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "CH_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "CH_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "CH_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "CH_Z",
90 "label": "Z",
91 }
92 "KC_U": {
93 "key": "CH_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "CH_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "CH_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "CH_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "CH_EGRV",
110 "label": "è",
111 }
112 "KC_RBRC": {
113 "key": "CH_DIAE",
114 "label": "¨ (dead)",
115 }
116 "KC_A": {
117 "key": "CH_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "CH_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "CH_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "CH_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "CH_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "CH_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "CH_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "CH_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "CH_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "CH_EACU",
154 "label": "é",
155 }
156 "KC_QUOT": {
157 "key": "CH_AGRV",
158 "label": "à",
159 }
160 "KC_NUHS": {
161 "key": "CH_DLR",
162 "label": "$",
163 }
164 "KC_NUBS": {
165 "key": "CH_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "CH_Y",
170 "label": "Y",
171 }
172 "KC_X": {
173 "key": "CH_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "CH_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "CH_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "CH_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "CH_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "CH_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "CH_COMM",
198 "label": ",",
199 }
200 "KC_DOT": {
201 "key": "CH_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "CH_MINS",
206 "label": "-",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ ü │ ! │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ ö │ ä │ £ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(CH_SECT)": {
222 "key": "CH_DEG",
223 "label": "°",
224 }
225 "S(CH_1)": {
226 "key": "CH_PLUS",
227 "label": "+",
228 }
229 "S(CH_2)": {
230 "key": "CH_DQUO",
231 "label": "\"",
232 }
233 "S(CH_3)": {
234 "key": "CH_ASTR",
235 "label": "*",
236 }
237 "S(CH_4)": {
238 "key": "CH_CCED",
239 "label": "ç",
240 }
241 "S(CH_5)": {
242 "key": "CH_PERC",
243 "label": "%",
244 }
245 "S(CH_6)": {
246 "key": "CH_AMPR",
247 "label": "&",
248 }
249 "S(CH_7)": {
250 "key": "CH_SLSH",
251 "label": "/",
252 }
253 "S(CH_8)": {
254 "key": "CH_LPRN",
255 "label": "(",
256 }
257 "S(CH_9)": {
258 "key": "CH_RPRN",
259 "label": ")",
260 }
261 "S(CH_0)": {
262 "key": "CH_EQL",
263 "label": "=",
264 }
265 "S(CH_QUOT)": {
266 "key": "CH_QUES",
267 "label": "?",
268 }
269 "S(CH_CIRC)": {
270 "key": "CH_GRV",
271 "label": "` (dead)",
272 }
273 "S(CH_EGRV)": {
274 "key": "CH_UDIA",
275 "label": "ü",
276 }
277 "S(CH_DIAE)": {
278 "key": "CH_EXLM",
279 "label": "!",
280 }
281 "S(CH_EACU)": {
282 "key": "CH_ODIA",
283 "label": "ö",
284 }
285 "S(CH_AGRV)": {
286 "key": "CH_ADIA",
287 "label": "ä",
288 }
289 "S(CH_DLR)": {
290 "key": "CH_PND",
291 "label": "£",
292 }
293 "S(CH_LABK)": {
294 "key": "CH_RABK",
295 "label": ">",
296 }
297 "S(CH_COMM)": {
298 "key": "CH_SCLN",
299 "label": ";",
300 }
301 "S(CH_DOT)": {
302 "key": "CH_COLN",
303 "label": ":",
304 }
305 "S(CH_MINS)": {
306 "key": "CH_UNDS",
307 "label": "_",
308 }
309/* AltGr symbols
310 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
311 * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
312 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
313 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
314 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
315 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
316 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
317 * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
318 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
319 * │ │ │ │ │ │ │ │ │
320 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
321 */
322 "ALGR(CH_1)": {
323 "key": "CH_BRKP",
324 "label": "¦",
325 }
326 "ALGR(CH_2)": {
327 "key": "CH_AT",
328 "label": "@",
329 }
330 "ALGR(CH_3)": {
331 "key": "CH_HASH",
332 "label": "#",
333 }
334 "ALGR(CH_6)": {
335 "key": "CH_NOT",
336 "label": "¬",
337 }
338 "ALGR(CH_7)": {
339 "key": "CH_PIPE",
340 "label": "|",
341 }
342 "ALGR(CH_8)": {
343 "key": "CH_CENT",
344 "label": "¢",
345 }
346 "ALGR(CH_QUOT)": {
347 "key": "CH_ACUT",
348 "label": "´ (dead)",
349 }
350 "ALGR(CH_CIRC)": {
351 "key": "CH_TILD",
352 "label": "~ (dead)",
353 }
354 "ALGR(CH_E)": {
355 "key": "CH_EURO",
356 "label": "€",
357 }
358 "ALGR(CH_EGRV)": {
359 "key": "CH_LBRC",
360 "label": "[",
361 }
362 "ALGR(CH_DIAE)": {
363 "key": "CH_RBRC",
364 "label": "]",
365 }
366 "ALGR(CH_AGRV)": {
367 "key": "CH_LCBR",
368 "label": "{",
369 }
370 "ALGR(CH_DLR)": {
371 "key": "CH_RCBR",
372 "label": "}",
373 }
374 "ALGR(CH_LABK)": {
375 "key": "CH_BSLS",
376 "label": "\\",
377 }
378 }
379} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson
new file mode 100644
index 0000000000..2689f10dbe
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson
@@ -0,0 +1,480 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ + │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ / │ - │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ F │ G │ Ğ │ I │ O │ D │ R │ N │ H │ P │ Q │ W │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ U │ İ │ E │ A │ Ü │ T │ K │ M │ L │ Y │ Ş │ X │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ J │ Ö │ V │ C │ Ç │ Z │ S │ B │ . │ , │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "TR_PLUS",
18 "label": "+",
19 }
20 "KC_1": {
21 "key": "TR_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "TR_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "TR_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "TR_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "TR_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "TR_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "TR_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "TR_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "TR_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "TR_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "TR_SLSH",
62 "label": "/",
63 }
64 "KC_EQL": {
65 "key": "TR_MINS",
66 "label": "-",
67 }
68 "KC_Q": {
69 "key": "TR_F",
70 "label": "F",
71 }
72 "KC_W": {
73 "key": "TR_G",
74 "label": "G",
75 }
76 "KC_E": {
77 "key": "TR_GBRV",
78 "label": "Ğ",
79 }
80 "KC_R": {
81 "key": "TR_I",
82 "label": "I",
83 }
84 "KC_T": {
85 "key": "TR_O",
86 "label": "O",
87 }
88 "KC_Y": {
89 "key": "TR_D",
90 "label": "D",
91 }
92 "KC_U": {
93 "key": "TR_R",
94 "label": "R",
95 }
96 "KC_I": {
97 "key": "TR_N",
98 "label": "N",
99 }
100 "KC_O": {
101 "key": "TR_H",
102 "label": "H",
103 }
104 "KC_P": {
105 "key": "TR_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "TR_Q",
110 "label": "Q",
111 }
112 "KC_RBRC": {
113 "key": "TR_W",
114 "label": "W",
115 }
116 "KC_A": {
117 "key": "TR_U",
118 "label": "U",
119 }
120 "KC_S": {
121 "key": "TR_IDOT",
122 "label": "İ",
123 }
124 "KC_D": {
125 "key": "TR_E",
126 "label": "E",
127 }
128 "KC_F": {
129 "key": "TR_A",
130 "label": "A",
131 }
132 "KC_G": {
133 "key": "TR_UDIA",
134 "label": "Ü",
135 }
136 "KC_H": {
137 "key": "TR_T",
138 "label": "T",
139 }
140 "KC_J": {
141 "key": "TR_K",
142 "label": "K",
143 }
144 "KC_K": {
145 "key": "TR_M",
146 "label": "M",
147 }
148 "KC_L": {
149 "key": "TR_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "TR_Y",
154 "label": "Y",
155 }
156 "KC_QUOT": {
157 "key": "TR_SCED",
158 "label": "Ş",
159 }
160 "KC_NUHS": {
161 "key": "TR_X",
162 "label": "X",
163 }
164 "KC_NUBS": {
165 "key": "TR_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "TR_J",
170 "label": "J",
171 }
172 "KC_X": {
173 "key": "TR_ODIA",
174 "label": "Ö",
175 }
176 "KC_C": {
177 "key": "TR_V",
178 "label": "V",
179 }
180 "KC_V": {
181 "key": "TR_C",
182 "label": "C",
183 }
184 "KC_B": {
185 "key": "TR_CCED",
186 "label": "Ç",
187 }
188 "KC_N": {
189 "key": "TR_Z",
190 "label": "Z",
191 }
192 "KC_M": {
193 "key": "TR_S",
194 "label": "S",
195 }
196 "KC_COMM": {
197 "key": "TR_B",
198 "label": "B",
199 }
200 "KC_DOT": {
201 "key": "TR_DOT",
202 "label": ".",
203 }
204 "KC_SLSH": {
205 "key": "TR_COMM",
206 "label": ",",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ * │ ! │ " │ ^ │ $ │ % │ & │ ' │ ( │ ) │ = │ ? │ _ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ │ : │ ; │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(TR_PLUS)": {
222 "key": "TR_ASTR",
223 "label": "*",
224 }
225 "S(TR_1)": {
226 "key": "TR_EXLM",
227 "label": "!",
228 }
229 "S(TR_2)": {
230 "key": "TR_DQUO",
231 "label": "\"",
232 }
233 "S(TR_3)": {
234 "key": "TR_CIRC",
235 "label": "^ (dead)",
236 }
237 "S(TR_4)": {
238 "key": "TR_DLR",
239 "label": "$",
240 }
241 "S(TR_5)": {
242 "key": "TR_PERC",
243 "label": "%",
244 }
245 "S(TR_6)": {
246 "key": "TR_AMPR",
247 "label": "&",
248 }
249 "S(TR_7)": {
250 "key": "TR_QUOT",
251 "label": "'",
252 }
253 "S(TR_8)": {
254 "key": "TR_LPRN",
255 "label": "(",
256 }
257 "S(TR_9)": {
258 "key": "TR_RPRN",
259 "label": ")",
260 }
261 "S(TR_0)": {
262 "key": "TR_EQL",
263 "label": "=",
264 }
265 "S(TR_SLSH)": {
266 "key": "TR_QUES",
267 "label": "?",
268 }
269 "S(TR_MINS)": {
270 "key": "TR_UNDS",
271 "label": "_",
272 }
273 "S(TR_LABK)": {
274 "key": "TR_RABK",
275 "label": ">",
276 }
277 "S(TR_DOT)": {
278 "key": "TR_COLN",
279 "label": ":",
280 }
281 "S(TR_COMM)": {
282 "key": "TR_SCLN",
283 "label": ";",
284 }
285/* AltGr symbols
286 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
287 * │ ¬ │ ¹ │ ² │ # │ ¼ │ ½ │ ¾ │ { │ [ │ ] │ } │ \ │ | │ │
288 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
289 * │ │ @ │ │ │ ¶ │ │ ¥ │ │ │ Ø │ £ │ ¨ │ ~ │ │
290 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
291 * │ │ Æ │ ß │ € │ │ │ ₺ │ │ │ │ ´ │ │ ` │ │
292 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
293 * │ │ │ « │ » │ ¢ │ │ │ │ µ │ × │ ÷ │ - │ │
294 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
295 * │ │ │ │ │ │ │ │ │
296 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
297 */
298 "ALGR(TR_PLUS)": {
299 "key": "TR_NOT",
300 "label": "¬",
301 }
302 "ALGR(TR_1)": {
303 "key": "TR_SUP1",
304 "label": "¹",
305 }
306 "ALGR(TR_2)": {
307 "key": "TR_SUP2",
308 "label": "²",
309 }
310 "ALGR(TR_3)": {
311 "key": "TR_HASH",
312 "label": "#",
313 }
314 "ALGR(TR_4)": {
315 "key": "TR_QRTR",
316 "label": "¼",
317 }
318 "ALGR(TR_5)": {
319 "key": "TR_HALF",
320 "label": "½",
321 }
322 "ALGR(TR_6)": {
323 "key": "TR_TQTR",
324 "label": "¾",
325 }
326 "ALGR(TR_7)": {
327 "key": "TR_LCBR",
328 "label": "{",
329 }
330 "ALGR(TR_8)": {
331 "key": "TR_LBRC",
332 "label": "[",
333 }
334 "ALGR(TR_9)": {
335 "key": "TR_RBRC",
336 "label": "]",
337 }
338 "ALGR(TR_0)": {
339 "key": "TR_RCBR",
340 "label": "}",
341 }
342 "ALGR(TR_SLSH)": {
343 "key": "TR_BSLS",
344 "label": "\\",
345 }
346 "ALGR(TR_MINS)": {
347 "key": "TR_PIPE",
348 "label": "|",
349 }
350 "ALGR(TR_F)": {
351 "key": "TR_AT",
352 "label": "@",
353 }
354 "ALGR(TR_I)": {
355 "key": "TR_PILC",
356 "label": "¶",
357 }
358 "ALGR(TR_D)": {
359 "key": "TR_YEN",
360 "label": "¥",
361 }
362 "ALGR(TR_H)": {
363 "key": "TR_OSTR",
364 "label": "Ø",
365 }
366 "ALGR(TR_P)": {
367 "key": "TR_PND",
368 "label": "£",
369 }
370 "ALGR(TR_Q)": {
371 "key": "TR_DIAE",
372 "label": "¨ (dead)",
373 }
374 "ALGR(TR_W)": {
375 "key": "TR_TILD",
376 "label": "~ (dead)",
377 }
378 "ALGR(TR_U)": {
379 "key": "TR_AE",
380 "label": "Æ",
381 }
382 "ALGR(TR_IDOT)": {
383 "key": "TR_SS",
384 "label": "ß",
385 }
386 "ALGR(TR_E)": {
387 "key": "TR_EURO",
388 "label": "€",
389 }
390 "ALGR(TR_T)": {
391 "key": "TR_LIRA",
392 "label": "₺",
393 }
394 "ALGR(TR_Y)": {
395 "key": "TR_ACUT",
396 "label": "´ (dead)",
397 }
398 "ALGR(TR_X)": {
399 "key": "TR_GRV",
400 "label": "` (dead)",
401 }
402 "ALGR(TR_J)": {
403 "key": "TR_LDAQ",
404 "label": "«",
405 }
406 "ALGR(TR_ODIA)": {
407 "key": "TR_RDAQ",
408 "label": "»",
409 }
410 "ALGR(TR_V)": {
411 "key": "TR_CENT",
412 "label": "¢",
413 }
414 "ALGR(TR_S)": {
415 "key": "TR_MICR",
416 "label": "µ",
417 }
418 "ALGR(TR_B)": {
419 "key": "TR_MUL",
420 "label": "×",
421 }
422 "ALGR(TR_DOT)": {
423 "key": "TR_DIV",
424 "label": "÷",
425 }
426 "ALGR(TR_COMM)": {
427 "key": "TR_SHYP",
428 "label": "­ (soft hyphen)",
429 }
430/* Shift+AltGr symbols
431 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
432 * │ │ │ │ ³ │ ¤ │ │ │ │ │ │ │ ¿ │ │ │
433 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
434 * │ │ │ │ │ ® │ │ │ │ │ │ │ │ │ │
435 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
436 * │ │ │ § │ │ ª │ │ │ │ │ │ │ │ │ │
437 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
438 * │ │ ¦ │ │ │ © │ │ │ │ º │ │ │ │ │
439 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
440 * │ │ │ │ │ │ │ │ │
441 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
442 */
443 "S(ALGR(TR_3))": {
444 "key": "TR_SUP3",
445 "label": "³",
446 }
447 "S(ALGR(TR_4))": {
448 "key": "TR_CURR",
449 "label": "¤",
450 }
451 "S(ALGR(TR_SLSH))": {
452 "key": "TR_IQUE",
453 "label": "¿",
454 }
455 "S(ALGR(TR_I))": {
456 "key": "TR_REGD",
457 "label": "®",
458 }
459 "S(ALGR(TR_IDOT))": {
460 "key": "TR_SECT",
461 "label": "§",
462 }
463 "S(ALGR(TR_A))": {
464 "key": "TR_FORD",
465 "label": "ª",
466 }
467 "S(ALGR(TR_LABK))": {
468 "key": "TR_BRKP",
469 "label": "¦",
470 }
471 "S(ALGR(TR_V))": {
472 "key": "TR_COPY",
473 "label": "©",
474 }
475 "S(ALGR(TR_S))": {
476 "key": "TR_MORD",
477 "label": "º",
478 }
479 }
480} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson
new file mode 100644
index 0000000000..e00cee9ce3
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson
@@ -0,0 +1,375 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ " │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ * │ - │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ğ │ Ü │ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ş │ İ │ , │ │
10 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
11 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ Ö │ Ç │ . │ │
12 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "TR_DQUO",
18 "label": "\"",
19 }
20 "KC_1": {
21 "key": "TR_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "TR_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "TR_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "TR_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "TR_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "TR_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "TR_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "TR_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "TR_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "TR_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "TR_ASTR",
62 "label": "*",
63 }
64 "KC_EQL": {
65 "key": "TR_MINS",
66 "label": "-",
67 }
68 "KC_Q": {
69 "key": "TR_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "TR_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "TR_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "TR_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "TR_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "TR_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "TR_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "TR_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "TR_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "TR_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "TR_GBRV",
110 "label": "Ğ",
111 }
112 "KC_RBRC": {
113 "key": "TR_UDIA",
114 "label": "Ü",
115 }
116 "KC_A": {
117 "key": "TR_A",
118 "label": "A",
119 }
120 "KC_S": {
121 "key": "TR_S",
122 "label": "S",
123 }
124 "KC_D": {
125 "key": "TR_D",
126 "label": "D",
127 }
128 "KC_F": {
129 "key": "TR_F",
130 "label": "F",
131 }
132 "KC_G": {
133 "key": "TR_G",
134 "label": "G",
135 }
136 "KC_H": {
137 "key": "TR_H",
138 "label": "H",
139 }
140 "KC_J": {
141 "key": "TR_J",
142 "label": "J",
143 }
144 "KC_K": {
145 "key": "TR_K",
146 "label": "K",
147 }
148 "KC_L": {
149 "key": "TR_L",
150 "label": "L",
151 }
152 "KC_SCLN": {
153 "key": "TR_SCED",
154 "label": "Ş",
155 }
156 "KC_QUOT": {
157 "key": "TR_IDOT",
158 "label": "İ",
159 }
160 "KC_NUHS": {
161 "key": "TR_COMM",
162 "label": ",",
163 }
164 "KC_NUBS": {
165 "key": "TR_LABK",
166 "label": "<",
167 }
168 "KC_Z": {
169 "key": "TR_Z",
170 "label": "Z",
171 }
172 "KC_X": {
173 "key": "TR_X",
174 "label": "X",
175 }
176 "KC_C": {
177 "key": "TR_C",
178 "label": "C",
179 }
180 "KC_V": {
181 "key": "TR_V",
182 "label": "V",
183 }
184 "KC_B": {
185 "key": "TR_B",
186 "label": "B",
187 }
188 "KC_N": {
189 "key": "TR_N",
190 "label": "N",
191 }
192 "KC_M": {
193 "key": "TR_M",
194 "label": "M",
195 }
196 "KC_COMM": {
197 "key": "TR_ODIA",
198 "label": "Ö",
199 }
200 "KC_DOT": {
201 "key": "TR_CCED",
202 "label": "Ç",
203 }
204 "KC_SLSH": {
205 "key": "TR_DOT",
206 "label": ".",
207 }
208/* Shifted symbols
209 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
210 * │ é │ ! │ ' │ ^ │ + │ % │ & │ / │ ( │ ) │ = │ ? │ _ │ │
211 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
212 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
213 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
214 * │ │ │ │ │ │ │ │ │ │ │ │ │ ; │ │
215 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
216 * │ │ > │ │ │ │ │ │ │ │ │ │ : │ │
217 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
218 * │ │ │ │ │ │ │ │ │
219 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
220 */
221 "S(TR_DQUO)": {
222 "key": "TR_EACU",
223 "label": "é",
224 }
225 "S(TR_1)": {
226 "key": "TR_EXLM",
227 "label": "!",
228 }
229 "S(TR_2)": {
230 "key": "TR_QUOT",
231 "label": "'",
232 }
233 "S(TR_3)": {
234 "key": "TR_CIRC",
235 "label": "^ (dead)",
236 }
237 "S(TR_4)": {
238 "key": "TR_PLUS",
239 "label": "+",
240 }
241 "S(TR_5)": {
242 "key": "TR_PERC",
243 "label": "%",
244 }
245 "S(TR_6)": {
246 "key": "TR_AMPR",
247 "label": "&",
248 }
249 "S(TR_7)": {
250 "key": "TR_SLSH",
251 "label": "/",
252 }
253 "S(TR_8)": {
254 "key": "TR_LPRN",
255 "label": "(",
256 }
257 "S(TR_9)": {
258 "key": "TR_RPRN",
259 "label": ")",
260 }
261 "S(TR_0)": {
262 "key": "TR_EQL",
263 "label": "=",
264 }
265 "S(TR_ASTR)": {
266 "key": "TR_QUES",
267 "label": "?",
268 }
269 "S(TR_MINS)": {
270 "key": "TR_UNDS",
271 "label": "_",
272 }
273 "S(TR_COMM)": {
274 "key": "TR_SCLN",
275 "label": ";",
276 }
277 "S(TR_LABK)": {
278 "key": "TR_RABK",
279 "label": ">",
280 }
281 "S(TR_DOT)": {
282 "key": "TR_COLN",
283 "label": ":",
284 }
285/* AltGr symbols
286 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
287 * │ │ │ £ │ # │ $ │ ½ │ │ { │ [ │ ] │ } │ \ │ | │ │
288 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
289 * │ │ @ │ │ € │ │ ₺ │ │ │ │ │ │ ¨ │ ~ │ │
290 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
291 * │ │ Æ │ ß │ │ │ │ │ │ │ │ ´ │ │ ` │ │
292 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
293 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
294 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
295 * │ │ │ │ │ │ │ │ │
296 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
297 */
298 "ALGR(TR_2)": {
299 "key": "TR_PND",
300 "label": "£",
301 }
302 "ALGR(TR_3)": {
303 "key": "TR_HASH",
304 "label": "#",
305 }
306 "ALGR(TR_4)": {
307 "key": "TR_DLR",
308 "label": "$",
309 }
310 "ALGR(TR_5)": {
311 "key": "TR_HALF",
312 "label": "½",
313 }
314 "ALGR(TR_7)": {
315 "key": "TR_LCBR",
316 "label": "{",
317 }
318 "ALGR(TR_8)": {
319 "key": "TR_LBRC",
320 "label": "[",
321 }
322 "ALGR(TR_9)": {
323 "key": "TR_RBRC",
324 "label": "]",
325 }
326 "ALGR(TR_0)": {
327 "key": "TR_RCBR",
328 "label": "}",
329 }
330 "ALGR(TR_ASTR)": {
331 "key": "TR_BSLS",
332 "label": "\\",
333 }
334 "ALGR(TR_MINS)": {
335 "key": "TR_PIPE",
336 "label": "|",
337 }
338 "ALGR(TR_Q)": {
339 "key": "TR_AT",
340 "label": "@",
341 }
342 "ALGR(TR_E)": {
343 "key": "TR_EURO",
344 "label": "€",
345 }
346 "ALGR(TR_T)": {
347 "key": "TR_LIRA",
348 "label": "₺",
349 }
350 "ALGR(TR_GBRV)": {
351 "key": "TR_DIAE",
352 "label": "¨ (dead)",
353 }
354 "ALGR(TR_UDIA)": {
355 "key": "TR_TILD",
356 "label": "~ (dead)",
357 }
358 "ALGR(TR_A)": {
359 "key": "TR_AE",
360 "label": "Æ",
361 }
362 "ALGR(TR_S)": {
363 "key": "TR_SS",
364 "label": "ß",
365 }
366 "ALGR(TR_SCED)": {
367 "key": "TR_ACUT",
368 "label": "´ (dead)",
369 }
370 "ALGR(TR_COMM)": {
371 "key": "TR_GRV",
372 "label": "` (dead)",
373 }
374 }
375} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson
new file mode 100644
index 0000000000..2e8629f58b
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson
@@ -0,0 +1,295 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ї │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ Ф │ І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Є │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "UA_QUOT",
18 "label": "'",
19 }
20 "KC_1": {
21 "key": "UA_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "UA_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "UA_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "UA_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "UA_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "UA_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "UA_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "UA_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "UA_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "UA_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "UA_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "UA_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "UA_YOT",
70 "label": "Й",
71 }
72 "KC_W": {
73 "key": "UA_TSE",
74 "label": "Ц",
75 }
76 "KC_E": {
77 "key": "UA_U",
78 "label": "У",
79 }
80 "KC_R": {
81 "key": "UA_KA",
82 "label": "К",
83 }
84 "KC_T": {
85 "key": "UA_E",
86 "label": "Е",
87 }
88 "KC_Y": {
89 "key": "UA_EN",
90 "label": "Н",
91 }
92 "KC_U": {
93 "key": "UA_HE",
94 "label": "Г",
95 }
96 "KC_I": {
97 "key": "UA_SHA",
98 "label": "Ш",
99 }
100 "KC_O": {
101 "key": "UA_SHCH",
102 "label": "Щ",
103 }
104 "KC_P": {
105 "key": "UA_ZE",
106 "label": "З",
107 }
108 "KC_LBRC": {
109 "key": "UA_KHA",
110 "label": "Х",
111 }
112 "KC_RBRC": {
113 "key": "UA_YI",
114 "label": "Ї",
115 }
116 "KC_BSLS": {
117 "key": "UA_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "UA_EF",
122 "label": "Ф",
123 }
124 "KC_S": {
125 "key": "UA_I",
126 "label": "І",
127 }
128 "KC_D": {
129 "key": "UA_VE",
130 "label": "В",
131 }
132 "KC_F": {
133 "key": "UA_A",
134 "label": "А",
135 }
136 "KC_G": {
137 "key": "UA_PE",
138 "label": "П",
139 }
140 "KC_H": {
141 "key": "UA_ER",
142 "label": "Р",
143 }
144 "KC_J": {
145 "key": "UA_O",
146 "label": "О",
147 }
148 "KC_K": {
149 "key": "UA_EL",
150 "label": "Л",
151 }
152 "KC_L": {
153 "key": "UA_DE",
154 "label": "Д",
155 }
156 "KC_SCLN": {
157 "key": "UA_ZHE",
158 "label": "Ж",
159 }
160 "KC_QUOT": {
161 "key": "UA_YE",
162 "label": "Є",
163 }
164 "KC_Z": {
165 "key": "UA_YA",
166 "label": "Я",
167 }
168 "KC_X": {
169 "key": "UA_CHE",
170 "label": "Ч",
171 }
172 "KC_C": {
173 "key": "UA_ES",
174 "label": "С",
175 }
176 "KC_V": {
177 "key": "UA_EM",
178 "label": "М",
179 }
180 "KC_B": {
181 "key": "UA_Y",
182 "label": "И",
183 }
184 "KC_N": {
185 "key": "UA_TE",
186 "label": "Т",
187 }
188 "KC_M": {
189 "key": "UA_SOFT",
190 "label": "Ь",
191 }
192 "KC_COMM": {
193 "key": "UA_BE",
194 "label": "Б",
195 }
196 "KC_DOT": {
197 "key": "UA_YU",
198 "label": "Ю",
199 }
200 "KC_SLSH": {
201 "key": "UA_DOT",
202 "label": ".",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ₴ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ │ │ , │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(UA_QUOT)": {
218 "key": "UA_HRYV",
219 "label": "₴",
220 }
221 "S(UA_1)": {
222 "key": "UA_EXLM",
223 "label": "!",
224 }
225 "S(UA_2)": {
226 "key": "UA_DQUO",
227 "label": "\"",
228 }
229 "S(UA_3)": {
230 "key": "UA_NUM",
231 "label": "№",
232 }
233 "S(UA_4)": {
234 "key": "UA_SCLN",
235 "label": ";",
236 }
237 "S(UA_5)": {
238 "key": "UA_PERC",
239 "label": "%",
240 }
241 "S(UA_6)": {
242 "key": "UA_COLN",
243 "label": ":",
244 }
245 "S(UA_7)": {
246 "key": "UA_QUES",
247 "label": "?",
248 }
249 "S(UA_8)": {
250 "key": "UA_ASTR",
251 "label": "*",
252 }
253 "S(UA_9)": {
254 "key": "UA_LPRN",
255 "label": "(",
256 }
257 "S(UA_0)": {
258 "key": "UA_RPRN",
259 "label": ")",
260 }
261 "S(UA_MINS)": {
262 "key": "UA_UNDS",
263 "label": "_",
264 }
265 "S(UA_EQL)": {
266 "key": "UA_PLUS",
267 "label": "+",
268 }
269 "S(UA_BSLS)": {
270 "key": "UA_SLSH",
271 "label": "/",
272 }
273 "S(UA_DOT)": {
274 "key": "UA_COMM",
275 "label": ",",
276 }
277/* AltGr symbols
278 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
279 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
280 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
281 * │ │ │ │ │ │ │ │ ґ │ │ │ │ │ │ │
282 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
283 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
284 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
285 * │ │ │ │ │ │ │ │ │ │ │ │ │
286 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
287 * │ │ │ │ │ │ │ │ │
288 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
289 */
290 "ALGR(UA_HE)": {
291 "key": "UA_GE",
292 "label": "ґ",
293 }
294 }
295} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson
new file mode 100644
index 0000000000..ecac6ca161
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson
@@ -0,0 +1,588 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "US_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "US_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "US_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "US_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "US_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "US_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "US_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "US_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "US_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "US_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "US_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "US_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "US_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "US_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "US_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "US_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "US_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "US_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "US_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "US_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "US_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "US_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "US_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "US_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "US_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "US_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "US_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "US_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "US_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "US_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "US_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "US_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "US_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "US_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "US_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "US_SCLN",
158 "label": ";",
159 }
160 "KC_QUOT": {
161 "key": "US_QUOT",
162 "label": "'",
163 }
164 "KC_Z": {
165 "key": "US_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "US_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "US_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "US_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "US_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "US_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "US_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "US_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "US_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "US_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(US_GRV)": {
218 "key": "US_TILD",
219 "label": "~",
220 }
221 "S(US_1)": {
222 "key": "US_EXLM",
223 "label": "!",
224 }
225 "S(US_2)": {
226 "key": "US_AT",
227 "label": "@",
228 }
229 "S(US_3)": {
230 "key": "US_HASH",
231 "label": "#",
232 }
233 "S(US_4)": {
234 "key": "US_DLR",
235 "label": "$",
236 }
237 "S(US_5)": {
238 "key": "US_PERC",
239 "label": "%",
240 }
241 "S(US_6)": {
242 "key": "US_CIRC",
243 "label": "^",
244 }
245 "S(US_7)": {
246 "key": "US_AMPR",
247 "label": "&",
248 }
249 "S(US_8)": {
250 "key": "US_ASTR",
251 "label": "*",
252 }
253 "S(US_9)": {
254 "key": "US_LPRN",
255 "label": "(",
256 }
257 "S(US_0)": {
258 "key": "US_RPRN",
259 "label": ")",
260 }
261 "S(US_MINS)": {
262 "key": "US_UNDS",
263 "label": "_",
264 }
265 "S(US_EQL)": {
266 "key": "US_PLUS",
267 "label": "+",
268 }
269 "S(US_LBRC)": {
270 "key": "US_LCBR",
271 "label": "{",
272 }
273 "S(US_RBRC)": {
274 "key": "US_RCBR",
275 "label": "}",
276 }
277 "S(US_BSLS)": {
278 "key": "US_PIPE",
279 "label": "|",
280 }
281 "S(US_SCLN)": {
282 "key": "US_COLN",
283 "label": ":",
284 }
285 "S(US_QUOT)": {
286 "key": "US_DQUO",
287 "label": "\"",
288 }
289 "S(US_COMM)": {
290 "key": "US_LABK",
291 "label": "<",
292 }
293 "S(US_DOT)": {
294 "key": "US_RABK",
295 "label": ">",
296 }
297 "S(US_SLSH)": {
298 "key": "US_QUES",
299 "label": "?",
300 }
301/* AltGr symbols
302 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
303 * │ ` │ ¹ │ ² │ ³ │ ¤ │ € │ ^ │ ̛ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
304 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
305 * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
306 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
307 * │ │ Á │ ß │ Ð │ │ │ │ Ï │ Œ │ Ø │ ¶ │ ' │ │
308 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
309 * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
310 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
311 * │ │ │ │ │ │ │ │ │
312 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
313 */
314 "ALGR(US_GRV)": {
315 "key": "US_DGRV",
316 "label": "` (dead)",
317 }
318 "ALGR(US_1)": {
319 "key": "US_SUP1",
320 "label": "¹",
321 }
322 "ALGR(US_2)": {
323 "key": "US_SUP2",
324 "label": "²",
325 }
326 "ALGR(US_3)": {
327 "key": "US_SUP3",
328 "label": "³",
329 }
330 "ALGR(US_4)": {
331 "key": "US_CURR",
332 "label": "¤",
333 }
334 "ALGR(US_5)": {
335 "key": "US_EURO",
336 "label": "€",
337 }
338 "ALGR(US_6)": {
339 "key": "US_DCIR",
340 "label": "^ (dead)",
341 }
342 "ALGR(US_7)": {
343 "key": "US_HORN",
344 "label": "̛ (dead)",
345 }
346 "ALGR(US_8)": {
347 "key": "US_OGON",
348 "label": "˛ (dead)",
349 }
350 "ALGR(US_9)": {
351 "key": "US_LSQU",
352 "label": "‘",
353 }
354 "ALGR(US_0)": {
355 "key": "US_RSQU",
356 "label": "’",
357 }
358 "ALGR(US_MINS)": {
359 "key": "US_YEN",
360 "label": "¥",
361 }
362 "ALGR(US_EQL)": {
363 "key": "US_MUL",
364 "label": "×",
365 }
366 "ALGR(US_Q)": {
367 "key": "US_ADIA",
368 "label": "Ä",
369 }
370 "ALGR(US_W)": {
371 "key": "US_ARNG",
372 "label": "Å",
373 }
374 "ALGR(US_E)": {
375 "key": "US_EACU",
376 "label": "É",
377 }
378 "ALGR(US_R)": {
379 "key": "US_EDIA",
380 "label": "Ë",
381 }
382 "ALGR(US_T)": {
383 "key": "US_THRN",
384 "label": "Þ",
385 }
386 "ALGR(US_Y)": {
387 "key": "US_UDIA",
388 "label": "Ü",
389 }
390 "ALGR(US_U)": {
391 "key": "US_UACU",
392 "label": "Ú",
393 }
394 "ALGR(US_I)": {
395 "key": "US_IACU",
396 "label": "Í",
397 }
398 "ALGR(US_O)": {
399 "key": "US_OACU",
400 "label": "Ó",
401 }
402 "ALGR(US_P)": {
403 "key": "US_ODIA",
404 "label": "Ö",
405 }
406 "ALGR(US_LBRC)": {
407 "key": "US_LDAQ",
408 "label": "«",
409 }
410 "ALGR(US_RBRC)": {
411 "key": "US_RDAQ",
412 "label": "»",
413 }
414 "ALGR(US_BSLS)": {
415 "key": "US_NOT",
416 "label": "¬",
417 }
418 "ALGR(US_A)": {
419 "key": "US_AACU",
420 "label": "Á",
421 }
422 "ALGR(US_S)": {
423 "key": "US_SS",
424 "label": "ß",
425 }
426 "ALGR(US_D)": {
427 "key": "US_ETH",
428 "label": "Ð",
429 }
430 "ALGR(US_J)": {
431 "key": "US_IDIA",
432 "label": "Ï",
433 }
434 "ALGR(US_K)": {
435 "key": "US_OE",
436 "label": "Œ",
437 }
438 "ALGR(US_L)": {
439 "key": "US_OSTR",
440 "label": "Ø",
441 }
442 "ALGR(US_SCLN)": {
443 "key": "US_PILC",
444 "label": "¶",
445 }
446 "ALGR(US_QUOT)": {
447 "key": "US_ACUT",
448 "label": "´ (dead)",
449 }
450 "ALGR(US_Z)": {
451 "key": "US_AE",
452 "label": "Æ",
453 }
454 "ALGR(US_X)": {
455 "key": "US_OE_2",
456 "label": "Œ",
457 }
458 "ALGR(US_C)": {
459 "key": "US_COPY",
460 "label": "©",
461 }
462 "ALGR(US_V)": {
463 "key": "US_REGD",
464 "label": "®",
465 }
466 "ALGR(US_N)": {
467 "key": "US_NTIL",
468 "label": "Ñ",
469 }
470 "ALGR(US_M)": {
471 "key": "US_MICR",
472 "label": "µ",
473 }
474 "ALGR(US_COMM)": {
475 "key": "US_CCED",
476 "label": "Ç",
477 }
478 "ALGR(US_DOT)": {
479 "key": "US_DOTA",
480 "label": "˙ (dead)",
481 }
482 "ALGR(US_SLSH)": {
483 "key": "US_IQUE",
484 "label": "¿",
485 }
486/* Shift+AltGr symbols
487 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
488 * │ ~ │ ¡ │ ˝ │ ¯ │ £ │ ¸ │ ¼ │ ½ │ ¾ │ ˘ │ ° │ ̣ │ ÷ │ │
489 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
490 * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
491 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
492 * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
493 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
494 * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
495 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
496 * │ │ │ │ │ │ │ │ │
497 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
498 */
499 "S(ALGR(US_GRV))": {
500 "key": "US_DTIL",
501 "label": "~ (dead)",
502 }
503 "S(ALGR(US_1))": {
504 "key": "US_IEXL",
505 "label": "¡",
506 }
507 "S(ALGR(US_2))": {
508 "key": "US_DACU",
509 "label": "˝ (dead)",
510 }
511 "S(ALGR(US_3))": {
512 "key": "US_MACR",
513 "label": "¯ (dead)",
514 }
515 "S(ALGR(US_4))": {
516 "key": "US_PND",
517 "label": "£",
518 }
519 "S(ALGR(US_5))": {
520 "key": "US_CEDL",
521 "label": "¸ (dead)",
522 }
523 "S(ALGR(US_6))": {
524 "key": "US_QRTR",
525 "label": "¼",
526 }
527 "S(ALGR(US_7))": {
528 "key": "US_HALF",
529 "label": "½",
530 }
531 "S(ALGR(US_8))": {
532 "key": "US_TQTR",
533 "label": "¾",
534 }
535 "S(ALGR(US_9))": {
536 "key": "US_BREV",
537 "label": "˘ (dead)",
538 }
539 "S(ALGR(US_0))": {
540 "key": "US_RNGA",
541 "label": "° (dead)",
542 }
543 "S(ALGR(US_MINS))": {
544 "key": "US_DOTB",
545 "label": "̣ (dead)",
546 }
547 "S(ALGR(US_EQL))": {
548 "key": "US_DIV",
549 "label": "÷",
550 }
551 "S(ALGR(US_LBRC))": {
552 "key": "US_LDQU",
553 "label": "“",
554 }
555 "S(ALGR(US_RBRC))": {
556 "key": "US_RDQU",
557 "label": "”",
558 }
559 "S(ALGR(US_BSLS))": {
560 "key": "US_BRKP",
561 "label": "¦",
562 }
563 "S(ALGR(US_S))": {
564 "key": "US_SECT",
565 "label": "§",
566 }
567 "S(ALGR(US_SCLN))": {
568 "key": "US_DEG",
569 "label": "°",
570 }
571 "S(ALGR(US_QUOT))": {
572 "key": "US_DIAE",
573 "label": "¨ (dead)",
574 }
575 "S(ALGR(US_C))": {
576 "key": "US_CENT",
577 "label": "¢",
578 }
579 "S(ALGR(US_DOT))": {
580 "key": "US_CARN",
581 "label": "ˇ (dead)",
582 }
583 "S(ALGR(US_SLSH))": {
584 "key": "US_HOKA",
585 "label": "̉ (dead)",
586 }
587 }
588} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson
new file mode 100644
index 0000000000..36a574a4ad
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson
@@ -0,0 +1,508 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "US_DGRV",
18 "label": "` (dead)",
19 }
20 "KC_1": {
21 "key": "US_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "US_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "US_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "US_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "US_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "US_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "US_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "US_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "US_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "US_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "US_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "US_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "US_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "US_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "US_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "US_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "US_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "US_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "US_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "US_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "US_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "US_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "US_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "US_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "US_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "US_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "US_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "US_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "US_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "US_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "US_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "US_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "US_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "US_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "US_SCLN",
158 "label": ";",
159 }
160 "KC_QUOT": {
161 "key": "US_ACUT",
162 "label": "´ (dead)",
163 }
164 "KC_Z": {
165 "key": "US_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "US_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "US_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "US_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "US_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "US_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "US_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "US_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "US_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "US_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(US_DGRV)": {
218 "key": "US_DTIL",
219 "label": "~ (dead)",
220 }
221 "S(US_1)": {
222 "key": "US_EXLM",
223 "label": "!",
224 }
225 "S(US_2)": {
226 "key": "US_AT",
227 "label": "@",
228 }
229 "S(US_3)": {
230 "key": "US_HASH",
231 "label": "#",
232 }
233 "S(US_4)": {
234 "key": "US_DLR",
235 "label": "$",
236 }
237 "S(US_5)": {
238 "key": "US_PERC",
239 "label": "%",
240 }
241 "S(US_6)": {
242 "key": "US_DCIR",
243 "label": "^ (dead)",
244 }
245 "S(US_7)": {
246 "key": "US_AMPR",
247 "label": "&",
248 }
249 "S(US_8)": {
250 "key": "US_ASTR",
251 "label": "*",
252 }
253 "S(US_9)": {
254 "key": "US_LPRN",
255 "label": "(",
256 }
257 "S(US_0)": {
258 "key": "US_RPRN",
259 "label": ")",
260 }
261 "S(US_MINS)": {
262 "key": "US_UNDS",
263 "label": "_",
264 }
265 "S(US_EQL)": {
266 "key": "US_PLUS",
267 "label": "+",
268 }
269 "S(US_LBRC)": {
270 "key": "US_LCBR",
271 "label": "{",
272 }
273 "S(US_RBRC)": {
274 "key": "US_RCBR",
275 "label": "}",
276 }
277 "S(US_BSLS)": {
278 "key": "US_PIPE",
279 "label": "|",
280 }
281 "S(US_SCLN)": {
282 "key": "US_COLN",
283 "label": ":",
284 }
285 "S(US_ACUT)": {
286 "key": "US_DIAE",
287 "label": "¨ (dead)",
288 }
289 "S(US_COMM)": {
290 "key": "US_LABK",
291 "label": "<",
292 }
293 "S(US_DOT)": {
294 "key": "US_RABK",
295 "label": ">",
296 }
297 "S(US_SLSH)": {
298 "key": "US_QUES",
299 "label": "?",
300 }
301/* AltGr symbols
302 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
303 * │ │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
304 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
305 * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
306 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
307 * │ │ Á │ ß │ Ð │ │ │ │ │ │ Ø │ ¶ │ ´ │ │
308 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
309 * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ │ ¿ │ │
310 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
311 * │ │ │ │ │ │ │ │ │
312 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
313 */
314 "ALGR(US_1)": {
315 "key": "US_IEXL",
316 "label": "¡",
317 }
318 "ALGR(US_2)": {
319 "key": "US_SUP2",
320 "label": "²",
321 }
322 "ALGR(US_3)": {
323 "key": "US_SUP3",
324 "label": "³",
325 }
326 "ALGR(US_4)": {
327 "key": "US_CURR",
328 "label": "¤",
329 }
330 "ALGR(US_5)": {
331 "key": "US_EURO",
332 "label": "€",
333 }
334 "ALGR(US_6)": {
335 "key": "US_QRTR",
336 "label": "¼",
337 }
338 "ALGR(US_7)": {
339 "key": "US_HALF",
340 "label": "½",
341 }
342 "ALGR(US_8)": {
343 "key": "US_TQTR",
344 "label": "¾",
345 }
346 "ALGR(US_9)": {
347 "key": "US_LSQU",
348 "label": "‘",
349 }
350 "ALGR(US_0)": {
351 "key": "US_RSQU",
352 "label": "’",
353 }
354 "ALGR(US_MINS)": {
355 "key": "US_YEN",
356 "label": "¥",
357 }
358 "ALGR(US_EQL)": {
359 "key": "US_MUL",
360 "label": "×",
361 }
362 "ALGR(US_Q)": {
363 "key": "US_ADIA",
364 "label": "Ä",
365 }
366 "ALGR(US_W)": {
367 "key": "US_ARNG",
368 "label": "Å",
369 }
370 "ALGR(US_E)": {
371 "key": "US_EACU",
372 "label": "É",
373 }
374 "ALGR(US_R)": {
375 "key": "US_REGD",
376 "label": "®",
377 }
378 "ALGR(US_T)": {
379 "key": "US_THRN",
380 "label": "Þ",
381 }
382 "ALGR(US_Y)": {
383 "key": "US_UDIA",
384 "label": "Ü",
385 }
386 "ALGR(US_U)": {
387 "key": "US_UACU",
388 "label": "Ú",
389 }
390 "ALGR(US_I)": {
391 "key": "US_IACU",
392 "label": "Í",
393 }
394 "ALGR(US_O)": {
395 "key": "US_OACU",
396 "label": "Ó",
397 }
398 "ALGR(US_P)": {
399 "key": "US_ODIA",
400 "label": "Ö",
401 }
402 "ALGR(US_LBRC)": {
403 "key": "US_LDAQ",
404 "label": "«",
405 }
406 "ALGR(US_RBRC)": {
407 "key": "US_RDAQ",
408 "label": "»",
409 }
410 "ALGR(US_BSLS)": {
411 "key": "US_NOT",
412 "label": "¬",
413 }
414 "ALGR(US_A)": {
415 "key": "US_AACU",
416 "label": "Á",
417 }
418 "ALGR(US_S)": {
419 "key": "US_SS",
420 "label": "ß",
421 }
422 "ALGR(US_D)": {
423 "key": "US_ETH",
424 "label": "Ð",
425 }
426 "ALGR(US_L)": {
427 "key": "US_OSTR",
428 "label": "Ø",
429 }
430 "ALGR(US_SCLN)": {
431 "key": "US_PILC",
432 "label": "¶",
433 }
434 "ALGR(US_ACUT)": {
435 "key": "US_NDAC",
436 "label": "´",
437 }
438 "ALGR(US_Z)": {
439 "key": "US_AE",
440 "label": "Æ",
441 }
442 "ALGR(US_C)": {
443 "key": "US_COPY",
444 "label": "©",
445 }
446 "ALGR(US_N)": {
447 "key": "US_NTIL",
448 "label": "Ñ",
449 }
450 "ALGR(US_M)": {
451 "key": "US_MICR",
452 "label": "µ",
453 }
454 "ALGR(US_COMM)": {
455 "key": "US_CCED",
456 "label": "Ç",
457 }
458 "ALGR(US_SLSH)": {
459 "key": "US_IQUE",
460 "label": "¿",
461 }
462/* Shift+AltGr symbols
463 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
464 * │ │ ¹ │ │ │ £ │ │ │ │ │ │ │ │ ÷ │ │
465 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
466 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ¦ │
467 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
468 * │ │ │ § │ │ │ │ │ │ │ │ ° │ ¨ │ │
469 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
470 * │ │ │ │ ¢ │ │ │ │ │ │ │ │ │
471 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
472 * │ │ │ │ │ │ │ │ │
473 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
474 */
475 "S(ALGR(US_1))": {
476 "key": "US_SUP1",
477 "label": "¹",
478 }
479 "S(ALGR(US_4))": {
480 "key": "US_PND",
481 "label": "£",
482 }
483 "S(ALGR(US_EQL))": {
484 "key": "US_DIV",
485 "label": "÷",
486 }
487 "S(ALGR(US_BSLS))": {
488 "key": "US_BRKP",
489 "label": "¦",
490 }
491 "S(ALGR(US_S))": {
492 "key": "US_SECT",
493 "label": "§",
494 }
495 "S(ALGR(US_SCLN))": {
496 "key": "US_DEG",
497 "label": "°",
498 }
499 "S(ALGR(US_ACUT))": {
500 "key": "US_NDDR",
501 "label": "¨",
502 }
503 "S(ALGR(US_C))": {
504 "key": "US_CENT",
505 "label": "¢",
506 }
507 }
508} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson
new file mode 100644
index 0000000000..d6bdf2e02d
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson
@@ -0,0 +1,576 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "US_DGRV",
18 "label": "` (dead)",
19 }
20 "KC_1": {
21 "key": "US_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "US_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "US_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "US_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "US_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "US_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "US_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "US_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "US_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "US_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "US_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "US_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "US_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "US_W",
74 "label": "W",
75 }
76 "KC_E": {
77 "key": "US_E",
78 "label": "E",
79 }
80 "KC_R": {
81 "key": "US_R",
82 "label": "R",
83 }
84 "KC_T": {
85 "key": "US_T",
86 "label": "T",
87 }
88 "KC_Y": {
89 "key": "US_Y",
90 "label": "Y",
91 }
92 "KC_U": {
93 "key": "US_U",
94 "label": "U",
95 }
96 "KC_I": {
97 "key": "US_I",
98 "label": "I",
99 }
100 "KC_O": {
101 "key": "US_O",
102 "label": "O",
103 }
104 "KC_P": {
105 "key": "US_P",
106 "label": "P",
107 }
108 "KC_LBRC": {
109 "key": "US_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "US_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "US_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "US_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "US_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "US_D",
130 "label": "D",
131 }
132 "KC_F": {
133 "key": "US_F",
134 "label": "F",
135 }
136 "KC_G": {
137 "key": "US_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "US_H",
142 "label": "H",
143 }
144 "KC_J": {
145 "key": "US_J",
146 "label": "J",
147 }
148 "KC_K": {
149 "key": "US_K",
150 "label": "K",
151 }
152 "KC_L": {
153 "key": "US_L",
154 "label": "L",
155 }
156 "KC_SCLN": {
157 "key": "US_SCLN",
158 "label": ";",
159 }
160 "KC_QUOT": {
161 "key": "US_ACUT",
162 "label": "´ (dead)",
163 }
164 "KC_Z": {
165 "key": "US_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "US_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "US_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "US_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "US_B",
182 "label": "B",
183 }
184 "KC_N": {
185 "key": "US_N",
186 "label": "N",
187 }
188 "KC_M": {
189 "key": "US_M",
190 "label": "M",
191 }
192 "KC_COMM": {
193 "key": "US_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "US_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "US_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(US_DGRV)": {
218 "key": "US_DTIL",
219 "label": "~ (dead)",
220 }
221 "S(US_1)": {
222 "key": "US_EXLM",
223 "label": "!",
224 }
225 "S(US_2)": {
226 "key": "US_AT",
227 "label": "@",
228 }
229 "S(US_3)": {
230 "key": "US_HASH",
231 "label": "#",
232 }
233 "S(US_4)": {
234 "key": "US_DLR",
235 "label": "$",
236 }
237 "S(US_5)": {
238 "key": "US_PERC",
239 "label": "%",
240 }
241 "S(US_6)": {
242 "key": "US_DCIR",
243 "label": "^ (dead)",
244 }
245 "S(US_7)": {
246 "key": "US_AMPR",
247 "label": "&",
248 }
249 "S(US_8)": {
250 "key": "US_ASTR",
251 "label": "*",
252 }
253 "S(US_9)": {
254 "key": "US_LPRN",
255 "label": "(",
256 }
257 "S(US_0)": {
258 "key": "US_RPRN",
259 "label": ")",
260 }
261 "S(US_MINS)": {
262 "key": "US_UNDS",
263 "label": "_",
264 }
265 "S(US_EQL)": {
266 "key": "US_PLUS",
267 "label": "+",
268 }
269 "S(US_LBRC)": {
270 "key": "US_LCBR",
271 "label": "{",
272 }
273 "S(US_RBRC)": {
274 "key": "US_RCBR",
275 "label": "}",
276 }
277 "S(US_BSLS)": {
278 "key": "US_PIPE",
279 "label": "|",
280 }
281 "S(US_SCLN)": {
282 "key": "US_COLN",
283 "label": ":",
284 }
285 "S(US_ACUT)": {
286 "key": "US_DIAE",
287 "label": "¨ (dead)",
288 }
289 "S(US_COMM)": {
290 "key": "US_LABK",
291 "label": "<",
292 }
293 "S(US_DOT)": {
294 "key": "US_RABK",
295 "label": ">",
296 }
297 "S(US_SLSH)": {
298 "key": "US_QUES",
299 "label": "?",
300 }
301/* AltGr symbols
302 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
303 * │ ` │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
304 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
305 * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
306 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
307 * │ │ Á │ ß │ Ð │ │ │ │ │ Œ │ Ø │ ¶ │ ' │ │
308 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
309 * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
310 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
311 * │ │ │ │ │ │ │ │ │
312 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
313 */
314 "ALGR(US_DGRV)": {
315 "key": "US_GRV",
316 "label": "`",
317 }
318 "ALGR(US_1)": {
319 "key": "US_IEXL",
320 "label": "¡",
321 }
322 "ALGR(US_2)": {
323 "key": "US_SUP2",
324 "label": "²",
325 }
326 "ALGR(US_3)": {
327 "key": "US_SUP3",
328 "label": "³",
329 }
330 "ALGR(US_4)": {
331 "key": "US_CURR",
332 "label": "¤",
333 }
334 "ALGR(US_5)": {
335 "key": "US_EURO",
336 "label": "€",
337 }
338 "ALGR(US_6)": {
339 "key": "US_QRTR",
340 "label": "¼",
341 }
342 "ALGR(US_7)": {
343 "key": "US_HALF",
344 "label": "½",
345 }
346 "ALGR(US_8)": {
347 "key": "US_TQTR",
348 "label": "¾",
349 }
350 "ALGR(US_9)": {
351 "key": "US_LSQU",
352 "label": "‘",
353 }
354 "ALGR(US_0)": {
355 "key": "US_RSQU",
356 "label": "’",
357 }
358 "ALGR(US_MINS)": {
359 "key": "US_YEN",
360 "label": "¥",
361 }
362 "ALGR(US_EQL)": {
363 "key": "US_MUL",
364 "label": "×",
365 }
366 "ALGR(US_Q)": {
367 "key": "US_ADIA",
368 "label": "Ä",
369 }
370 "ALGR(US_W)": {
371 "key": "US_ARNG",
372 "label": "Å",
373 }
374 "ALGR(US_E)": {
375 "key": "US_EACU",
376 "label": "É",
377 }
378 "ALGR(US_R)": {
379 "key": "US_REGD",
380 "label": "®",
381 }
382 "ALGR(US_T)": {
383 "key": "US_THRN",
384 "label": "Þ",
385 }
386 "ALGR(US_Y)": {
387 "key": "US_UDIA",
388 "label": "Ü",
389 }
390 "ALGR(US_U)": {
391 "key": "US_UACU",
392 "label": "Ú",
393 }
394 "ALGR(US_I)": {
395 "key": "US_IACU",
396 "label": "Í",
397 }
398 "ALGR(US_O)": {
399 "key": "US_OACU",
400 "label": "Ó",
401 }
402 "ALGR(US_P)": {
403 "key": "US_ODIA",
404 "label": "Ö",
405 }
406 "ALGR(US_LBRC)": {
407 "key": "US_LDAQ",
408 "label": "«",
409 }
410 "ALGR(US_RBRC)": {
411 "key": "US_RDAQ",
412 "label": "»",
413 }
414 "ALGR(US_BSLS)": {
415 "key": "US_NOT",
416 "label": "¬",
417 }
418 "ALGR(US_A)": {
419 "key": "US_AACU",
420 "label": "Á",
421 }
422 "ALGR(US_S)": {
423 "key": "US_SS",
424 "label": "ß",
425 }
426 "ALGR(US_D)": {
427 "key": "US_ETH",
428 "label": "Ð",
429 }
430 "ALGR(US_K)": {
431 "key": "US_OE",
432 "label": "Œ",
433 }
434 "ALGR(US_L)": {
435 "key": "US_OSTR",
436 "label": "Ø",
437 }
438 "ALGR(US_SCLN)": {
439 "key": "US_PILC",
440 "label": "¶",
441 }
442 "ALGR(US_ACUT)": {
443 "key": "US_QUOT",
444 "label": "'",
445 }
446 "ALGR(US_Z)": {
447 "key": "US_AE",
448 "label": "Æ",
449 }
450 "ALGR(US_C)": {
451 "key": "US_COPY",
452 "label": "©",
453 }
454 "ALGR(US_N)": {
455 "key": "US_NTIL",
456 "label": "Ñ",
457 }
458 "ALGR(US_M)": {
459 "key": "US_MICR",
460 "label": "µ",
461 }
462 "ALGR(US_COMM)": {
463 "key": "US_CCED",
464 "label": "Ç",
465 }
466 "ALGR(US_DOT)": {
467 "key": "US_DOTA",
468 "label": "˙ (dead)",
469 }
470 "ALGR(US_SLSH)": {
471 "key": "US_IQUE",
472 "label": "¿",
473 }
474/* Shift+AltGr symbols
475 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
476 * │ ~ │ ¹ │ ˝ │ ¯ │ £ │ ¸ │ ^ │ ̛ │ ˛ │ ˘ │ ° │ ̣ │ ÷ │ │
477 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
478 * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
479 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
480 * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
481 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
482 * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
483 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
484 * │ │ │ │ │ │ │ │ │
485 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
486 */
487 "S(ALGR(US_DGRV))": {
488 "key": "US_TILD",
489 "label": "~",
490 }
491 "S(ALGR(US_1))": {
492 "key": "US_SUP1",
493 "label": "¹",
494 }
495 "S(ALGR(US_2))": {
496 "key": "US_DACU",
497 "label": "˝ (dead)",
498 }
499 "S(ALGR(US_3))": {
500 "key": "US_MACR",
501 "label": "¯ (dead)",
502 }
503 "S(ALGR(US_4))": {
504 "key": "US_PND",
505 "label": "£",
506 }
507 "S(ALGR(US_5))": {
508 "key": "US_CEDL",
509 "label": "¸ (dead)",
510 }
511 "S(ALGR(US_6))": {
512 "key": "US_CIRC",
513 "label": "^",
514 }
515 "S(ALGR(US_7))": {
516 "key": "US_HORN",
517 "label": "̛ (dead)",
518 }
519 "S(ALGR(US_8))": {
520 "key": "US_OGON",
521 "label": "˛ (dead)",
522 }
523 "S(ALGR(US_9))": {
524 "key": "US_BREV",
525 "label": "˘ (dead)",
526 }
527 "S(ALGR(US_0))": {
528 "key": "US_RNGA",
529 "label": "° (dead)",
530 }
531 "S(ALGR(US_MINS))": {
532 "key": "US_DOTB",
533 "label": "̣ (dead)",
534 }
535 "S(ALGR(US_EQL))": {
536 "key": "US_DIV",
537 "label": "÷",
538 }
539 "S(ALGR(US_LBRC))": {
540 "key": "US_LDQU",
541 "label": "“",
542 }
543 "S(ALGR(US_RBRC))": {
544 "key": "US_RDQU",
545 "label": "”",
546 }
547 "S(ALGR(US_BSLS))": {
548 "key": "US_BRKP",
549 "label": "¦",
550 }
551 "S(ALGR(US_S))": {
552 "key": "US_SECT",
553 "label": "§",
554 }
555 "S(ALGR(US_SCLN))": {
556 "key": "US_DEG",
557 "label": "°",
558 }
559 "S(ALGR(US_ACUT))": {
560 "key": "US_DQUO",
561 "label": "\"",
562 }
563 "S(ALGR(US_C))": {
564 "key": "US_CENT",
565 "label": "¢",
566 }
567 "S(ALGR(US_DOT))": {
568 "key": "US_CARN",
569 "label": "ˇ (dead)",
570 }
571 "S(ALGR(US_SLSH))": {
572 "key": "US_HOKA",
573 "label": "̉ (dead)",
574 }
575 }
576} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson
new file mode 100644
index 0000000000..27471a15e4
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson
@@ -0,0 +1,302 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "WK_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "WK_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "WK_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "WK_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "WK_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "WK_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "WK_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "WK_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "WK_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "WK_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "WK_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "WK_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "WK_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "WK_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "WK_D",
74 "label": "D",
75 }
76 "KC_E": {
77 "key": "WK_R",
78 "label": "R",
79 }
80 "KC_R": {
81 "key": "WK_W",
82 "label": "W",
83 }
84 "KC_T": {
85 "key": "WK_B",
86 "label": "B",
87 }
88 "KC_Y": {
89 "key": "WK_J",
90 "label": "J",
91 }
92 "KC_U": {
93 "key": "WK_F",
94 "label": "F",
95 }
96 "KC_I": {
97 "key": "WK_U",
98 "label": "U",
99 }
100 "KC_O": {
101 "key": "WK_P",
102 "label": "P",
103 }
104 "KC_P": {
105 "key": "WK_SCLN",
106 "label": ";",
107 }
108 "KC_LBRC": {
109 "key": "WK_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "WK_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "WK_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "WK_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "WK_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "WK_H",
130 "label": "H",
131 }
132 "KC_F": {
133 "key": "WK_T",
134 "label": "T",
135 }
136 "KC_G": {
137 "key": "WK_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "WK_Y",
142 "label": "Y",
143 }
144 "KC_J": {
145 "key": "WK_N",
146 "label": "N",
147 }
148 "KC_K": {
149 "key": "WK_E",
150 "label": "E",
151 }
152 "KC_L": {
153 "key": "WK_O",
154 "label": "O",
155 }
156 "KC_SCLN": {
157 "key": "WK_I",
158 "label": "I",
159 }
160 "KC_QUOT": {
161 "key": "WK_QUOT",
162 "label": "'",
163 }
164 "KC_Z": {
165 "key": "WK_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "WK_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "WK_M",
174 "label": "M",
175 }
176 "KC_V": {
177 "key": "WK_C",
178 "label": "C",
179 }
180 "KC_B": {
181 "key": "WK_V",
182 "label": "V",
183 }
184 "KC_N": {
185 "key": "WK_K",
186 "label": "K",
187 }
188 "KC_M": {
189 "key": "WK_L",
190 "label": "L",
191 }
192 "KC_COMM": {
193 "key": "WK_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "WK_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "WK_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(WK_GRV)": {
218 "key": "WK_TILD",
219 "label": "~",
220 }
221 "S(WK_1)": {
222 "key": "WK_EXLM",
223 "label": "!",
224 }
225 "S(WK_2)": {
226 "key": "WK_AT",
227 "label": "@",
228 }
229 "S(WK_3)": {
230 "key": "WK_HASH",
231 "label": "#",
232 }
233 "S(WK_4)": {
234 "key": "WK_DLR",
235 "label": "$",
236 }
237 "S(WK_5)": {
238 "key": "WK_PERC",
239 "label": "%",
240 }
241 "S(WK_6)": {
242 "key": "WK_CIRC",
243 "label": "^",
244 }
245 "S(WK_7)": {
246 "key": "WK_AMPR",
247 "label": "&",
248 }
249 "S(WK_8)": {
250 "key": "WK_ASTR",
251 "label": "*",
252 }
253 "S(WK_9)": {
254 "key": "WK_LPRN",
255 "label": "(",
256 }
257 "S(WK_0)": {
258 "key": "WK_RPRN",
259 "label": ")",
260 }
261 "S(WK_MINS)": {
262 "key": "WK_UNDS",
263 "label": "_",
264 }
265 "S(WK_EQL)": {
266 "key": "WK_PLUS",
267 "label": "+",
268 }
269 "S(WK_SCLN)": {
270 "key": "WK_COLN",
271 "label": ":",
272 }
273 "S(WK_LBRC)": {
274 "key": "WK_LCBR",
275 "label": "{",
276 }
277 "S(WK_RBRC)": {
278 "key": "WK_RCBR",
279 "label": "}",
280 }
281 "S(WK_BSLS)": {
282 "key": "WK_PIPE",
283 "label": "|",
284 }
285 "S(WK_QUOT)": {
286 "key": "WK_DQUO",
287 "label": "\"",
288 }
289 "S(WK_COMM)": {
290 "key": "WK_LABK",
291 "label": "<",
292 }
293 "S(WK_DOT)": {
294 "key": "WK_RABK",
295 "label": ">",
296 }
297 "S(WK_SLSH)": {
298 "key": "WK_QUES",
299 "label": "?",
300 }
301 }
302} \ No newline at end of file
diff --git a/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson
new file mode 100644
index 0000000000..86f6a5bffb
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson
@@ -0,0 +1,302 @@
1{
2 "aliases": {
3/*
4 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
5 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
6 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
7 * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
8 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
9 * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
10 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
11 * │ │ Z │ X │ C │ V │ M │ K │ L │ , │ . │ / │ │
12 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
13 * │ │ │ │ │ │ │ │ │
14 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
15 */
16 "KC_GRV": {
17 "key": "WK_GRV",
18 "label": "`",
19 }
20 "KC_1": {
21 "key": "WK_1",
22 "label": "1",
23 }
24 "KC_2": {
25 "key": "WK_2",
26 "label": "2",
27 }
28 "KC_3": {
29 "key": "WK_3",
30 "label": "3",
31 }
32 "KC_4": {
33 "key": "WK_4",
34 "label": "4",
35 }
36 "KC_5": {
37 "key": "WK_5",
38 "label": "5",
39 }
40 "KC_6": {
41 "key": "WK_6",
42 "label": "6",
43 }
44 "KC_7": {
45 "key": "WK_7",
46 "label": "7",
47 }
48 "KC_8": {
49 "key": "WK_8",
50 "label": "8",
51 }
52 "KC_9": {
53 "key": "WK_9",
54 "label": "9",
55 }
56 "KC_0": {
57 "key": "WK_0",
58 "label": "0",
59 }
60 "KC_MINS": {
61 "key": "WK_MINS",
62 "label": "-",
63 }
64 "KC_EQL": {
65 "key": "WK_EQL",
66 "label": "=",
67 }
68 "KC_Q": {
69 "key": "WK_Q",
70 "label": "Q",
71 }
72 "KC_W": {
73 "key": "WK_D",
74 "label": "D",
75 }
76 "KC_E": {
77 "key": "WK_R",
78 "label": "R",
79 }
80 "KC_R": {
81 "key": "WK_W",
82 "label": "W",
83 }
84 "KC_T": {
85 "key": "WK_B",
86 "label": "B",
87 }
88 "KC_Y": {
89 "key": "WK_J",
90 "label": "J",
91 }
92 "KC_U": {
93 "key": "WK_F",
94 "label": "F",
95 }
96 "KC_I": {
97 "key": "WK_U",
98 "label": "U",
99 }
100 "KC_O": {
101 "key": "WK_P",
102 "label": "P",
103 }
104 "KC_P": {
105 "key": "WK_SCLN",
106 "label": ";",
107 }
108 "KC_LBRC": {
109 "key": "WK_LBRC",
110 "label": "[",
111 }
112 "KC_RBRC": {
113 "key": "WK_RBRC",
114 "label": "]",
115 }
116 "KC_BSLS": {
117 "key": "WK_BSLS",
118 "label": "\\",
119 }
120 "KC_A": {
121 "key": "WK_A",
122 "label": "A",
123 }
124 "KC_S": {
125 "key": "WK_S",
126 "label": "S",
127 }
128 "KC_D": {
129 "key": "WK_H",
130 "label": "H",
131 }
132 "KC_F": {
133 "key": "WK_T",
134 "label": "T",
135 }
136 "KC_G": {
137 "key": "WK_G",
138 "label": "G",
139 }
140 "KC_H": {
141 "key": "WK_Y",
142 "label": "Y",
143 }
144 "KC_J": {
145 "key": "WK_N",
146 "label": "N",
147 }
148 "KC_K": {
149 "key": "WK_E",
150 "label": "E",
151 }
152 "KC_L": {
153 "key": "WK_O",
154 "label": "O",
155 }
156 "KC_SCLN": {
157 "key": "WK_I",
158 "label": "I",
159 }
160 "KC_QUOT": {
161 "key": "WK_QUOT",
162 "label": "'",
163 }
164 "KC_Z": {
165 "key": "WK_Z",
166 "label": "Z",
167 }
168 "KC_X": {
169 "key": "WK_X",
170 "label": "X",
171 }
172 "KC_C": {
173 "key": "WK_C",
174 "label": "C",
175 }
176 "KC_V": {
177 "key": "WK_V",
178 "label": "V",
179 }
180 "KC_B": {
181 "key": "WK_M",
182 "label": "M",
183 }
184 "KC_N": {
185 "key": "WK_K",
186 "label": "K",
187 }
188 "KC_M": {
189 "key": "WK_L",
190 "label": "L",
191 }
192 "KC_COMM": {
193 "key": "WK_COMM",
194 "label": ",",
195 }
196 "KC_DOT": {
197 "key": "WK_DOT",
198 "label": ".",
199 }
200 "KC_SLSH": {
201 "key": "WK_SLSH",
202 "label": "/",
203 }
204/* Shifted symbols
205 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
206 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
207 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
208 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
209 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
210 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
211 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
212 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
213 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
214 * │ │ │ │ │ │ │ │ │
215 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
216 */
217 "S(WK_GRV)": {
218 "key": "WK_TILD",
219 "label": "~",
220 }
221 "S(WK_1)": {
222 "key": "WK_EXLM",
223 "label": "!",
224 }
225 "S(WK_2)": {
226 "key": "WK_AT",
227 "label": "@",
228 }
229 "S(WK_3)": {
230 "key": "WK_HASH",
231 "label": "#",
232 }
233 "S(WK_4)": {
234 "key": "WK_DLR",
235 "label": "$",
236 }
237 "S(WK_5)": {
238 "key": "WK_PERC",
239 "label": "%",
240 }
241 "S(WK_6)": {
242 "key": "WK_CIRC",
243 "label": "^",
244 }
245 "S(WK_7)": {
246 "key": "WK_AMPR",
247 "label": "&",
248 }
249 "S(WK_8)": {
250 "key": "WK_ASTR",
251 "label": "*",
252 }
253 "S(WK_9)": {
254 "key": "WK_LPRN",
255 "label": "(",
256 }
257 "S(WK_0)": {
258 "key": "WK_RPRN",
259 "label": ")",
260 }
261 "S(WK_MINS)": {
262 "key": "WK_UNDS",
263 "label": "_",
264 }
265 "S(WK_EQL)": {
266 "key": "WK_PLUS",
267 "label": "+",
268 }
269 "S(WK_SCLN)": {
270 "key": "WK_COLN",
271 "label": ":",
272 }
273 "S(WK_LBRC)": {
274 "key": "WK_LCBR",
275 "label": "{",
276 }
277 "S(WK_RBRC)": {
278 "key": "WK_RCBR",
279 "label": "}",
280 }
281 "S(WK_BSLS)": {
282 "key": "WK_PIPE",
283 "label": "|",
284 }
285 "S(WK_QUOT)": {
286 "key": "WK_DQUO",
287 "label": "\"",
288 }
289 "S(WK_COMM)": {
290 "key": "WK_LABK",
291 "label": "<",
292 }
293 "S(WK_DOT)": {
294 "key": "WK_RABK",
295 "label": ">",
296 }
297 "S(WK_SLSH)": {
298 "key": "WK_QUES",
299 "label": "?",
300 }
301 }
302} \ No newline at end of file
diff --git a/lib/python/qmk/cli/generate/keycodes.py b/lib/python/qmk/cli/generate/keycodes.py
index cf80689708..2ed84cd589 100644
--- a/lib/python/qmk/cli/generate/keycodes.py
+++ b/lib/python/qmk/cli/generate/keycodes.py
@@ -91,9 +91,10 @@ def _generate_aliases(lines, keycodes):
91 for key, value in keycodes["aliases"].items(): 91 for key, value in keycodes["aliases"].items():
92 define = _render_key(value.get("key")) 92 define = _render_key(value.get("key"))
93 val = _render_key(key) 93 val = _render_key(key)
94 label = _render_label(value.get("label")) 94 if 'label' in value:
95 95 lines.append(f'#define {define} {val} // {_render_label(value.get("label"))}')
96 lines.append(f'#define {define} {val} // {label}') 96 else:
97 lines.append(f'#define {define} {val}')
97 98
98 lines.append('') 99 lines.append('')
99 for key, value in keycodes["aliases"].items(): 100 for key, value in keycodes["aliases"].items():
diff --git a/quantum/keymap_extras/keymap_belgian.h b/quantum/keymap_extras/keymap_belgian.h
index 207905b291..235ebde30e 100644
--- a/quantum/keymap_extras/keymap_belgian.h
+++ b/quantum/keymap_extras/keymap_belgian.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Jack Humbert 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ² │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ µ │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define BE_SUP2 KC_GRV // ² 31#define BE_SUP2 KC_GRV // ²
38#define BE_AMPR KC_1 // & 32#define BE_AMPR KC_1 // &
39#define BE_EACU KC_2 // é 33#define BE_EACU KC_2 // é
@@ -47,7 +41,6 @@
47#define BE_AGRV KC_0 // à 41#define BE_AGRV KC_0 // à
48#define BE_RPRN KC_MINS // ) 42#define BE_RPRN KC_MINS // )
49#define BE_MINS KC_EQL // - 43#define BE_MINS KC_EQL // -
50// Row 2
51#define BE_A KC_Q // A 44#define BE_A KC_Q // A
52#define BE_Z KC_W // Z 45#define BE_Z KC_W // Z
53#define BE_E KC_E // E 46#define BE_E KC_E // E
@@ -60,7 +53,6 @@
60#define BE_P KC_P // P 53#define BE_P KC_P // P
61#define BE_DCIR KC_LBRC // ^ (dead) 54#define BE_DCIR KC_LBRC // ^ (dead)
62#define BE_DLR KC_RBRC // $ 55#define BE_DLR KC_RBRC // $
63// Row 3
64#define BE_Q KC_A // Q 56#define BE_Q KC_A // Q
65#define BE_S KC_S // S 57#define BE_S KC_S // S
66#define BE_D KC_D // D 58#define BE_D KC_D // D
@@ -73,7 +65,6 @@
73#define BE_M KC_SCLN // M 65#define BE_M KC_SCLN // M
74#define BE_UGRV KC_QUOT // ù 66#define BE_UGRV KC_QUOT // ù
75#define BE_MICR KC_NUHS // µ 67#define BE_MICR KC_NUHS // µ
76// Row 4
77#define BE_LABK KC_NUBS // < 68#define BE_LABK KC_NUBS // <
78#define BE_W KC_Z // W 69#define BE_W KC_Z // W
79#define BE_X KC_X // X 70#define BE_X KC_X // X
@@ -85,21 +76,6 @@
85#define BE_SCLN KC_COMM // ; 76#define BE_SCLN KC_COMM // ;
86#define BE_COLN KC_DOT // : 77#define BE_COLN KC_DOT // :
87#define BE_EQL KC_SLSH // = 78#define BE_EQL KC_SLSH // =
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ³ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define BE_SUP3 S(BE_SUP2) // ³ 79#define BE_SUP3 S(BE_SUP2) // ³
104#define BE_1 S(BE_AMPR) // 1 80#define BE_1 S(BE_AMPR) // 1
105#define BE_2 S(BE_EACU) // 2 81#define BE_2 S(BE_EACU) // 2
@@ -113,46 +89,25 @@
113#define BE_0 S(BE_AGRV) // 0 89#define BE_0 S(BE_AGRV) // 0
114#define BE_DEG S(BE_RPRN) // ° 90#define BE_DEG S(BE_RPRN) // °
115#define BE_UNDS S(BE_MINS) // _ 91#define BE_UNDS S(BE_MINS) // _
116// Row 2
117#define BE_DIAE S(BE_DCIR) // ¨ (dead) 92#define BE_DIAE S(BE_DCIR) // ¨ (dead)
118#define BE_ASTR S(BE_DLR) // * 93#define BE_ASTR S(BE_DLR) // *
119// Row 3
120#define BE_PERC S(BE_UGRV) // % 94#define BE_PERC S(BE_UGRV) // %
121#define BE_PND S(BE_MICR) // £ 95#define BE_PND S(BE_MICR) // £
122// Row 4
123#define BE_RABK S(BE_LABK) // > 96#define BE_RABK S(BE_LABK) // >
124#define BE_QUES S(BE_COMM) // ? 97#define BE_QUES S(BE_COMM) // ?
125#define BE_DOT S(BE_SCLN) // . 98#define BE_DOT S(BE_SCLN) // .
126#define BE_SLSH S(BE_COLN) // / 99#define BE_SLSH S(BE_COLN) // /
127#define BE_PLUS S(BE_EQL) // + 100#define BE_PLUS S(BE_EQL) // +
128
129/* AltGr symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
131 * │ │ | │ @ │ # │ │ │ ^ │ │ │ { │ } │ │ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
133 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ │ │ │ │ │ │ │ │ │ │ ´ │ ` │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
137 * │ │ \ │ │ │ │ │ │ │ │ │ │ ~ │ │
138 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
139 * │ │ │ │ │ │ │ │ │
140 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
141 */
142// Row 1
143#define BE_PIPE ALGR(BE_AMPR) // | 101#define BE_PIPE ALGR(BE_AMPR) // |
144#define BE_AT ALGR(BE_EACU) // @ 102#define BE_AT ALGR(BE_EACU) // @
145#define BE_HASH ALGR(BE_DQUO) // # 103#define BE_HASH ALGR(BE_DQUO) // #
146#define BE_CIRC ALGR(BE_SECT) // ^ 104#define BE_CIRC ALGR(BE_SECT) // ^
147#define BE_LCBR ALGR(BE_CCED) // { 105#define BE_LCBR ALGR(BE_CCED) // {
148#define BE_RCBR ALGR(BE_AGRV) // } 106#define BE_RCBR ALGR(BE_AGRV) // }
149// Row 2
150#define BE_EURO ALGR(BE_E) // € 107#define BE_EURO ALGR(BE_E) // €
151#define BE_LBRC ALGR(BE_DCIR) // [ 108#define BE_LBRC ALGR(BE_DCIR) // [
152#define BE_RBRC ALGR(BE_DLR) // ] 109#define BE_RBRC ALGR(BE_DLR) // ]
153// Row 3
154#define BE_ACUT ALGR(BE_UGRV) // ´ (dead) 110#define BE_ACUT ALGR(BE_UGRV) // ´ (dead)
155#define BE_GRV ALGR(BE_MICR) // ` (dead) 111#define BE_GRV ALGR(BE_MICR) // ` (dead)
156// Row 4
157#define BE_BSLS ALGR(BE_LABK) // (backslash) 112#define BE_BSLS ALGR(BE_LABK) // (backslash)
158#define BE_TILD ALGR(BE_EQL) // ~ 113#define BE_TILD ALGR(BE_EQL) // ~
diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h
index 6361823242..7dc2aa9095 100644
--- a/quantum/keymap_extras/keymap_bepo.h
+++ b/quantum/keymap_extras/keymap_bepo.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ $ │ " │ « │ » │ ( │ ) │ @ │ + │ - │ / │ * │ = │ % │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ B │ É │ P │ O │ È │ ^ │ V │ D │ L │ J │ Z │ W │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ U │ I │ E │ , │ C │ T │ S │ R │ N │ M │ Ç │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ Ê │ À │ Y │ X │ . │ K │ ' │ Q │ G │ H │ F │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define BP_DLR KC_GRV // $ 31#define BP_DLR KC_GRV // $
38#define BP_DQUO KC_1 // " 32#define BP_DQUO KC_1 // "
39#define BP_LDAQ KC_2 // « 33#define BP_LDAQ KC_2 // «
@@ -47,7 +41,6 @@
47#define BP_ASTR KC_0 // * 41#define BP_ASTR KC_0 // *
48#define BP_EQL KC_MINS // = 42#define BP_EQL KC_MINS // =
49#define BP_PERC KC_EQL // % 43#define BP_PERC KC_EQL // %
50// Row 2
51#define BP_B KC_Q // B 44#define BP_B KC_Q // B
52#define BP_EACU KC_W // É 45#define BP_EACU KC_W // É
53#define BP_P KC_E // P 46#define BP_P KC_E // P
@@ -60,7 +53,6 @@
60#define BP_J KC_P // J 53#define BP_J KC_P // J
61#define BP_Z KC_LBRC // Z 54#define BP_Z KC_LBRC // Z
62#define BP_W KC_RBRC // W 55#define BP_W KC_RBRC // W
63// Row 3
64#define BP_A KC_A // A 56#define BP_A KC_A // A
65#define BP_U KC_S // U 57#define BP_U KC_S // U
66#define BP_I KC_D // I 58#define BP_I KC_D // I
@@ -73,7 +65,6 @@
73#define BP_N KC_SCLN // N 65#define BP_N KC_SCLN // N
74#define BP_M KC_QUOT // M 66#define BP_M KC_QUOT // M
75#define BP_CCED KC_BSLS // Ç 67#define BP_CCED KC_BSLS // Ç
76// Row 4
77#define BP_ECIR KC_NUBS // Ê 68#define BP_ECIR KC_NUBS // Ê
78#define BP_AGRV KC_Z // À 69#define BP_AGRV KC_Z // À
79#define BP_Y KC_X // Y 70#define BP_Y KC_X // Y
@@ -85,21 +76,6 @@
85#define BP_G KC_COMM // G 76#define BP_G KC_COMM // G
86#define BP_H KC_DOT // H 77#define BP_H KC_DOT // H
87#define BP_F KC_SLSH // F 78#define BP_F KC_SLSH // F
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ ! │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ ; │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ │ │ │ │ : │ │ ? │ │ │ │ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define BP_HASH S(BP_DLR) // # 79#define BP_HASH S(BP_DLR) // #
104#define BP_1 S(BP_DQUO) // 1 80#define BP_1 S(BP_DQUO) // 1
105#define BP_2 S(BP_LDAQ) // 2 81#define BP_2 S(BP_LDAQ) // 2
@@ -113,30 +89,11 @@
113#define BP_0 S(BP_ASTR) // 0 89#define BP_0 S(BP_ASTR) // 0
114#define BP_DEG S(BP_EQL) // ° 90#define BP_DEG S(BP_EQL) // °
115#define BP_GRV S(BP_PERC) // ` 91#define BP_GRV S(BP_PERC) // `
116// Row 2
117#define BP_EXLM S(BP_DCIR) // ! 92#define BP_EXLM S(BP_DCIR) // !
118// Row 3
119#define BP_SCLN S(BP_COMM) // ; 93#define BP_SCLN S(BP_COMM) // ;
120// Row 4
121#define BP_COLN S(BP_DOT) // : 94#define BP_COLN S(BP_DOT) // :
122#define BP_QUES S(BP_QUOT) // ? 95#define BP_QUES S(BP_QUOT) // ?
123// Row 5 96#define BP_NBSP S(KC_SPC) // (non-breaking space)
124#define BP_NBSP S(KC_SPC) //   (non-breaking space)
125
126/* AltGr symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
128 * │ – │ — │ < │ > │ [ │ ] │ ^ │ ± │ − │ ÷ │ × │ ≠ │ ‰ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
130 * │ │ | │ ´ │ & │ Œ │ ` │ ¡ │ ˇ │ Ð │ / │ IJ │ Ə │ ˘ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │ Æ │ Ù │ ¨ │ € │ │ © │ Þ │ ẞ │ ® │ ~ │ ¯ │ ¸ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
134 * │ │ │ \ │ { │ } │ … │ ~ │ ¿ │ ° │ │ † │ ˛ │ │
135 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
136 * │ │ │ │ _ │ │ │ │ │
137 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
138 */
139// Row 1
140#define BP_NDSH ALGR(BP_DLR) // – 97#define BP_NDSH ALGR(BP_DLR) // –
141#define BP_MDSH ALGR(BP_DQUO) // — 98#define BP_MDSH ALGR(BP_DQUO) // —
142#define BP_LABK ALGR(BP_LDAQ) // < 99#define BP_LABK ALGR(BP_LDAQ) // <
@@ -150,7 +107,6 @@
150#define BP_MUL ALGR(BP_ASTR) // × 107#define BP_MUL ALGR(BP_ASTR) // ×
151#define BP_NEQL ALGR(BP_EQL) // ≠ 108#define BP_NEQL ALGR(BP_EQL) // ≠
152#define BP_PERM ALGR(BP_PERC) // ‰ 109#define BP_PERM ALGR(BP_PERC) // ‰
153// Row 2
154#define BP_PIPE ALGR(BP_B) // | 110#define BP_PIPE ALGR(BP_B) // |
155#define BP_ACUT ALGR(BP_EACU) // ´ (dead) 111#define BP_ACUT ALGR(BP_EACU) // ´ (dead)
156#define BP_AMPR ALGR(BP_P) // & 112#define BP_AMPR ALGR(BP_P) // &
@@ -163,7 +119,6 @@
163#define BP_IJ ALGR(BP_J) // IJ 119#define BP_IJ ALGR(BP_J) // IJ
164#define BP_SCHW ALGR(BP_Z) // Ə 120#define BP_SCHW ALGR(BP_Z) // Ə
165#define BP_BREV ALGR(BP_W) // ˘ (dead) 121#define BP_BREV ALGR(BP_W) // ˘ (dead)
166// Row 3
167#define BP_AE ALGR(BP_A) // Æ 122#define BP_AE ALGR(BP_A) // Æ
168#define BP_UGRV ALGR(BP_U) // Ù 123#define BP_UGRV ALGR(BP_U) // Ù
169#define BP_DIAE ALGR(BP_I) // ¨ (dead) 124#define BP_DIAE ALGR(BP_I) // ¨ (dead)
@@ -175,7 +130,6 @@
175#define BP_DTIL ALGR(BP_N) // ~ (dead) 130#define BP_DTIL ALGR(BP_N) // ~ (dead)
176#define BP_MACR ALGR(BP_M) // ¯ (dead) 131#define BP_MACR ALGR(BP_M) // ¯ (dead)
177#define BP_CEDL ALGR(BP_CCED) // ¸ (dead) 132#define BP_CEDL ALGR(BP_CCED) // ¸ (dead)
178// Row 4
179#define BP_BSLS ALGR(BP_AGRV) // (backslash) 133#define BP_BSLS ALGR(BP_AGRV) // (backslash)
180#define BP_LCBR ALGR(BP_Y) // { 134#define BP_LCBR ALGR(BP_Y) // {
181#define BP_RCBR ALGR(BP_X) // } 135#define BP_RCBR ALGR(BP_X) // }
@@ -186,23 +140,7 @@
186#define BP_DGRK ALGR(BP_G) // µ (dead Greek key) 140#define BP_DGRK ALGR(BP_G) // µ (dead Greek key)
187#define BP_DAGG ALGR(BP_H) // † 141#define BP_DAGG ALGR(BP_H) // †
188#define BP_OGON ALGR(BP_F) // ˛ (dead) 142#define BP_OGON ALGR(BP_F) // ˛ (dead)
189// Row 5
190#define BP_UNDS ALGR(KC_SPC) // _ 143#define BP_UNDS ALGR(KC_SPC) // _
191
192/* Shift+AltGr symbols
193 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
194 * │ ¶ │ „ │ “ │ ” │ ≤ │ ≥ │ │ ¬ │ ¼ │ ½ │ ¾ │ ′ │ ″ │ │
195 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
196 * │ │ ¦ │ ˝ │ § │ │ │ │ │ │ │ │ │ │ │
197 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
198 * │ │ │ │ ˙ │ ¤ │ ̛ │ ſ │ │ │ ™ │ │ º │ , │ │
199 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
200 * │ │ │ │ ‘ │ ’ │ · │ ⌨ │ ̉ │ ̣ │ │ ‡ │ ª │ │
201 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
202 * │ │ │ │ │ │ │ │ │
203 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
204 */
205// Row 1
206#define BP_PARA S(ALGR(BP_DLR)) // ¶ 144#define BP_PARA S(ALGR(BP_DLR)) // ¶
207#define BP_DLQU S(ALGR(BP_DQUO)) // „ 145#define BP_DLQU S(ALGR(BP_DQUO)) // „
208#define BP_LDQU S(ALGR(BP_LDAQ)) // “ 146#define BP_LDQU S(ALGR(BP_LDAQ)) // “
@@ -215,26 +153,22 @@
215#define BP_TQTR S(ALGR(BP_ASTR)) // ¾ 153#define BP_TQTR S(ALGR(BP_ASTR)) // ¾
216#define BP_PRIM S(ALGR(BP_EQL)) // ′ 154#define BP_PRIM S(ALGR(BP_EQL)) // ′
217#define BP_DPRM S(ALGR(BP_PERC)) // ″ 155#define BP_DPRM S(ALGR(BP_PERC)) // ″
218// Row 2
219#define BP_BRKP S(ALGR(BP_B)) // ¦ 156#define BP_BRKP S(ALGR(BP_B)) // ¦
220#define BP_DACU S(ALGR(BP_EACU)) // ˝ (dead) 157#define BP_DACU S(ALGR(BP_EACU)) // ˝ (dead)
221#define BP_SECT S(ALGR(BP_P)) // § 158#define BP_SECT S(ALGR(BP_P)) // §
222// Row 3
223#define BP_DOTA S(ALGR(BP_I)) // ˙ (dead) 159#define BP_DOTA S(ALGR(BP_I)) // ˙ (dead)
224#define BP_CURR S(ALGR(BP_E)) // ¤ (dead) 160#define BP_CURR S(ALGR(BP_E)) // ¤ (dead)
225#define BP_HORN S(ALGR(BP_COMM)) // ̛ (dead) 161#define BP_HORN S(ALGR(BP_COMM)) // ̛ (dead)
226#define BP_LNGS S(ALGR(BP_C)) // ſ 162#define BP_LNGS S(ALGR(BP_C)) // ſ
227#define BP_TM S(ALGR(BP_R)) // ™ 163#define BP_TM S(ALGR(BP_R)) // ™
228#define BP_MORD S(ALGR(BP_M)) // º 164#define BP_MORD S(ALGR(BP_M)) // º
229#define BP_DCMM S(ALGR(BP_CCED)) // , (dead) 165#define BP_DCMM S(ALGR(BP_CCED)) // , (dead)
230// Row 4
231#define BP_LSQU S(ALGR(BP_Y)) // ‘ 166#define BP_LSQU S(ALGR(BP_Y)) // ‘
232#define BP_RSQU S(ALGR(BP_X)) // ’ 167#define BP_RSQU S(ALGR(BP_X)) // ’
233#define BP_MDDT S(ALGR(BP_DOT)) // · 168#define BP_MDDT S(ALGR(BP_DOT)) // ·
234#define BP_KEYB S(ALGR(BP_K)) // ⌨ 169#define BP_KEYB S(ALGR(BP_K)) // ⌨
235#define BP_HOKA S(ALGR(BP_QUOT)) // ̉ (dead) 170#define BP_HOKA S(ALGR(BP_QUOT)) // ̉ (dead)
236#define BP_DOTB S(ALGR(BP_Q)) // ̣ (dead) 171#define BP_DOTB S(ALGR(BP_Q)) // ̣ (dead)
237#define BP_DDAG S(ALGR(BP_H)) // ‡ 172#define BP_DDAG S(ALGR(BP_H)) // ‡
238#define BP_FORD S(ALGR(BP_F)) // ª 173#define BP_FORD S(ALGR(BP_F)) // ª
239// Row 5 174#define BP_NNBS S(ALGR(KC_SPC)) // (narrow non-breaking space)
240#define BP_NNBS S(ALGR(KC_SPC)) //   (narrow non-breaking space)
diff --git a/quantum/keymap_extras/keymap_brazilian_abnt2.h b/quantum/keymap_extras/keymap_brazilian_abnt2.h
index b5892183be..64395bf017 100644
--- a/quantum/keymap_extras/keymap_brazilian_abnt2.h
+++ b/quantum/keymap_extras/keymap_brazilian_abnt2.h
@@ -1,39 +1,33 @@
1/* Copyright 2017 Potiguar Faga 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ´ │ [ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ ] │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
31 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ; │ / │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define BR_QUOT KC_GRV // ' 31#define BR_QUOT KC_GRV // '
38#define BR_1 KC_1 // 1 32#define BR_1 KC_1 // 1
39#define BR_2 KC_2 // 2 33#define BR_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define BR_0 KC_0 // 0 41#define BR_0 KC_0 // 0
48#define BR_MINS KC_MINS // - 42#define BR_MINS KC_MINS // -
49#define BR_EQL KC_EQL // = 43#define BR_EQL KC_EQL // =
50// Row 2
51#define BR_Q KC_Q // Q 44#define BR_Q KC_Q // Q
52#define BR_W KC_W // W 45#define BR_W KC_W // W
53#define BR_E KC_E // E 46#define BR_E KC_E // E
@@ -60,7 +53,6 @@
60#define BR_P KC_P // P 53#define BR_P KC_P // P
61#define BR_ACUT KC_LBRC // ´ (dead) 54#define BR_ACUT KC_LBRC // ´ (dead)
62#define BR_LBRC KC_RBRC // [ 55#define BR_LBRC KC_RBRC // [
63// Row 3
64#define BR_A KC_A // A 56#define BR_A KC_A // A
65#define BR_S KC_S // S 57#define BR_S KC_S // S
66#define BR_D KC_D // D 58#define BR_D KC_D // D
@@ -73,7 +65,6 @@
73#define BR_CCED KC_SCLN // Ç 65#define BR_CCED KC_SCLN // Ç
74#define BR_TILD KC_QUOT // ~ (dead) 66#define BR_TILD KC_QUOT // ~ (dead)
75#define BR_RBRC KC_BSLS // ] 67#define BR_RBRC KC_BSLS // ]
76// Row 4
77#define BR_BSLS KC_NUBS // (backslash) 68#define BR_BSLS KC_NUBS // (backslash)
78#define BR_Z KC_Z // Z 69#define BR_Z KC_Z // Z
79#define BR_X KC_X // X 70#define BR_X KC_X // X
@@ -86,24 +77,8 @@
86#define BR_DOT KC_DOT // . 77#define BR_DOT KC_DOT // .
87#define BR_SCLN KC_SLSH // ; 78#define BR_SCLN KC_SLSH // ;
88#define BR_SLSH KC_INT1 // / 79#define BR_SLSH KC_INT1 // /
89// Numpad
90#define BR_PDOT KC_PCMM // . 80#define BR_PDOT KC_PCMM // .
91#define BR_PCMM KC_PDOT // , 81#define BR_PCMM KC_PDOT // ,
92
93/* Shifted symbols
94 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
95 * │ " │ ! │ @ │ # │ $ │ % │ ¨ │ & │ * │ ( │ ) │ _ │ + │ │
96 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
97 * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
98 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
99 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ } │ │
100 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
101 * │ │ | │ │ │ │ │ │ │ │ < │ > │ : │ ? │ │
102 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
103 * │ │ │ │ │ │ │ │ │
104 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
105 */
106// Row 1
107#define BR_DQUO S(BR_QUOT) // " 82#define BR_DQUO S(BR_QUOT) // "
108#define BR_EXLM S(BR_1) // ! 83#define BR_EXLM S(BR_1) // !
109#define BR_AT S(BR_2) // @ 84#define BR_AT S(BR_2) // @
@@ -117,33 +92,15 @@
117#define BR_RPRN S(BR_0) // ) 92#define BR_RPRN S(BR_0) // )
118#define BR_UNDS S(BR_MINS) // _ 93#define BR_UNDS S(BR_MINS) // _
119#define BR_PLUS S(BR_EQL) // + 94#define BR_PLUS S(BR_EQL) // +
120// Row 2
121#define BR_GRV S(BR_ACUT) // ` (dead) 95#define BR_GRV S(BR_ACUT) // ` (dead)
122#define BR_LCBR S(BR_LBRC) // { 96#define BR_LCBR S(BR_LBRC) // {
123// Row 3
124#define BR_CIRC S(BR_TILD) // ^ (dead) 97#define BR_CIRC S(BR_TILD) // ^ (dead)
125#define BR_RCBR S(BR_RBRC) // } 98#define BR_RCBR S(BR_RBRC) // }
126// Row 4
127#define BR_PIPE S(BR_BSLS) // | 99#define BR_PIPE S(BR_BSLS) // |
128#define BR_LABK S(BR_COMM) // < 100#define BR_LABK S(BR_COMM) // <
129#define BR_RABK S(BR_DOT) // > 101#define BR_RABK S(BR_DOT) // >
130#define BR_COLN S(BR_SCLN) // : 102#define BR_COLN S(BR_SCLN) // :
131#define BR_QUES S(BR_SLSH) // ? 103#define BR_QUES S(BR_SLSH) // ?
132
133/* AltGr symbols
134 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
135 * │ │ ¹ │ ² │ ³ │ £ │ ¢ │ ¬ │ │ │ │ │ │ § │ │
136 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
137 * │ │ │ │ ° │ │ │ │ │ │ │ │ │ ª │ │
138 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
139 * │ │ │ │ │ │ │ │ │ │ │ │ │ º │ │
140 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
141 * │ │ │ │ │ ₢ │ │ │ │ │ │ │ │ │ │
142 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
143 * │ │ │ │ │ │ │ │ │
144 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
145 */
146// Row 1
147#define BR_SUP1 ALGR(BR_1) // ¹ 104#define BR_SUP1 ALGR(BR_1) // ¹
148#define BR_SUP2 ALGR(BR_2) // ² 105#define BR_SUP2 ALGR(BR_2) // ²
149#define BR_SUP3 ALGR(BR_3) // ³ 106#define BR_SUP3 ALGR(BR_3) // ³
@@ -151,10 +108,7 @@
151#define BR_CENT ALGR(BR_5) // ¢ 108#define BR_CENT ALGR(BR_5) // ¢
152#define BR_NOT ALGR(BR_6) // ¬ 109#define BR_NOT ALGR(BR_6) // ¬
153#define BR_SECT ALGR(BR_EQL) // § 110#define BR_SECT ALGR(BR_EQL) // §
154// Row 2
155#define BR_DEG ALGR(BR_E) // ° 111#define BR_DEG ALGR(BR_E) // °
156#define BR_FORD ALGR(BR_LBRC) // ª 112#define BR_FORD ALGR(BR_LBRC) // ª
157// Row 3
158#define BR_MORD ALGR(BR_RBRC) // º 113#define BR_MORD ALGR(BR_RBRC) // º
159// Row 4
160#define BR_CRUZ ALGR(BR_C) // ₢ 114#define BR_CRUZ ALGR(BR_C) // ₢
diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h
index e328cf65e6..1a7223644c 100644
--- a/quantum/keymap_extras/keymap_canadian_multilingual.h
+++ b/quantum/keymap_extras/keymap_canadian_multilingual.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ / │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ Ç │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ È │ À │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ Ù │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define CA_SLSH KC_GRV // / 31#define CA_SLSH KC_GRV // /
38#define CA_1 KC_1 // 1 32#define CA_1 KC_1 // 1
39#define CA_2 KC_2 // 2 33#define CA_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define CA_0 KC_0 // 0 41#define CA_0 KC_0 // 0
48#define CA_MINS KC_MINS // - 42#define CA_MINS KC_MINS // -
49#define CA_EQL KC_EQL // = 43#define CA_EQL KC_EQL // =
50// Row 2
51#define CA_Q KC_Q // Q 44#define CA_Q KC_Q // Q
52#define CA_W KC_W // W 45#define CA_W KC_W // W
53#define CA_E KC_E // E 46#define CA_E KC_E // E
@@ -60,7 +53,6 @@
60#define CA_P KC_P // P 53#define CA_P KC_P // P
61#define CA_CIRC KC_LBRC // ^ (dead) 54#define CA_CIRC KC_LBRC // ^ (dead)
62#define CA_CCED KC_RBRC // Ç 55#define CA_CCED KC_RBRC // Ç
63// Row 3
64#define CA_A KC_A // A 56#define CA_A KC_A // A
65#define CA_S KC_S // S 57#define CA_S KC_S // S
66#define CA_D KC_D // D 58#define CA_D KC_D // D
@@ -73,7 +65,6 @@
73#define CA_SCLN KC_SCLN // ; 65#define CA_SCLN KC_SCLN // ;
74#define CA_EGRV KC_QUOT // É 66#define CA_EGRV KC_QUOT // É
75#define CA_AGRV KC_NUHS // À 67#define CA_AGRV KC_NUHS // À
76// Row 4
77#define CA_UGRV KC_NUBS // Ù 68#define CA_UGRV KC_NUBS // Ù
78#define CA_Z KC_Z // Z 69#define CA_Z KC_Z // Z
79#define CA_X KC_X // X 70#define CA_X KC_X // X
@@ -85,21 +76,6 @@
85#define CA_COMM KC_COMM // , 76#define CA_COMM KC_COMM // ,
86#define CA_DOT KC_DOT // . 77#define CA_DOT KC_DOT // .
87#define CA_EACU KC_SLSH // É 78#define CA_EACU KC_SLSH // É
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ \ │ ! │ @ │ # │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ : │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ │ │ │ │ │ │ │ │ ' │ " │ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define CA_BSLS S(CA_SLSH) // (backslash) 79#define CA_BSLS S(CA_SLSH) // (backslash)
104#define CA_EXLM S(CA_1) // ! 80#define CA_EXLM S(CA_1) // !
105#define CA_AT S(CA_2) // @ 81#define CA_AT S(CA_2) // @
@@ -113,28 +89,10 @@
113#define CA_RPRN S(CA_0) // ) 89#define CA_RPRN S(CA_0) // )
114#define CA_UNDS S(CA_MINS) // _ 90#define CA_UNDS S(CA_MINS) // _
115#define CA_PLUS S(CA_EQL) // + 91#define CA_PLUS S(CA_EQL) // +
116// Row 2
117#define CA_DIAE S(CA_CIRC) // ¨ (dead) 92#define CA_DIAE S(CA_CIRC) // ¨ (dead)
118// Row 3
119#define CA_COLN S(CA_SCLN) // : 93#define CA_COLN S(CA_SCLN) // :
120// Row 4
121#define CA_QUOT S(CA_COMM) // ' 94#define CA_QUOT S(CA_COMM) // '
122#define CA_DQUO S(CA_DOT) // " 95#define CA_DQUO S(CA_DOT) // "
123
124/* AltGr symbols
125 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
126 * │ | │ │ │ │ ¤ │ │ │ { │ } │ [ │ ] │ │ ¬ │ │
127 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
128 * │ │ │ │ € │ │ │ │ │ │ │ │ ` │ ~ │ │
129 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
130 * │ │ │ │ │ │ │ │ │ │ │ ° │ │ │ │
131 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
132 * │ │ │ « │ » │ │ │ │ │ │ < │ > │ │ │
133 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
134 * │ │ │ │ │ │ │ │ │
135 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
136 */
137// Row 1
138#define CA_PIPE ALGR(CA_SLSH) // | 96#define CA_PIPE ALGR(CA_SLSH) // |
139#define CA_CURR ALGR(CA_4) // ¤ 97#define CA_CURR ALGR(CA_4) // ¤
140#define CA_LCBR ALGR(CA_7) // { 98#define CA_LCBR ALGR(CA_7) // {
@@ -142,32 +100,14 @@
142#define CA_LBRC ALGR(CA_9) // [ 100#define CA_LBRC ALGR(CA_9) // [
143#define CA_RBRC ALGR(CA_0) // ] 101#define CA_RBRC ALGR(CA_0) // ]
144#define CA_NOT ALGR(CA_EQL) // ¬ 102#define CA_NOT ALGR(CA_EQL) // ¬
145// Row 2
146#define CA_EURO ALGR(CA_E) // € 103#define CA_EURO ALGR(CA_E) // €
147#define CA_GRV ALGR(CA_CIRC) // ` (dead) 104#define CA_GRV ALGR(CA_CIRC) // ` (dead)
148#define CA_DTIL ALGR(CA_CCED) // ~ (dead) 105#define CA_DTIL ALGR(CA_CCED) // ~ (dead)
149// Row 3
150#define CA_DEG ALGR(CA_SCLN) // ° 106#define CA_DEG ALGR(CA_SCLN) // °
151// Row 4
152#define CA_LDAQ ALGR(CA_Z) // « 107#define CA_LDAQ ALGR(CA_Z) // «
153#define CA_RDAQ ALGR(CA_X) // » 108#define CA_RDAQ ALGR(CA_X) // »
154#define CA_LABK ALGR(CA_COMM) // < 109#define CA_LABK ALGR(CA_COMM) // <
155#define CA_RABK ALGR(CA_DOT) // > 110#define CA_RABK ALGR(CA_DOT) // >
156
157/* Right Ctrl symbols
158 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
159 * │ │ ¹ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │ │ │ │ │ ¸ │ │
160 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
161 * │ │ Ω │ Ł │ Œ │ ¶ │ Ŧ │ ← │ ↓ │ → │ Ø │ Þ │ │ ~ │ │
162 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
163 * │ │ Æ │ ß │ Ð │ │ Ŋ │ Ħ │ IJ │ ĸ │ Ŀ │ ´ │ │ │ │
164 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
165 * │ │ │ │ │ ¢ │ “ │ ” │ ʼn │ μ │ ― │ ˙ │ │ │
166 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
167 * │ │ │ │ │ │ │ │ │
168 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
169 */
170// Row 1
171#define CA_SUP1 RCTL(CA_1) // ¹ 111#define CA_SUP1 RCTL(CA_1) // ¹
172#define CA_SUP2 RCTL(CA_2) // ² 112#define CA_SUP2 RCTL(CA_2) // ²
173#define CA_SUP3 RCTL(CA_3) // ³ 113#define CA_SUP3 RCTL(CA_3) // ³
@@ -175,7 +115,6 @@
175#define CA_HALF RCTL(CA_5) // ½ 115#define CA_HALF RCTL(CA_5) // ½
176#define CA_TQTR RCTL(CA_6) // ¾ 116#define CA_TQTR RCTL(CA_6) // ¾
177#define CA_CEDL RCTL(CA_EQL) // ¸ (dead) 117#define CA_CEDL RCTL(CA_EQL) // ¸ (dead)
178// Row 2
179#define CA_OMEG RCTL(CA_Q) // Ω 118#define CA_OMEG RCTL(CA_Q) // Ω
180#define CA_LSTR RCTL(CA_W) // Ł 119#define CA_LSTR RCTL(CA_W) // Ł
181#define CA_OE RCTL(CA_E) // Œ 120#define CA_OE RCTL(CA_E) // Œ
@@ -187,7 +126,6 @@
187#define CA_OSTR RCTL(CA_O) // Ø 126#define CA_OSTR RCTL(CA_O) // Ø
188#define CA_THRN RCTL(CA_P) // Þ 127#define CA_THRN RCTL(CA_P) // Þ
189#define CA_TILD RCTL(CA_CCED) // ~ 128#define CA_TILD RCTL(CA_CCED) // ~
190// Row 3
191#define CA_AE RCTL(CA_A) // Æ 129#define CA_AE RCTL(CA_A) // Æ
192#define CA_SS RCTL(CA_S) // ß 130#define CA_SS RCTL(CA_S) // ß
193#define CA_ETH RCTL(CA_D) // Ð 131#define CA_ETH RCTL(CA_D) // Ð
@@ -197,7 +135,6 @@
197#define CA_KRA RCTL(CA_K) // ĸ 135#define CA_KRA RCTL(CA_K) // ĸ
198#define CA_LMDT RCTL(CA_L) // Ŀ 136#define CA_LMDT RCTL(CA_L) // Ŀ
199#define CA_ACUT RCTL(CA_SCLN) // ´ (dead) 137#define CA_ACUT RCTL(CA_SCLN) // ´ (dead)
200// Row 4
201#define CA_CENT RCTL(CA_C) // ¢ 138#define CA_CENT RCTL(CA_C) // ¢
202#define CA_LDQU RCTL(CA_V) // “ 139#define CA_LDQU RCTL(CA_V) // “
203#define CA_RDQU RCTL(CA_B) // ” 140#define CA_RDQU RCTL(CA_B) // ”
@@ -205,21 +142,6 @@
205#define CA_MICR RCTL(CA_M) // μ 142#define CA_MICR RCTL(CA_M) // μ
206#define CA_HRZB RCTL(CA_COMM) // ― 143#define CA_HRZB RCTL(CA_COMM) // ―
207#define CA_DOTA RCTL(CA_DOT) // ˙ (dead) 144#define CA_DOTA RCTL(CA_DOT) // ˙ (dead)
208
209/* Shift+Right Ctrl symbols
210 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
211 * │ - │ ¡ │ │ £ │ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ │ ¿ │ ˛ │ │
212 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
213 * │ │ │ │ │ ® │ │ ¥ │ ↑ │ ı │ │ │ ° │ ¯ │ │
214 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
215 * │ │ │ § │ │ ª │ │ │ │ │ │ ˝ │ ˇ │ ˘ │ │
216 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
217 * │ │ ¦ │ │ │ © │ ‘ │ ’ │ ♪ │ º │ × │ ÷ │ │ │
218 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
219 * │ │ │ │ │ │ │ │ │
220 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
221 */
222// Row 1
223#define CA_SHYP RCTL(S(CA_SLSH)) // ­ (soft hyphen) 145#define CA_SHYP RCTL(S(CA_SLSH)) // ­ (soft hyphen)
224#define CA_IEXL RCTL(S(CA_1)) // ¡ 146#define CA_IEXL RCTL(S(CA_1)) // ¡
225#define CA_PND RCTL(S(CA_3)) // £ 147#define CA_PND RCTL(S(CA_3)) // £
@@ -230,20 +152,17 @@
230#define CA_PLMN RCTL(S(CA_9)) // ± 152#define CA_PLMN RCTL(S(CA_9)) // ±
231#define CA_IQUE RCTL(S(CA_MINS)) // ¿ 153#define CA_IQUE RCTL(S(CA_MINS)) // ¿
232#define CA_OGON RCTL(S(CA_EQL)) // ˛ (dead) 154#define CA_OGON RCTL(S(CA_EQL)) // ˛ (dead)
233// Row 2
234#define CA_REGD RCTL(S(CA_R)) // ® 155#define CA_REGD RCTL(S(CA_R)) // ®
235#define CA_YEN RCTL(S(CA_Y)) // ¥ 156#define CA_YEN RCTL(S(CA_Y)) // ¥
236#define CA_UARR RCTL(S(CA_U)) // ↑ 157#define CA_UARR RCTL(S(CA_U)) // ↑
237#define CA_DLSI RCTL(S(CA_I)) // ı 158#define CA_DLSI RCTL(S(CA_I)) // ı
238#define CA_RNGA RCTL(S(CA_CIRC)) // ° (dead) 159#define CA_RNGA RCTL(S(CA_CIRC)) // ° (dead)
239#define CA_MACR RCTL(S(CA_CCED)) // ¯ (dead) 160#define CA_MACR RCTL(S(CA_CCED)) // ¯ (dead)
240// Row 3
241#define CA_SECT RCTL(S(CA_S)) // § 161#define CA_SECT RCTL(S(CA_S)) // §
242#define CA_FORD RCTL(S(CA_F)) // ª 162#define CA_FORD RCTL(S(CA_F)) // ª
243#define CA_DACU RCTL(S(CA_SCLN)) // ˝ (dead) 163#define CA_DACU RCTL(S(CA_SCLN)) // ˝ (dead)
244#define CA_CARN RCTL(S(CA_EGRV)) // ˇ (dead) 164#define CA_CARN RCTL(S(CA_EGRV)) // ˇ (dead)
245#define CA_BREV RCTL(S(CA_AGRV)) // ˘ (dead) 165#define CA_BREV RCTL(S(CA_AGRV)) // ˘ (dead)
246// Row 4
247#define CA_BRKP RCTL(S(CA_UGRV)) // ¦ 166#define CA_BRKP RCTL(S(CA_UGRV)) // ¦
248#define CA_COPY RCTL(S(CA_C)) // © 167#define CA_COPY RCTL(S(CA_C)) // ©
249#define CA_LSQU RCTL(S(CA_V)) // ‘ 168#define CA_LSQU RCTL(S(CA_V)) // ‘
diff --git a/quantum/keymap_extras/keymap_colemak.h b/quantum/keymap_extras/keymap_colemak.h
index e7b5c97ccb..1363751ff1 100644
--- a/quantum/keymap_extras/keymap_colemak.h
+++ b/quantum/keymap_extras/keymap_colemak.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Jack Humbert 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define CM_GRV KC_GRV // ` 31#define CM_GRV KC_GRV // `
38#define CM_1 KC_1 // 1 32#define CM_1 KC_1 // 1
39#define CM_2 KC_2 // 2 33#define CM_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define CM_0 KC_0 // 0 41#define CM_0 KC_0 // 0
48#define CM_MINS KC_MINS // - 42#define CM_MINS KC_MINS // -
49#define CM_EQL KC_EQL // = 43#define CM_EQL KC_EQL // =
50// Row 2
51#define CM_Q KC_Q // Q 44#define CM_Q KC_Q // Q
52#define CM_W KC_W // W 45#define CM_W KC_W // W
53#define CM_F KC_E // F 46#define CM_F KC_E // F
@@ -61,7 +54,6 @@
61#define CM_LBRC KC_LBRC // [ 54#define CM_LBRC KC_LBRC // [
62#define CM_RBRC KC_RBRC // ] 55#define CM_RBRC KC_RBRC // ]
63#define CM_BSLS KC_BSLS // (backslash) 56#define CM_BSLS KC_BSLS // (backslash)
64// Row 3
65#define CM_A KC_A // A 57#define CM_A KC_A // A
66#define CM_R KC_S // R 58#define CM_R KC_S // R
67#define CM_S KC_D // S 59#define CM_S KC_D // S
@@ -73,7 +65,6 @@
73#define CM_I KC_L // I 65#define CM_I KC_L // I
74#define CM_O KC_SCLN // O 66#define CM_O KC_SCLN // O
75#define CM_QUOT KC_QUOT // ' 67#define CM_QUOT KC_QUOT // '
76// Row 4
77#define CM_Z KC_Z // Z 68#define CM_Z KC_Z // Z
78#define CM_X KC_X // X 69#define CM_X KC_X // X
79#define CM_C KC_C // C 70#define CM_C KC_C // C
@@ -84,21 +75,6 @@
84#define CM_COMM KC_COMM // , 75#define CM_COMM KC_COMM // ,
85#define CM_DOT KC_DOT // . 76#define CM_DOT KC_DOT // .
86#define CM_SLSH KC_SLSH // / 77#define CM_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define CM_TILD S(CM_GRV) // ~ 78#define CM_TILD S(CM_GRV) // ~
103#define CM_EXLM S(CM_1) // ! 79#define CM_EXLM S(CM_1) // !
104#define CM_AT S(CM_2) // @ 80#define CM_AT S(CM_2) // @
@@ -112,14 +88,11 @@
112#define CM_RPRN S(CM_0) // ) 88#define CM_RPRN S(CM_0) // )
113#define CM_UNDS S(CM_MINS) // _ 89#define CM_UNDS S(CM_MINS) // _
114#define CM_PLUS S(CM_EQL) // + 90#define CM_PLUS S(CM_EQL) // +
115// Row 2
116#define CM_COLN S(CM_SCLN) // : 91#define CM_COLN S(CM_SCLN) // :
117#define CM_LCBR S(CM_LBRC) // { 92#define CM_LCBR S(CM_LBRC) // {
118#define CM_RCBR S(CM_RBRC) // } 93#define CM_RCBR S(CM_RBRC) // }
119#define CM_PIPE S(CM_BSLS) // | 94#define CM_PIPE S(CM_BSLS) // |
120// Row 3
121#define CM_DQUO S(CM_QUOT) // " 95#define CM_DQUO S(CM_QUOT) // "
122// Row 4
123#define CM_LABK S(CM_COMM) // < 96#define CM_LABK S(CM_COMM) // <
124#define CM_RABK S(CM_DOT) // > 97#define CM_RABK S(CM_DOT) // >
125#define CM_QUES S(CM_SLSH) // ? 98#define CM_QUES S(CM_SLSH) // ?
diff --git a/quantum/keymap_extras/keymap_croatian.h b/quantum/keymap_extras/keymap_croatian.h
index e67b99a9a2..3151d4cffb 100644
--- a/quantum/keymap_extras/keymap_croatian.h
+++ b/quantum/keymap_extras/keymap_croatian.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define HR_CEDL KC_GRV // ¸ (dead) 31#define HR_CEDL KC_GRV // ¸ (dead)
38#define HR_1 KC_1 // 1 32#define HR_1 KC_1 // 1
39#define HR_2 KC_2 // 2 33#define HR_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define HR_0 KC_0 // 0 41#define HR_0 KC_0 // 0
48#define HR_QUOT KC_MINS // ' 42#define HR_QUOT KC_MINS // '
49#define HR_PLUS KC_EQL // + 43#define HR_PLUS KC_EQL // +
50// Row 2
51#define HR_Q KC_Q // Q 44#define HR_Q KC_Q // Q
52#define HR_W KC_W // W 45#define HR_W KC_W // W
53#define HR_E KC_E // E 46#define HR_E KC_E // E
@@ -60,7 +53,6 @@
60#define HR_P KC_P // P 53#define HR_P KC_P // P
61#define HR_SCAR KC_LBRC // Š 54#define HR_SCAR KC_LBRC // Š
62#define HR_DSTR KC_RBRC // Đ 55#define HR_DSTR KC_RBRC // Đ
63// Row 3
64#define HR_A KC_A // A 56#define HR_A KC_A // A
65#define HR_S KC_S // S 57#define HR_S KC_S // S
66#define HR_D KC_D // D 58#define HR_D KC_D // D
@@ -73,7 +65,6 @@
73#define HR_CCAR KC_SCLN // Č 65#define HR_CCAR KC_SCLN // Č
74#define HR_CACU KC_QUOT // Ć 66#define HR_CACU KC_QUOT // Ć
75#define HR_ZCAR KC_NUHS // Ž 67#define HR_ZCAR KC_NUHS // Ž
76// Row 4
77#define HR_LABK KC_NUBS // < 68#define HR_LABK KC_NUBS // <
78#define HR_Y KC_Z // Y 69#define HR_Y KC_Z // Y
79#define HR_X KC_X // X 70#define HR_X KC_X // X
@@ -85,21 +76,6 @@
85#define HR_COMM KC_COMM // , 76#define HR_COMM KC_COMM // ,
86#define HR_DOT KC_DOT // . 77#define HR_DOT KC_DOT // .
87#define HR_MINS KC_SLSH // - 78#define HR_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define HR_DIAE S(HR_CEDL) // ¨ (dead) 79#define HR_DIAE S(HR_CEDL) // ¨ (dead)
104#define HR_EXLM S(HR_1) // ! 80#define HR_EXLM S(HR_1) // !
105#define HR_DQUO S(HR_2) // " 81#define HR_DQUO S(HR_2) // "
@@ -113,26 +89,10 @@
113#define HR_EQL S(HR_0) // = 89#define HR_EQL S(HR_0) // =
114#define HR_QUES S(HR_QUOT) // ? 90#define HR_QUES S(HR_QUOT) // ?
115#define HR_ASTR S(HR_PLUS) // * 91#define HR_ASTR S(HR_PLUS) // *
116// Row 4
117#define HR_RABK S(HR_LABK) // > 92#define HR_RABK S(HR_LABK) // >
118#define HR_SCLN S(HR_COMM) // ; 93#define HR_SCLN S(HR_COMM) // ;
119#define HR_COLN S(HR_DOT) // : 94#define HR_COLN S(HR_DOT) // :
120#define HR_UNDS S(HR_MINS) // _ 95#define HR_UNDS S(HR_MINS) // _
121
122/* AltGr symbols
123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
124 * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
126 * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
128 * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
130 * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
132 * │ │ │ │ │ │ │ │ │
133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
134 */
135// Row 1
136#define HR_TILD ALGR(HR_1) // ~ 96#define HR_TILD ALGR(HR_1) // ~
137#define HR_CARN ALGR(HR_2) // ˇ (dead) 97#define HR_CARN ALGR(HR_2) // ˇ (dead)
138#define HR_CIRC ALGR(HR_3) // ^ (dead) 98#define HR_CIRC ALGR(HR_3) // ^ (dead)
@@ -143,20 +103,17 @@
143#define HR_DOTA ALGR(HR_8) // ˙ (dead) 103#define HR_DOTA ALGR(HR_8) // ˙ (dead)
144#define HR_ACUT ALGR(HR_9) // ´ (dead) 104#define HR_ACUT ALGR(HR_9) // ´ (dead)
145#define HR_DACU ALGR(HR_0) // ˝ (dead) 105#define HR_DACU ALGR(HR_0) // ˝ (dead)
146// Row 2
147#define HR_BSLS ALGR(HR_Q) // (backslash) 106#define HR_BSLS ALGR(HR_Q) // (backslash)
148#define HR_PIPE ALGR(HR_W) // | 107#define HR_PIPE ALGR(HR_W) // |
149#define HR_EURO ALGR(HR_E) // € 108#define HR_EURO ALGR(HR_E) // €
150#define HR_DIV ALGR(HR_SCAR) // ÷ 109#define HR_DIV ALGR(HR_SCAR) // ÷
151#define HR_MUL ALGR(HR_DSTR) // × 110#define HR_MUL ALGR(HR_DSTR) // ×
152// Row 3
153#define HR_LBRC ALGR(HR_F) // [ 111#define HR_LBRC ALGR(HR_F) // [
154#define HR_RBRC ALGR(HR_G) // ] 112#define HR_RBRC ALGR(HR_G) // ]
155#define HR_LLST ALGR(HR_K) // ł 113#define HR_LLST ALGR(HR_K) // ł
156#define HR_CLST ALGR(HR_L) // Ł 114#define HR_CLST ALGR(HR_L) // Ł
157#define HR_SS ALGR(HR_CACU) // ß 115#define HR_SS ALGR(HR_CACU) // ß
158#define HR_CURR ALGR(HR_ZCAR) // ¤ 116#define HR_CURR ALGR(HR_ZCAR) // ¤
159// Row 4
160#define HR_AT ALGR(HR_V) // @ 117#define HR_AT ALGR(HR_V) // @
161#define HR_LCBR ALGR(HR_B) // { 118#define HR_LCBR ALGR(HR_B) // {
162#define HR_RCBR ALGR(HR_N) // } 119#define HR_RCBR ALGR(HR_N) // }
diff --git a/quantum/keymap_extras/keymap_czech.h b/quantum/keymap_extras/keymap_czech.h
index a8f522d31c..dadfc9c59b 100644
--- a/quantum/keymap_extras/keymap_czech.h
+++ b/quantum/keymap_extras/keymap_czech.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ; │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define CZ_SCLN KC_GRV // ; 31#define CZ_SCLN KC_GRV // ;
38#define CZ_PLUS KC_1 // + 32#define CZ_PLUS KC_1 // +
39#define CZ_ECAR KC_2 // ě 33#define CZ_ECAR KC_2 // ě
@@ -47,7 +41,6 @@
47#define CZ_EACU KC_0 // é 41#define CZ_EACU KC_0 // é
48#define CZ_EQL KC_MINS // = 42#define CZ_EQL KC_MINS // =
49#define CZ_ACUT KC_EQL // ´ (dead) 43#define CZ_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define CZ_Q KC_Q // Q 44#define CZ_Q KC_Q // Q
52#define CZ_W KC_W // W 45#define CZ_W KC_W // W
53#define CZ_E KC_E // E 46#define CZ_E KC_E // E
@@ -60,7 +53,6 @@
60#define CZ_P KC_P // P 53#define CZ_P KC_P // P
61#define CZ_UACU KC_LBRC // ú 54#define CZ_UACU KC_LBRC // ú
62#define CZ_RPRN KC_RBRC // ) 55#define CZ_RPRN KC_RBRC // )
63// Row 3
64#define CZ_A KC_A // A 56#define CZ_A KC_A // A
65#define CZ_S KC_S // S 57#define CZ_S KC_S // S
66#define CZ_D KC_D // D 58#define CZ_D KC_D // D
@@ -73,7 +65,6 @@
73#define CZ_URNG KC_SCLN // ů 65#define CZ_URNG KC_SCLN // ů
74#define CZ_SECT KC_QUOT // § 66#define CZ_SECT KC_QUOT // §
75#define CZ_DIAE KC_NUHS // ¨ (dead) 67#define CZ_DIAE KC_NUHS // ¨ (dead)
76// Row 4
77#define CZ_BSLS KC_NUBS // (backslash) 68#define CZ_BSLS KC_NUBS // (backslash)
78#define CZ_Y KC_Z // Y 69#define CZ_Y KC_Z // Y
79#define CZ_X KC_X // X 70#define CZ_X KC_X // X
@@ -85,21 +76,6 @@
85#define CZ_COMM KC_COMM // , 76#define CZ_COMM KC_COMM // ,
86#define CZ_DOT KC_DOT // . 77#define CZ_DOT KC_DOT // .
87#define CZ_MINS KC_SLSH // - 78#define CZ_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ' │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define CZ_RNGA S(CZ_SCLN) // ° (dead) 79#define CZ_RNGA S(CZ_SCLN) // ° (dead)
104#define CZ_1 S(CZ_PLUS) // 1 80#define CZ_1 S(CZ_PLUS) // 1
105#define CZ_2 S(CZ_ECAR) // 2 81#define CZ_2 S(CZ_ECAR) // 2
@@ -113,33 +89,15 @@
113#define CZ_0 S(CZ_EACU) // 0 89#define CZ_0 S(CZ_EACU) // 0
114#define CZ_PERC S(CZ_EQL) // % 90#define CZ_PERC S(CZ_EQL) // %
115#define CZ_CARN S(CZ_ACUT) // ˇ (dead) 91#define CZ_CARN S(CZ_ACUT) // ˇ (dead)
116// Row 2
117#define CZ_SLSH S(CZ_UACU) // / 92#define CZ_SLSH S(CZ_UACU) // /
118#define CZ_LPRN S(CZ_RPRN) // ( 93#define CZ_LPRN S(CZ_RPRN) // (
119// Row 3
120#define CZ_DQUO S(CZ_URNG) // " 94#define CZ_DQUO S(CZ_URNG) // "
121#define CZ_EXLM S(CZ_SECT) // ! 95#define CZ_EXLM S(CZ_SECT) // !
122#define CZ_QUOT S(CZ_DIAE) // ' 96#define CZ_QUOT S(CZ_DIAE) // '
123// Row 4
124#define CZ_PIPE S(CZ_BSLS) // | 97#define CZ_PIPE S(CZ_BSLS) // |
125#define CZ_QUES S(CZ_COMM) // ? 98#define CZ_QUES S(CZ_COMM) // ?
126#define CZ_COLN S(CZ_DOT) // : 99#define CZ_COLN S(CZ_DOT) // :
127#define CZ_UNDS S(CZ_MINS) // _ 100#define CZ_UNDS S(CZ_MINS) // _
128
129/* AltGr symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
131 * │ │ ~ │ │ ^ │ ˘ │ │ ˛ │ ` │ ˙ │ │ ˝ │ │ ¸ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
133 * │ │ │ │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
137 * │ │ │ │ # │ & │ @ │ { │ } │ │ < │ > │ * │ │
138 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
139 * │ │ │ │ │ │ │ │ │
140 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
141 */
142// Row 1
143#define CZ_TILD ALGR(CZ_PLUS) // ~ 101#define CZ_TILD ALGR(CZ_PLUS) // ~
144#define CZ_CIRC ALGR(CZ_SCAR) // ^ (dead) 102#define CZ_CIRC ALGR(CZ_SCAR) // ^ (dead)
145#define CZ_BREV ALGR(CZ_CCAR) // ˘ (dead) 103#define CZ_BREV ALGR(CZ_CCAR) // ˘ (dead)
@@ -148,11 +106,9 @@
148#define CZ_DOTA ALGR(CZ_AACU) // ˙ (dead) 106#define CZ_DOTA ALGR(CZ_AACU) // ˙ (dead)
149#define CZ_DACU ALGR(CZ_EACU) // ˝ (dead) 107#define CZ_DACU ALGR(CZ_EACU) // ˝ (dead)
150#define CZ_CEDL ALGR(CZ_ACUT) // ¸ (dead) 108#define CZ_CEDL ALGR(CZ_ACUT) // ¸ (dead)
151// Row 2
152#define CZ_EURO ALGR(CZ_E) // € 109#define CZ_EURO ALGR(CZ_E) // €
153#define CZ_DIV ALGR(CZ_UACU) // ÷ 110#define CZ_DIV ALGR(CZ_UACU) // ÷
154#define CZ_MUL ALGR(CZ_RPRN) // × 111#define CZ_MUL ALGR(CZ_RPRN) // ×
155// Row 3
156#define CZ_LDST ALGR(CZ_S) // đ 112#define CZ_LDST ALGR(CZ_S) // đ
157#define CZ_CDST ALGR(CZ_D) // Đ 113#define CZ_CDST ALGR(CZ_D) // Đ
158#define CZ_LBRC ALGR(CZ_F) // [ 114#define CZ_LBRC ALGR(CZ_F) // [
@@ -162,7 +118,6 @@
162#define CZ_DLR ALGR(CZ_URNG) // $ 118#define CZ_DLR ALGR(CZ_URNG) // $
163#define CZ_SS ALGR(CZ_SECT) // ß 119#define CZ_SS ALGR(CZ_SECT) // ß
164#define CZ_CURR ALGR(CZ_DIAE) // ¤ 120#define CZ_CURR ALGR(CZ_DIAE) // ¤
165// Row 4
166#define CZ_HASH ALGR(CZ_X) // # 121#define CZ_HASH ALGR(CZ_X) // #
167#define CZ_AMPR ALGR(CZ_C) // & 122#define CZ_AMPR ALGR(CZ_C) // &
168#define CZ_AT ALGR(CZ_V) // @ 123#define CZ_AT ALGR(CZ_V) // @
diff --git a/quantum/keymap_extras/keymap_danish.h b/quantum/keymap_extras/keymap_danish.h
index 9cf688d6f5..de45c4e864 100644
--- a/quantum/keymap_extras/keymap_danish.h
+++ b/quantum/keymap_extras/keymap_danish.h
@@ -1,39 +1,33 @@
1/* Copyright 2019 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ½ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ Ø │ ' │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define DK_HALF KC_GRV // ½ 31#define DK_HALF KC_GRV // ½
38#define DK_1 KC_1 // 1 32#define DK_1 KC_1 // 1
39#define DK_2 KC_2 // 2 33#define DK_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define DK_0 KC_0 // 0 41#define DK_0 KC_0 // 0
48#define DK_PLUS KC_MINS // + 42#define DK_PLUS KC_MINS // +
49#define DK_ACUT KC_EQL // ´ (dead) 43#define DK_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define DK_Q KC_Q // Q 44#define DK_Q KC_Q // Q
52#define DK_W KC_W // W 45#define DK_W KC_W // W
53#define DK_E KC_E // E 46#define DK_E KC_E // E
@@ -60,7 +53,6 @@
60#define DK_P KC_P // P 53#define DK_P KC_P // P
61#define DK_ARNG KC_LBRC // Å 54#define DK_ARNG KC_LBRC // Å
62#define DK_DIAE KC_RBRC // ¨ (dead) 55#define DK_DIAE KC_RBRC // ¨ (dead)
63// Row 3
64#define DK_A KC_A // A 56#define DK_A KC_A // A
65#define DK_S KC_S // S 57#define DK_S KC_S // S
66#define DK_D KC_D // D 58#define DK_D KC_D // D
@@ -73,7 +65,6 @@
73#define DK_AE KC_SCLN // Æ 65#define DK_AE KC_SCLN // Æ
74#define DK_OSTR KC_QUOT // Ø 66#define DK_OSTR KC_QUOT // Ø
75#define DK_QUOT KC_NUHS // ' 67#define DK_QUOT KC_NUHS // '
76// Row 4
77#define DK_LABK KC_NUBS // < 68#define DK_LABK KC_NUBS // <
78#define DK_Z KC_Z // Z 69#define DK_Z KC_Z // Z
79#define DK_X KC_X // X 70#define DK_X KC_X // X
@@ -85,21 +76,6 @@
85#define DK_COMM KC_COMM // , 76#define DK_COMM KC_COMM // ,
86#define DK_DOT KC_DOT // . 77#define DK_DOT KC_DOT // .
87#define DK_MINS KC_SLSH // - 78#define DK_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define DK_SECT S(DK_HALF) // § 79#define DK_SECT S(DK_HALF) // §
104#define DK_EXLM S(DK_1) // ! 80#define DK_EXLM S(DK_1) // !
105#define DK_DQUO S(DK_2) // " 81#define DK_DQUO S(DK_2) // "
@@ -113,30 +89,12 @@
113#define DK_EQL S(DK_0) // = 89#define DK_EQL S(DK_0) // =
114#define DK_QUES S(DK_PLUS) // ? 90#define DK_QUES S(DK_PLUS) // ?
115#define DK_GRV S(DK_ACUT) // ` (dead) 91#define DK_GRV S(DK_ACUT) // ` (dead)
116// Row 2
117#define DK_CIRC S(DK_DIAE) // ^ (dead) 92#define DK_CIRC S(DK_DIAE) // ^ (dead)
118// Row 3
119#define DK_ASTR S(DK_QUOT) // * 93#define DK_ASTR S(DK_QUOT) // *
120// Row 4
121#define DK_RABK S(DK_LABK) // > 94#define DK_RABK S(DK_LABK) // >
122#define DK_SCLN S(DK_COMM) // ; 95#define DK_SCLN S(DK_COMM) // ;
123#define DK_COLN S(DK_DOT) // : 96#define DK_COLN S(DK_DOT) // :
124#define DK_UNDS S(DK_MINS) // _ 97#define DK_UNDS S(DK_MINS) // _
125
126/* AltGr symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
128 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ | │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
130 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
134 * │ │ \ │ │ │ │ │ │ │ µ │ │ │ │ │
135 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
136 * │ │ │ │ │ │ │ │ │
137 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
138 */
139// Row 1
140#define DK_AT ALGR(DK_2) // @ 98#define DK_AT ALGR(DK_2) // @
141#define DK_PND ALGR(DK_3) // £ 99#define DK_PND ALGR(DK_3) // £
142#define DK_DLR ALGR(DK_4) // $ 100#define DK_DLR ALGR(DK_4) // $
@@ -146,8 +104,6 @@
146#define DK_RBRC ALGR(DK_9) // ] 104#define DK_RBRC ALGR(DK_9) // ]
147#define DK_RCBR ALGR(DK_0) // } 105#define DK_RCBR ALGR(DK_0) // }
148#define DK_PIPE ALGR(DK_ACUT) // | 106#define DK_PIPE ALGR(DK_ACUT) // |
149// Row 2
150#define DK_TILD ALGR(DK_DIAE) // ~ (dead) 107#define DK_TILD ALGR(DK_DIAE) // ~ (dead)
151// Row 4
152#define DK_BSLS ALGR(DK_LABK) // (backslash) 108#define DK_BSLS ALGR(DK_LABK) // (backslash)
153#define DK_MICR ALGR(DK_M) // µ 109#define DK_MICR ALGR(DK_M) // µ
diff --git a/quantum/keymap_extras/keymap_dvorak.h b/quantum/keymap_extras/keymap_dvorak.h
index 7aa112ebcc..83fd59a6f9 100644
--- a/quantum/keymap_extras/keymap_dvorak.h
+++ b/quantum/keymap_extras/keymap_dvorak.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Jack Humbert 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define DV_GRV KC_GRV // ` 31#define DV_GRV KC_GRV // `
38#define DV_1 KC_1 // 1 32#define DV_1 KC_1 // 1
39#define DV_2 KC_2 // 2 33#define DV_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define DV_0 KC_0 // 0 41#define DV_0 KC_0 // 0
48#define DV_LBRC KC_MINS // [ 42#define DV_LBRC KC_MINS // [
49#define DV_RBRC KC_EQL // ] 43#define DV_RBRC KC_EQL // ]
50// Row 2
51#define DV_QUOT KC_Q // ' 44#define DV_QUOT KC_Q // '
52#define DV_COMM KC_W // , 45#define DV_COMM KC_W // ,
53#define DV_DOT KC_E // . 46#define DV_DOT KC_E // .
@@ -61,7 +54,6 @@
61#define DV_SLSH KC_LBRC // / 54#define DV_SLSH KC_LBRC // /
62#define DV_EQL KC_RBRC // = 55#define DV_EQL KC_RBRC // =
63#define DV_BSLS KC_BSLS // (backslash) 56#define DV_BSLS KC_BSLS // (backslash)
64// Row 3
65#define DV_A KC_A // A 57#define DV_A KC_A // A
66#define DV_O KC_S // O 58#define DV_O KC_S // O
67#define DV_E KC_D // E 59#define DV_E KC_D // E
@@ -73,7 +65,6 @@
73#define DV_N KC_L // N 65#define DV_N KC_L // N
74#define DV_S KC_SCLN // S 66#define DV_S KC_SCLN // S
75#define DV_MINS KC_QUOT // - 67#define DV_MINS KC_QUOT // -
76// Row 4
77#define DV_SCLN KC_Z // ; 68#define DV_SCLN KC_Z // ;
78#define DV_Q KC_X // Q 69#define DV_Q KC_X // Q
79#define DV_J KC_C // J 70#define DV_J KC_C // J
@@ -84,21 +75,6 @@
84#define DV_W KC_COMM // W 75#define DV_W KC_COMM // W
85#define DV_V KC_DOT // V 76#define DV_V KC_DOT // V
86#define DV_Z KC_SLSH // Z 77#define DV_Z KC_SLSH // Z
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ { │ } │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ " │ < │ > │ │ │ │ │ │ │ │ ? │ + │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ : │ │ │ │ │ │ │ │ │ │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define DV_TILD S(DV_GRV) // ~ 78#define DV_TILD S(DV_GRV) // ~
103#define DV_EXLM S(DV_1) // ! 79#define DV_EXLM S(DV_1) // !
104#define DV_AT S(DV_2) // @ 80#define DV_AT S(DV_2) // @
@@ -112,14 +88,11 @@
112#define DV_RPRN S(DV_0) // ) 88#define DV_RPRN S(DV_0) // )
113#define DV_LCBR S(DV_LBRC) // { 89#define DV_LCBR S(DV_LBRC) // {
114#define DV_RCBR S(DV_RBRC) // } 90#define DV_RCBR S(DV_RBRC) // }
115// Row 2
116#define DV_DQUO S(DV_QUOT) // " 91#define DV_DQUO S(DV_QUOT) // "
117#define DV_LABK S(DV_COMM) // < 92#define DV_LABK S(DV_COMM) // <
118#define DV_RABK S(DV_DOT) // > 93#define DV_RABK S(DV_DOT) // >
119#define DV_QUES S(DV_SLSH) // ? 94#define DV_QUES S(DV_SLSH) // ?
120#define DV_PLUS S(DV_EQL) // + 95#define DV_PLUS S(DV_EQL) // +
121#define DV_PIPE S(DV_BSLS) // | 96#define DV_PIPE S(DV_BSLS) // |
122// Row 3
123#define DV_UNDS S(DV_MINS) // _ 97#define DV_UNDS S(DV_MINS) // _
124// Row 4
125#define DV_COLN S(DV_SCLN) // : 98#define DV_COLN S(DV_SCLN) // :
diff --git a/quantum/keymap_extras/keymap_dvorak_fr.h b/quantum/keymap_extras/keymap_dvorak_fr.h
index 2dee8e32e7..a305e7bf09 100644
--- a/quantum/keymap_extras/keymap_dvorak_fr.h
+++ b/quantum/keymap_extras/keymap_dvorak_fr.h
@@ -1,47 +1,33 @@
1/* Copyright 2020 Guillaume Gérard 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17/* Dvorak for the French language 4/*******************************************************************************
18 * Version: 2 5 88888888888 888 d8b .d888 d8b 888 d8b
19 * 6 888 888 Y8P d88P" Y8P 888 Y8P
20 * The layout is designed by Francis Leboutte <dvorak-fr@algo.be> 7 888 888 888 888
21 * 8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
22 * Source: https://algo.be/ergo/dvorak-fr.html 9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
23 */ 10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
24 25
25#pragma once 26#pragma once
26
27#include "keymap.h" 27#include "keymap.h"
28
29// clang-format off 28// clang-format off
30 29
31/* 30// Aliases
32 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
33 * │ « │ » │ / │ - │ è │ \ │ ^ │ ( │ ` │ ) │ _ │ [ │ ] │ │
34 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
35 * │ │ : │ ' │ é │ G │ . │ H │ V │ C │ M │ K │ Z │ ¨ │ │
36 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
37 * │ │ O │ A │ U │ E │ B │ F │ S │ T │ N │ D │ W │ ~ │ │
38 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
39 * │ │ à │ ; │ Q │ , │ I │ Y │ X │ R │ L │ P │ J │ │
40 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
41 * │ │ │ │ │ │ │ │ │
42 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
43 */
44// Row 1
45#define DV_LDAQ KC_GRV // « 31#define DV_LDAQ KC_GRV // «
46#define DV_RDAQ KC_1 // » 32#define DV_RDAQ KC_1 // »
47#define DV_SLSH KC_2 // / 33#define DV_SLSH KC_2 // /
@@ -55,7 +41,6 @@
55#define DV_UNDS KC_0 // _ 41#define DV_UNDS KC_0 // _
56#define DV_LBRC KC_MINS // [ 42#define DV_LBRC KC_MINS // [
57#define DV_RBRC KC_EQL // ] 43#define DV_RBRC KC_EQL // ]
58// Row 2
59#define DV_COLN KC_Q // : 44#define DV_COLN KC_Q // :
60#define DV_QUOT KC_W // ' 45#define DV_QUOT KC_W // '
61#define DV_EACU KC_E // é 46#define DV_EACU KC_E // é
@@ -68,7 +53,6 @@
68#define DV_K KC_P // K 53#define DV_K KC_P // K
69#define DV_Z KC_LBRC // Z 54#define DV_Z KC_LBRC // Z
70#define DV_DIAE KC_RBRC // ¨ (dead) 55#define DV_DIAE KC_RBRC // ¨ (dead)
71// Row 3
72#define DV_O KC_A // O 56#define DV_O KC_A // O
73#define DV_A KC_S // A 57#define DV_A KC_S // A
74#define DV_U KC_D // U 58#define DV_U KC_D // U
@@ -81,7 +65,6 @@
81#define DV_D KC_SCLN // D 65#define DV_D KC_SCLN // D
82#define DV_W KC_QUOT // W 66#define DV_W KC_QUOT // W
83#define DV_TILD KC_NUHS // ~ (dead) 67#define DV_TILD KC_NUHS // ~ (dead)
84// Row 4
85#define DV_AGRV KC_NUBS // à 68#define DV_AGRV KC_NUBS // à
86#define DV_SCLN KC_Z // ; 69#define DV_SCLN KC_Z // ;
87#define DV_Q KC_X // Q 70#define DV_Q KC_X // Q
@@ -93,21 +76,6 @@
93#define DV_L KC_COMM // L 76#define DV_L KC_COMM // L
94#define DV_P KC_DOT // P 77#define DV_P KC_DOT // P
95#define DV_J KC_SLSH // J 78#define DV_J KC_SLSH // J
96
97/* Shifted symbols
98 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
99 * │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 0 │ 0 │ + │ % │ │
100 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
101 * │ │ ? │ < │ > │ │ ! │ │ │ │ │ │ │ = │ │
102 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
103 * │ │ │ │ │ │ │ │ │ │ │ │ │ # │ │
104 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
105 * │ │ ç │ | │ │ @ │ │ │ │ │ │ │ │ │
106 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
107 * │ │ │ │ │ │ │ │ │
108 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
109 */
110// Row 1
111#define DV_ASTR S(DV_LDAQ) // * 79#define DV_ASTR S(DV_LDAQ) // *
112#define DV_1 S(DV_RDAQ) // 1 80#define DV_1 S(DV_RDAQ) // 1
113#define DV_2 S(DV_SLSH) // 2 81#define DV_2 S(DV_SLSH) // 2
@@ -121,15 +89,12 @@
121#define DV_0 S(DV_UNDS) // 0 89#define DV_0 S(DV_UNDS) // 0
122#define DV_PLUS S(DV_LBRC) // + 90#define DV_PLUS S(DV_LBRC) // +
123#define DV_PERC S(DV_RBRC) // % 91#define DV_PERC S(DV_RBRC) // %
124// Row 2
125#define DV_QUES S(DV_COLN) // ? 92#define DV_QUES S(DV_COLN) // ?
126#define DV_LABK S(DV_QUOT) // < 93#define DV_LABK S(DV_QUOT) // <
127#define DV_RABK S(DV_EACU) // > 94#define DV_RABK S(DV_EACU) // >
128#define DV_EXLM S(DV_DOT) // ! 95#define DV_EXLM S(DV_DOT) // !
129#define DV_EQL S(DV_DIAE) // = 96#define DV_EQL S(DV_DIAE) // =
130// Row 3
131#define DV_HASH S(DV_TILD) // # 97#define DV_HASH S(DV_TILD) // #
132// Row 4
133#define DV_CCED S(DV_AGRV) // ç 98#define DV_CCED S(DV_AGRV) // ç
134#define DV_PIPE S(DV_SCLN) // | 99#define DV_PIPE S(DV_SCLN) // |
135#define DV_AT S(DV_COMM) // @ 100#define DV_AT S(DV_COMM) // @
diff --git a/quantum/keymap_extras/keymap_dvorak_programmer.h b/quantum/keymap_extras/keymap_dvorak_programmer.h
index 6de7033cb4..b6e754e3d0 100644
--- a/quantum/keymap_extras/keymap_dvorak_programmer.h
+++ b/quantum/keymap_extras/keymap_dvorak_programmer.h
@@ -1,39 +1,33 @@
1/* Copyright 2016 Artyom Mironov 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ $ │ & │ [ │ { │ } │ ( │ = │ * │ ) │ + │ ] │ ! │ # │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ ; │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ @ │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ ' │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define DP_DLR KC_GRV // $ 31#define DP_DLR KC_GRV // $
38#define DP_AMPR KC_1 // & 32#define DP_AMPR KC_1 // &
39#define DP_LBRC KC_2 // [ 33#define DP_LBRC KC_2 // [
@@ -47,7 +41,6 @@
47#define DP_RBRC KC_0 // ] 41#define DP_RBRC KC_0 // ]
48#define DP_EXLM KC_MINS // ! 42#define DP_EXLM KC_MINS // !
49#define DP_HASH KC_EQL // # 43#define DP_HASH KC_EQL // #
50// Row 2
51#define DP_SCLN KC_Q // ; 44#define DP_SCLN KC_Q // ;
52#define DP_COMM KC_W // , 45#define DP_COMM KC_W // ,
53#define DP_DOT KC_E // . 46#define DP_DOT KC_E // .
@@ -61,7 +54,6 @@
61#define DP_SLSH KC_LBRC // / 54#define DP_SLSH KC_LBRC // /
62#define DP_AT KC_RBRC // @ 55#define DP_AT KC_RBRC // @
63#define DP_BSLS KC_BSLS // (backslash) 56#define DP_BSLS KC_BSLS // (backslash)
64// Row 3
65#define DP_A KC_A // A 57#define DP_A KC_A // A
66#define DP_O KC_S // O 58#define DP_O KC_S // O
67#define DP_E KC_D // E 59#define DP_E KC_D // E
@@ -73,7 +65,6 @@
73#define DP_N KC_L // N 65#define DP_N KC_L // N
74#define DP_S KC_SCLN // S 66#define DP_S KC_SCLN // S
75#define DP_MINS KC_QUOT // - 67#define DP_MINS KC_QUOT // -
76// Row 4
77#define DP_QUOT KC_Z // ' 68#define DP_QUOT KC_Z // '
78#define DP_Q KC_X // Q 69#define DP_Q KC_X // Q
79#define DP_J KC_C // J 70#define DP_J KC_C // J
@@ -84,21 +75,6 @@
84#define DP_W KC_COMM // W 75#define DP_W KC_COMM // W
85#define DP_V KC_DOT // V 76#define DP_V KC_DOT // V
86#define DP_Z KC_SLSH // Z 77#define DP_Z KC_SLSH // Z
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ % │ 7 │ 5 │ 3 │ 1 │ 9 │ 0 │ 2 │ 4 │ 6 │ 8 │ ` │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ : │ < │ > │ │ │ │ │ │ │ │ ? │ ^ │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ " │ │ │ │ │ │ │ │ │ │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define DP_TILD S(DP_DLR) // ~ 78#define DP_TILD S(DP_DLR) // ~
103#define DP_PERC S(DP_AMPR) // % 79#define DP_PERC S(DP_AMPR) // %
104#define DP_7 S(DP_LBRC) // 7 80#define DP_7 S(DP_LBRC) // 7
@@ -112,14 +88,11 @@
112#define DP_6 S(DP_RBRC) // 6 88#define DP_6 S(DP_RBRC) // 6
113#define DP_8 S(DP_EXLM) // 8 89#define DP_8 S(DP_EXLM) // 8
114#define DP_GRV S(DP_HASH) // ` 90#define DP_GRV S(DP_HASH) // `
115// Row 2
116#define DP_COLN S(DP_SCLN) // : 91#define DP_COLN S(DP_SCLN) // :
117#define DP_LABK S(DP_COMM) // < 92#define DP_LABK S(DP_COMM) // <
118#define DP_RABK S(DP_DOT) // > 93#define DP_RABK S(DP_DOT) // >
119#define DP_QUES S(DP_SLSH) // ? 94#define DP_QUES S(DP_SLSH) // ?
120#define DP_CIRC S(DP_AT) // ^ 95#define DP_CIRC S(DP_AT) // ^
121#define DP_PIPE S(DP_BSLS) // | 96#define DP_PIPE S(DP_BSLS) // |
122// Row 3
123#define DP_UNDS S(DP_MINS) // _ 97#define DP_UNDS S(DP_MINS) // _
124// Row 4
125#define DP_DQUO S(DP_QUOT) // " 98#define DP_DQUO S(DP_QUOT) // "
diff --git a/quantum/keymap_extras/keymap_estonian.h b/quantum/keymap_extras/keymap_estonian.h
index 6951baed5a..b59ecc3351 100644
--- a/quantum/keymap_extras/keymap_estonian.h
+++ b/quantum/keymap_extras/keymap_estonian.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ˇ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ü │ Õ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define EE_CARN KC_GRV // ˇ (dead) 31#define EE_CARN KC_GRV // ˇ (dead)
38#define EE_1 KC_1 // 1 32#define EE_1 KC_1 // 1
39#define EE_2 KC_2 // 2 33#define EE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define EE_0 KC_0 // 0 41#define EE_0 KC_0 // 0
48#define EE_PLUS KC_MINS // + 42#define EE_PLUS KC_MINS // +
49#define EE_ACUT KC_EQL // ´ (dead) 43#define EE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define EE_Q KC_Q // Q 44#define EE_Q KC_Q // Q
52#define EE_W KC_W // W 45#define EE_W KC_W // W
53#define EE_E KC_E // E 46#define EE_E KC_E // E
@@ -60,7 +53,6 @@
60#define EE_P KC_P // P 53#define EE_P KC_P // P
61#define EE_UDIA KC_LBRC // Ü 54#define EE_UDIA KC_LBRC // Ü
62#define EE_OTIL KC_RBRC // Õ 55#define EE_OTIL KC_RBRC // Õ
63// Row 3
64#define EE_A KC_A // A 56#define EE_A KC_A // A
65#define EE_S KC_S // S 57#define EE_S KC_S // S
66#define EE_D KC_D // D 58#define EE_D KC_D // D
@@ -73,7 +65,6 @@
73#define EE_ODIA KC_SCLN // Ö 65#define EE_ODIA KC_SCLN // Ö
74#define EE_ADIA KC_QUOT // Ä 66#define EE_ADIA KC_QUOT // Ä
75#define EE_QUOT KC_NUHS // ' 67#define EE_QUOT KC_NUHS // '
76// Row 4
77#define EE_LABK KC_NUBS // < 68#define EE_LABK KC_NUBS // <
78#define EE_Z KC_Z // Z 69#define EE_Z KC_Z // Z
79#define EE_X KC_X // X 70#define EE_X KC_X // X
@@ -85,21 +76,6 @@
85#define EE_COMM KC_COMM // , 76#define EE_COMM KC_COMM // ,
86#define EE_DOT KC_DOT // . 77#define EE_DOT KC_DOT // .
87#define EE_MINS KC_SLSH // - 78#define EE_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ~ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define EE_TILD S(EE_CARN) // ~ (dead) 79#define EE_TILD S(EE_CARN) // ~ (dead)
104#define EE_EXLM S(EE_1) // ! 80#define EE_EXLM S(EE_1) // !
105#define EE_DQUO S(EE_2) // " 81#define EE_DQUO S(EE_2) // "
@@ -113,28 +89,11 @@
113#define EE_EQL S(EE_0) // = 89#define EE_EQL S(EE_0) // =
114#define EE_QUES S(EE_PLUS) // ? 90#define EE_QUES S(EE_PLUS) // ?
115#define EE_GRV S(EE_ACUT) // ` (dead) 91#define EE_GRV S(EE_ACUT) // ` (dead)
116// Row 3
117#define EE_ASTR S(EE_QUOT) // * 92#define EE_ASTR S(EE_QUOT) // *
118// Row 4
119#define EE_RABK S(EE_LABK) // > 93#define EE_RABK S(EE_LABK) // >
120#define EE_SCLN S(EE_COMM) // ; 94#define EE_SCLN S(EE_COMM) // ;
121#define EE_COLN S(EE_DOT) // : 95#define EE_COLN S(EE_DOT) // :
122#define EE_UNDS S(EE_MINS) // _ 96#define EE_UNDS S(EE_MINS) // _
123
124/* AltGr symbols
125 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
126 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
127 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
128 * │ │ │ │ │ │ │ │ │ │ │ │ │ § │ │
129 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
130 * │ │ │ š │ │ │ │ │ │ │ │ │ ^ │ ½ │ │
131 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
132 * │ │ | │ ž │ │ │ │ │ │ │ │ │ │ │
133 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
134 * │ │ │ │ │ │ │ │ │
135 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
136 */
137// Row 1
138#define EE_AT ALGR(EE_2) // @ 97#define EE_AT ALGR(EE_2) // @
139#define EE_PND ALGR(EE_3) // £ 98#define EE_PND ALGR(EE_3) // £
140#define EE_DLR ALGR(EE_4) // $ 99#define EE_DLR ALGR(EE_4) // $
@@ -144,12 +103,9 @@
144#define EE_RBRC ALGR(EE_9) // ] 103#define EE_RBRC ALGR(EE_9) // ]
145#define EE_RCBR ALGR(EE_0) // } 104#define EE_RCBR ALGR(EE_0) // }
146#define EE_BSLS ALGR(EE_PLUS) // (backslash) 105#define EE_BSLS ALGR(EE_PLUS) // (backslash)
147// Row 2
148#define EE_SECT ALGR(EE_OTIL) // § 106#define EE_SECT ALGR(EE_OTIL) // §
149// Row 3
150#define EE_SCAR ALGR(EE_S) // š 107#define EE_SCAR ALGR(EE_S) // š
151#define EE_CIRC ALGR(EE_ADIA) // ^ (dead) 108#define EE_CIRC ALGR(EE_ADIA) // ^ (dead)
152#define EE_HALF ALGR(EE_QUOT) // ½ 109#define EE_HALF ALGR(EE_QUOT) // ½
153// Row 4
154#define EE_PIPE ALGR(EE_LABK) // | 110#define EE_PIPE ALGR(EE_LABK) // |
155#define EE_ZCAR ALGR(EE_Z) // ž 111#define EE_ZCAR ALGR(EE_Z) // ž
diff --git a/quantum/keymap_extras/keymap_finnish.h b/quantum/keymap_extras/keymap_finnish.h
index faca4e01d4..6d9cd09868 100644
--- a/quantum/keymap_extras/keymap_finnish.h
+++ b/quantum/keymap_extras/keymap_finnish.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define FI_SECT KC_GRV // § 31#define FI_SECT KC_GRV // §
38#define FI_1 KC_1 // 1 32#define FI_1 KC_1 // 1
39#define FI_2 KC_2 // 2 33#define FI_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define FI_0 KC_0 // 0 41#define FI_0 KC_0 // 0
48#define FI_PLUS KC_MINS // + 42#define FI_PLUS KC_MINS // +
49#define FI_ACUT KC_EQL // ´ (dead) 43#define FI_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define FI_Q KC_Q // Q 44#define FI_Q KC_Q // Q
52#define FI_W KC_W // W 45#define FI_W KC_W // W
53#define FI_E KC_E // E 46#define FI_E KC_E // E
@@ -60,7 +53,6 @@
60#define FI_P KC_P // P 53#define FI_P KC_P // P
61#define FI_ARNG KC_LBRC // Å 54#define FI_ARNG KC_LBRC // Å
62#define FI_DIAE KC_RBRC // ¨ (dead) 55#define FI_DIAE KC_RBRC // ¨ (dead)
63// Row 3
64#define FI_A KC_A // A 56#define FI_A KC_A // A
65#define FI_S KC_S // S 57#define FI_S KC_S // S
66#define FI_D KC_D // D 58#define FI_D KC_D // D
@@ -73,7 +65,6 @@
73#define FI_ODIA KC_SCLN // Ö 65#define FI_ODIA KC_SCLN // Ö
74#define FI_ADIA KC_QUOT // Ä 66#define FI_ADIA KC_QUOT // Ä
75#define FI_QUOT KC_NUHS // ' 67#define FI_QUOT KC_NUHS // '
76// Row 4
77#define FI_LABK KC_NUBS // < 68#define FI_LABK KC_NUBS // <
78#define FI_Z KC_Z // Z 69#define FI_Z KC_Z // Z
79#define FI_X KC_X // X 70#define FI_X KC_X // X
@@ -85,21 +76,6 @@
85#define FI_COMM KC_COMM // , 76#define FI_COMM KC_COMM // ,
86#define FI_DOT KC_DOT // . 77#define FI_DOT KC_DOT // .
87#define FI_MINS KC_SLSH // - 78#define FI_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define FI_HALF S(FI_SECT) // ½ 79#define FI_HALF S(FI_SECT) // ½
104#define FI_EXLM S(FI_1) // ! 80#define FI_EXLM S(FI_1) // !
105#define FI_DQUO S(FI_2) // " 81#define FI_DQUO S(FI_2) // "
@@ -113,30 +89,12 @@
113#define FI_EQL S(FI_0) // = 89#define FI_EQL S(FI_0) // =
114#define FI_QUES S(FI_PLUS) // ? 90#define FI_QUES S(FI_PLUS) // ?
115#define FI_GRV S(FI_ACUT) // ` (dead) 91#define FI_GRV S(FI_ACUT) // ` (dead)
116// Row 2
117#define FI_CIRC S(FI_DIAE) // ^ (dead) 92#define FI_CIRC S(FI_DIAE) // ^ (dead)
118// Row 3
119#define FI_ASTR S(FI_QUOT) // * 93#define FI_ASTR S(FI_QUOT) // *
120// Row 4
121#define FI_RABK S(FI_LABK) // > 94#define FI_RABK S(FI_LABK) // >
122#define FI_SCLN S(FI_COMM) // ; 95#define FI_SCLN S(FI_COMM) // ;
123#define FI_COLN S(FI_DOT) // : 96#define FI_COLN S(FI_DOT) // :
124#define FI_UNDS S(FI_MINS) // _ 97#define FI_UNDS S(FI_MINS) // _
125
126/* AltGr symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
128 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
130 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
134 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
135 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
136 * │ │ │ │ │ │ │ │ │
137 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
138 */
139// Row 1
140#define FI_AT ALGR(FI_2) // @ 98#define FI_AT ALGR(FI_2) // @
141#define FI_PND ALGR(FI_3) // £ 99#define FI_PND ALGR(FI_3) // £
142#define FI_DLR ALGR(FI_4) // $ 100#define FI_DLR ALGR(FI_4) // $
@@ -146,8 +104,6 @@
146#define FI_RBRC ALGR(FI_9) // ] 104#define FI_RBRC ALGR(FI_9) // ]
147#define FI_RCBR ALGR(FI_0) // } 105#define FI_RCBR ALGR(FI_0) // }
148#define FI_BSLS ALGR(FI_PLUS) // (backslash) 106#define FI_BSLS ALGR(FI_PLUS) // (backslash)
149// Row 2
150#define FI_TILD ALGR(FI_DIAE) // ~ (dead) 107#define FI_TILD ALGR(FI_DIAE) // ~ (dead)
151// Row 4
152#define FI_PIPE ALGR(FI_LABK) // | 108#define FI_PIPE ALGR(FI_LABK) // |
153#define FI_MICR ALGR(FI_M) // µ 109#define FI_MICR ALGR(FI_M) // µ
diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h
index 0be53f0a9c..b08cee68ad 100644
--- a/quantum/keymap_extras/keymap_french.h
+++ b/quantum/keymap_extras/keymap_french.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Jack Humbert 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ² │ & │ é │ " │ ' │ ( │ - │ è │ _ │ ç │ à │ ) │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ * │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ ! │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define FR_SUP2 KC_GRV // ² 31#define FR_SUP2 KC_GRV // ²
38#define FR_AMPR KC_1 // & 32#define FR_AMPR KC_1 // &
39#define FR_EACU KC_2 // é 33#define FR_EACU KC_2 // é
@@ -47,7 +41,6 @@
47#define FR_AGRV KC_0 // à 41#define FR_AGRV KC_0 // à
48#define FR_RPRN KC_MINS // ) 42#define FR_RPRN KC_MINS // )
49#define FR_EQL KC_EQL // = 43#define FR_EQL KC_EQL // =
50// Row 2
51#define FR_A KC_Q // A 44#define FR_A KC_Q // A
52#define FR_Z KC_W // Z 45#define FR_Z KC_W // Z
53#define FR_E KC_E // E 46#define FR_E KC_E // E
@@ -60,7 +53,6 @@
60#define FR_P KC_P // P 53#define FR_P KC_P // P
61#define FR_CIRC KC_LBRC // ^ (dead) 54#define FR_CIRC KC_LBRC // ^ (dead)
62#define FR_DLR KC_RBRC // $ 55#define FR_DLR KC_RBRC // $
63// Row 3
64#define FR_Q KC_A // Q 56#define FR_Q KC_A // Q
65#define FR_S KC_S // S 57#define FR_S KC_S // S
66#define FR_D KC_D // D 58#define FR_D KC_D // D
@@ -73,7 +65,6 @@
73#define FR_M KC_SCLN // M 65#define FR_M KC_SCLN // M
74#define FR_UGRV KC_QUOT // ù 66#define FR_UGRV KC_QUOT // ù
75#define FR_ASTR KC_NUHS // * 67#define FR_ASTR KC_NUHS // *
76// Row 4
77#define FR_LABK KC_NUBS // < 68#define FR_LABK KC_NUBS // <
78#define FR_W KC_Z // W 69#define FR_W KC_Z // W
79#define FR_X KC_X // X 70#define FR_X KC_X // X
@@ -85,21 +76,6 @@
85#define FR_SCLN KC_COMM // ; 76#define FR_SCLN KC_COMM // ;
86#define FR_COLN KC_DOT // : 77#define FR_COLN KC_DOT // :
87#define FR_EXLM KC_SLSH // ! 78#define FR_EXLM KC_SLSH // !
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ + │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ £ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ % │ µ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ § │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define FR_1 S(FR_AMPR) // 1 79#define FR_1 S(FR_AMPR) // 1
104#define FR_2 S(FR_EACU) // 2 80#define FR_2 S(FR_EACU) // 2
105#define FR_3 S(FR_DQUO) // 3 81#define FR_3 S(FR_DQUO) // 3
@@ -112,33 +88,15 @@
112#define FR_0 S(FR_AGRV) // 0 88#define FR_0 S(FR_AGRV) // 0
113#define FR_DEG S(FR_RPRN) // ° 89#define FR_DEG S(FR_RPRN) // °
114#define FR_PLUS S(FR_EQL) // + 90#define FR_PLUS S(FR_EQL) // +
115// Row 2
116#define FR_DIAE S(FR_CIRC) // ¨ (dead) 91#define FR_DIAE S(FR_CIRC) // ¨ (dead)
117#define FR_PND S(FR_DLR) // £ 92#define FR_PND S(FR_DLR) // £
118// Row 3
119#define FR_PERC S(FR_UGRV) // % 93#define FR_PERC S(FR_UGRV) // %
120#define FR_MICR S(FR_ASTR) // µ 94#define FR_MICR S(FR_ASTR) // µ
121// Row 4
122#define FR_RABK S(FR_LABK) // > 95#define FR_RABK S(FR_LABK) // >
123#define FR_QUES S(FR_COMM) // ? 96#define FR_QUES S(FR_COMM) // ?
124#define FR_DOT S(FR_SCLN) // . 97#define FR_DOT S(FR_SCLN) // .
125#define FR_SLSH S(FR_COLN) // / 98#define FR_SLSH S(FR_COLN) // /
126#define FR_SECT S(FR_EXLM) // § 99#define FR_SECT S(FR_EXLM) // §
127
128/* AltGr symbols
129 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
130 * │ │ │ ~ │ # │ { │ [ │ | │ ` │ \ │ │ @ │ ] │ } │ │
131 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
132 * │ │ │ │ € │ │ │ │ │ │ │ │ │ ¤ │ │
133 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
134 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
135 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
136 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
137 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
138 * │ │ │ │ │ │ │ │ │
139 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
140 */
141// Row 1
142#define FR_TILD ALGR(FR_EACU) // ~ (dead) 100#define FR_TILD ALGR(FR_EACU) // ~ (dead)
143#define FR_HASH ALGR(FR_DQUO) // # 101#define FR_HASH ALGR(FR_DQUO) // #
144#define FR_LCBR ALGR(FR_QUOT) // { 102#define FR_LCBR ALGR(FR_QUOT) // {
@@ -149,6 +107,5 @@
149#define FR_AT ALGR(FR_AGRV) // @ 107#define FR_AT ALGR(FR_AGRV) // @
150#define FR_RBRC ALGR(FR_RPRN) // ] 108#define FR_RBRC ALGR(FR_RPRN) // ]
151#define FR_RCBR ALGR(FR_EQL) // } 109#define FR_RCBR ALGR(FR_EQL) // }
152// Row 2 110#define FR_EURO ALGR(KC_E) // €
153#define FR_EURO ALGR(KC_E) // € 111#define FR_CURR ALGR(FR_DLR) // ¤
154#define FR_CURR ALGR(FR_DLR) // ¤
diff --git a/quantum/keymap_extras/keymap_french_afnor.h b/quantum/keymap_extras/keymap_french_afnor.h
index 4b7961724f..46f64bfb98 100644
--- a/quantum/keymap_extras/keymap_french_afnor.h
+++ b/quantum/keymap_extras/keymap_french_afnor.h
@@ -1,63 +1,33 @@
1/* Copyright 2020 Guillaume Gérard 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17/* French AZERTY - AFNOR NF Z71-300 4/*******************************************************************************
18 * 5 88888888888 888 d8b .d888 d8b 888 d8b
19 * A standard for the French keyboard 6 888 888 Y8P d88P" Y8P 888 Y8P
20 * 7 888 888 888 888
21 * The project was launched at the end of 2015 on the proposal of the General 8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
22 * Delegation for the French language and the languages of France (Ministry 9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
23 * of Culture), starting from the observation that the current "azerty" 10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
24 * keyboards constrain the writing of French, languages regional and European 11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
25 * languages with Latin alphabet. 12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
26 * 13 888 888
27 * For the first time, a standard (NF Z71-300) defines the placement of 14 888 888
28 * characters on the French keyboard. It offers two layouts, one of which 15 888 888
29 * closely follows the QWERTY keyboard used by most people who write in French. 16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
30 * 17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
31 * However, it is in many ways superior to the old keyboard: 18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
32 * 19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
33 * - it contains all the characters required to enter text in French (for example É, œ and ") 20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
34 * - it is designed to be more ergonomic and allow faster typing 21 888
35 * - it includes almost 60 additional characters for entering foreign languages, technical content, etc 22 Y8b d88P
36 * - however, the characters remain easy to locate thanks to intuitive groupings 23 "Y88P"
37 * 24*******************************************************************************/
38 * Source: https://norme-azerty.fr
39 */
40 25
41#pragma once 26#pragma once
42
43#include "keymap.h" 27#include "keymap.h"
44
45// clang-format off 28// clang-format off
46 29
47/* 30// Aliases
48 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
49 * │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │
50 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
51 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │
52 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
53 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │
54 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
55 * │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │
56 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
57 * │ │ │ │ │ │ │ │ │
58 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
59 */
60// Row 1
61#define FR_AT KC_GRV // @ 31#define FR_AT KC_GRV // @
62#define FR_AGRV KC_1 // à 32#define FR_AGRV KC_1 // à
63#define FR_EACU KC_2 // é 33#define FR_EACU KC_2 // é
@@ -71,7 +41,6 @@
71#define FR_RDAQ KC_0 // » 41#define FR_RDAQ KC_0 // »
72#define FR_QUOT KC_MINS // ' 42#define FR_QUOT KC_MINS // '
73#define FR_DCIR KC_EQL // ^ (dead) 43#define FR_DCIR KC_EQL // ^ (dead)
74// Row 2
75#define FR_A KC_Q // A 44#define FR_A KC_Q // A
76#define FR_Z KC_W // Z 45#define FR_Z KC_W // Z
77#define FR_E KC_E // E 46#define FR_E KC_E // E
@@ -84,7 +53,6 @@
84#define FR_P KC_P // P 53#define FR_P KC_P // P
85#define FR_MINS KC_LBRC // - 54#define FR_MINS KC_LBRC // -
86#define FR_PLUS KC_RBRC // + 55#define FR_PLUS KC_RBRC // +
87// Row 3
88#define FR_Q KC_A // Q 56#define FR_Q KC_A // Q
89#define FR_S KC_S // S 57#define FR_S KC_S // S
90#define FR_D KC_D // D 58#define FR_D KC_D // D
@@ -97,7 +65,6 @@
97#define FR_M KC_SCLN // M 65#define FR_M KC_SCLN // M
98#define FR_SLSH KC_QUOT // / 66#define FR_SLSH KC_QUOT // /
99#define FR_ASTR KC_NUHS // * 67#define FR_ASTR KC_NUHS // *
100// Row 4
101#define FR_LABK KC_NUBS // < 68#define FR_LABK KC_NUBS // <
102#define FR_W KC_Z // W 69#define FR_W KC_Z // W
103#define FR_X KC_X // X 70#define FR_X KC_X // X
@@ -109,21 +76,6 @@
109#define FR_COMM KC_COMM // , 76#define FR_COMM KC_COMM // ,
110#define FR_COLN KC_DOT // : 77#define FR_COLN KC_DOT // :
111#define FR_SCLN KC_SLSH // ; 78#define FR_SCLN KC_SLSH // ;
112
113/* Shifted symbols
114 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
115 * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │
116 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
117 * │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
118 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
119 * │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │
120 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
121 * │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │
122 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
123 * │ │ │ │ │ │ │ │ │
124 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
125 */
126// Row 1
127#define FR_HASH S(FR_AT) // # 79#define FR_HASH S(FR_AT) // #
128#define FR_1 S(FR_AGRV) // 1 80#define FR_1 S(FR_AGRV) // 1
129#define FR_2 S(FR_EACU) // 2 81#define FR_2 S(FR_EACU) // 2
@@ -137,33 +89,15 @@
137#define FR_0 S(FR_RDAQ) // 0 89#define FR_0 S(FR_RDAQ) // 0
138#define FR_DQUO S(FR_QUOT) // " 90#define FR_DQUO S(FR_QUOT) // "
139#define FR_DIAE S(FR_DCIR) // ¨ (dead) 91#define FR_DIAE S(FR_DCIR) // ¨ (dead)
140// Row 2
141#define FR_NDSH S(FR_MINS) // – 92#define FR_NDSH S(FR_MINS) // –
142#define FR_PLMN S(FR_PLUS) // ± 93#define FR_PLMN S(FR_PLUS) // ±
143// Row 3
144#define FR_BSLS S(FR_SLSH) // (backslash) 94#define FR_BSLS S(FR_SLSH) // (backslash)
145#define FR_HALF S(FR_ASTR) // ½ 95#define FR_HALF S(FR_ASTR) // ½
146// Row 4
147#define FR_RABK S(FR_LABK) // > 96#define FR_RABK S(FR_LABK) // >
148#define FR_QUES S(FR_DOT) // ? 97#define FR_QUES S(FR_DOT) // ?
149#define FR_EXLM S(FR_COMM) // ! 98#define FR_EXLM S(FR_COMM) // !
150#define FR_ELLP S(FR_COLN) // … 99#define FR_ELLP S(FR_COLN) // …
151#define FR_EQL S(FR_SCLN) // = 100#define FR_EQL S(FR_SCLN) // =
152
153/* AltGr symbols
154 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
155 * │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │
156 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
157 * │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │
158 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
159 * │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │
160 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
161 * │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │
162 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
163 * │ │ │ │ │ │ │ │ │
164 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
165 */
166// Row 1
167#define FR_BREV ALGR(FR_AT) // ˘ (dead) 101#define FR_BREV ALGR(FR_AT) // ˘ (dead)
168#define FR_SECT ALGR(FR_AGRV) // § 102#define FR_SECT ALGR(FR_AGRV) // §
169#define FR_ACUT ALGR(FR_EACU) // ´ (dead) 103#define FR_ACUT ALGR(FR_EACU) // ´ (dead)
@@ -177,7 +111,6 @@
177#define FR_RDQU ALGR(FR_RDAQ) // ” 111#define FR_RDQU ALGR(FR_RDAQ) // ”
178#define FR_DEG ALGR(FR_QUOT) // ° 112#define FR_DEG ALGR(FR_QUOT) // °
179#define FR_CARN ALGR(FR_DCIR) // ˇ (dead) 113#define FR_CARN ALGR(FR_DCIR) // ˇ (dead)
180// Row 2
181#define FR_AE ALGR(FR_A) // æ 114#define FR_AE ALGR(FR_A) // æ
182#define FR_PND ALGR(FR_Z) // £ 115#define FR_PND ALGR(FR_Z) // £
183#define FR_EURO ALGR(FR_E) // € 116#define FR_EURO ALGR(FR_E) // €
@@ -190,7 +123,6 @@
190#define FR_PERC ALGR(FR_P) // % 123#define FR_PERC ALGR(FR_P) // %
191#define FR_MMNS ALGR(FR_MINS) // − 124#define FR_MMNS ALGR(FR_MINS) // −
192#define FR_DAGG ALGR(FR_PLUS) // † 125#define FR_DAGG ALGR(FR_PLUS) // †
193// Row 3
194#define FR_THET ALGR(FR_Q) // θ 126#define FR_THET ALGR(FR_Q) // θ
195#define FR_SS ALGR(FR_S) // ß 127#define FR_SS ALGR(FR_S) // ß
196#define FR_DLR ALGR(FR_D) // $ 128#define FR_DLR ALGR(FR_D) // $
@@ -202,7 +134,6 @@
202#define FR_INFN ALGR(FR_M) // ∞ 134#define FR_INFN ALGR(FR_M) // ∞
203#define FR_DIV ALGR(FR_SLSH) // ÷ 135#define FR_DIV ALGR(FR_SLSH) // ÷
204#define FR_MUL ALGR(FR_ASTR) // × 136#define FR_MUL ALGR(FR_ASTR) // ×
205// Row 4
206#define FR_LEQL ALGR(FR_LABK) // ≤ 137#define FR_LEQL ALGR(FR_LABK) // ≤
207#define FR_EZH ALGR(FR_W) // ʒ 138#define FR_EZH ALGR(FR_W) // ʒ
208#define FR_COPY ALGR(FR_X) // © 139#define FR_COPY ALGR(FR_X) // ©
@@ -214,40 +145,22 @@
214#define FR_IEXL ALGR(FR_COMM) // ¡ 145#define FR_IEXL ALGR(FR_COMM) // ¡
215#define FR_MDDT ALGR(FR_COLN) // · 146#define FR_MDDT ALGR(FR_COLN) // ·
216#define FR_AEQL ALGR(FR_SCLN) // ≃ 147#define FR_AEQL ALGR(FR_SCLN) // ≃
217 148#define FR_IBRV S(ALGR(FR_AT)) // ̑ (dead)
218/* Shift+AltGr symbols
219 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
220 * │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │
221 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
222 * │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │
223 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
224 * │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │
225 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
226 * │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │
227 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
228 * │ │ │ │ │ │ │ │ │
229 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
230 */
231// Row 1
232#define FR_IBRV S(ALGR(FR_AT)) // ̑ (dead)
233#define FR_DACU S(ALGR(FR_LPRN)) // ˝ (dead) 149#define FR_DACU S(ALGR(FR_LPRN)) // ˝ (dead)
234#define FR_DGRV S(ALGR(FR_RPRN)) // ̏ (dead) 150#define FR_DGRV S(ALGR(FR_RPRN)) // ̏ (dead)
235#define FR_MDSH S(ALGR(FR_RSQU)) // — 151#define FR_MDSH S(ALGR(FR_RSQU)) // —
236#define FR_LSAQ S(ALGR(FR_LDAQ)) // ‹ 152#define FR_LSAQ S(ALGR(FR_LDAQ)) // ‹
237#define FR_RSAQ S(ALGR(FR_RDAQ)) // › 153#define FR_RSAQ S(ALGR(FR_RDAQ)) // ›
238#define FR_RNGA S(ALGR(FR_QUOT)) // ˚ (dead) 154#define FR_RNGA S(ALGR(FR_QUOT)) // ˚ (dead)
239// Row 2
240#define FR_TM S(ALGR(FR_T)) // ™ 155#define FR_TM S(ALGR(FR_T)) // ™
241#define FR_DOTB S(ALGR(FR_I)) // ̣ (dead) 156#define FR_DOTB S(ALGR(FR_I)) // ̣ (dead)
242#define FR_PERM S(ALGR(FR_P)) // ‰ 157#define FR_PERM S(ALGR(FR_P)) // ‰
243#define FR_NBHY S(ALGR(FR_MINS)) // ‑ (non-breaking hyphen) 158#define FR_NBHY S(ALGR(FR_MINS)) // ‑ (non-breaking hyphen)
244#define FR_DDAG S(ALGR(FR_PLUS)) // ‡ 159#define FR_DDAG S(ALGR(FR_PLUS)) // ‡
245// Row 3
246#define FR_MACB S(ALGR(FR_H)) // ˍ (dead) 160#define FR_MACB S(ALGR(FR_H)) // ˍ (dead)
247#define FR_SQRT S(ALGR(FR_SLSH)) // √ 161#define FR_SQRT S(ALGR(FR_SLSH)) // √
248#define FR_QRTR S(ALGR(FR_ASTR)) // ¼ 162#define FR_QRTR S(ALGR(FR_ASTR)) // ¼
249// Row 4
250#define FR_GEQL S(ALGR(FR_LABK)) // ≥ 163#define FR_GEQL S(ALGR(FR_LABK)) // ≥
251#define FR_OGON S(ALGR(FR_V)) // ˛ (dead) 164#define FR_OGON S(ALGR(FR_V)) // ˛ (dead)
252#define FR_DCMM S(ALGR(FR_COMM)) // ̦ (dead) 165#define FR_DCMM S(ALGR(FR_COMM)) // ̦ (dead)
253#define FR_NEQL S(ALGR(FR_SCLN)) // ≠ 166#define FR_NEQL S(ALGR(FR_SCLN)) // ≠
diff --git a/quantum/keymap_extras/keymap_french_mac_iso.h b/quantum/keymap_extras/keymap_french_mac_iso.h
index 590a57e55c..91fbdef7ab 100644
--- a/quantum/keymap_extras/keymap_french_mac_iso.h
+++ b/quantum/keymap_extras/keymap_french_mac_iso.h
@@ -1,39 +1,33 @@
1/* Copyright 2016 Sébastien Pérochon 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
31 * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
32 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define FR_AT KC_GRV // @ 31#define FR_AT KC_GRV // @
38#define FR_AMPR KC_1 // & 32#define FR_AMPR KC_1 // &
39#define FR_LEAC KC_2 // é 33#define FR_LEAC KC_2 // é
@@ -47,7 +41,6 @@
47#define FR_LAGR KC_0 // à 41#define FR_LAGR KC_0 // à
48#define FR_RPRN KC_MINS // ) 42#define FR_RPRN KC_MINS // )
49#define FR_MINS KC_EQL // - 43#define FR_MINS KC_EQL // -
50// Row 2
51#define FR_A KC_Q // A 44#define FR_A KC_Q // A
52#define FR_Z KC_W // Z 45#define FR_Z KC_W // Z
53#define FR_E KC_E // E 46#define FR_E KC_E // E
@@ -60,7 +53,6 @@
60#define FR_P KC_P // P 53#define FR_P KC_P // P
61#define FR_CIRC KC_LBRC // ^ 54#define FR_CIRC KC_LBRC // ^
62#define FR_DLR KC_RBRC // $ 55#define FR_DLR KC_RBRC // $
63// Row 3
64#define FR_Q KC_A // Q 56#define FR_Q KC_A // Q
65#define FR_S KC_S // S 57#define FR_S KC_S // S
66#define FR_D KC_D // D 58#define FR_D KC_D // D
@@ -73,7 +65,6 @@
73#define FR_M KC_SCLN // M 65#define FR_M KC_SCLN // M
74#define FR_LUGR KC_QUOT // ù 66#define FR_LUGR KC_QUOT // ù
75#define FR_GRV KC_NUHS // ` 67#define FR_GRV KC_NUHS // `
76// Row 4
77#define FR_LABK KC_NUBS // < 68#define FR_LABK KC_NUBS // <
78#define FR_W KC_Z // W 69#define FR_W KC_Z // W
79#define FR_X KC_X // X 70#define FR_X KC_X // X
@@ -85,21 +76,6 @@
85#define FR_SCLN KC_COMM // ; 76#define FR_SCLN KC_COMM // ;
86#define FR_COLN KC_DOT // : 77#define FR_COLN KC_DOT // :
87#define FR_EQL KC_SLSH // = 78#define FR_EQL KC_SLSH // =
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
91 * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
97 * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
98 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │ │ │ │ │ │ │ │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define FR_HASH S(FR_AT) // # 79#define FR_HASH S(FR_AT) // #
104#define FR_1 S(FR_AMPR) // 1 80#define FR_1 S(FR_AMPR) // 1
105#define FR_2 S(FR_LEAC) // 2 81#define FR_2 S(FR_LEAC) // 2
@@ -113,33 +89,15 @@
113#define FR_0 S(FR_LAGR) // 0 89#define FR_0 S(FR_LAGR) // 0
114#define FR_DEG S(FR_RPRN) // ° 90#define FR_DEG S(FR_RPRN) // °
115#define FR_UNDS S(FR_MINS) // _ 91#define FR_UNDS S(FR_MINS) // _
116// Row 2
117#define FR_DIAE S(FR_CIRC) // ¨ (dead) 92#define FR_DIAE S(FR_CIRC) // ¨ (dead)
118#define FR_ASTR S(FR_DLR) // * 93#define FR_ASTR S(FR_DLR) // *
119// Row 3
120#define FR_PERC S(FR_LUGR) // % 94#define FR_PERC S(FR_LUGR) // %
121#define FR_PND S(FR_GRV) // £ 95#define FR_PND S(FR_GRV) // £
122// Row 4
123#define FR_RABK S(FR_LABK) // > 96#define FR_RABK S(FR_LABK) // >
124#define FR_QUES S(FR_COMM) // ? 97#define FR_QUES S(FR_COMM) // ?
125#define FR_DOT S(FR_SCLN) // . 98#define FR_DOT S(FR_SCLN) // .
126#define FR_SLSH S(FR_COLN) // / 99#define FR_SLSH S(FR_COLN) // /
127#define FR_PLUS S(FR_EQL) // + 100#define FR_PLUS S(FR_EQL) // +
128
129/* Alted symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
131 * │ • │  │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
133 * │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
137 * │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │
138 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
139 * │ │ │ │ │ │ │ │
140 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
141 */
142// Row 1
143#define FR_BULT A(FR_AT) // • 101#define FR_BULT A(FR_AT) // •
144#define FR_APPL A(FR_AMPR) //  (Apple logo) 102#define FR_APPL A(FR_AMPR) //  (Apple logo)
145#define FR_LEDI A(FR_LEAC) // ë 103#define FR_LEDI A(FR_LEAC) // ë
@@ -153,7 +111,6 @@
153#define FR_OSTR A(FR_LAGR) // Ø 111#define FR_OSTR A(FR_LAGR) // Ø
154#define FR_RCBR A(FR_RPRN) // } 112#define FR_RCBR A(FR_RPRN) // }
155#define FR_MDSH A(FR_MINS) // — 113#define FR_MDSH A(FR_MINS) // —
156// Row 2
157#define FR_AE A(FR_A) // Æ 114#define FR_AE A(FR_A) // Æ
158#define FR_CACI A(FR_Z) // Â 115#define FR_CACI A(FR_Z) // Â
159#define FR_ECIR A(FR_E) // Ê 116#define FR_ECIR A(FR_E) // Ê
@@ -166,7 +123,6 @@
166#define FR_PI A(FR_P) // π 123#define FR_PI A(FR_P) // π
167#define FR_OCIR A(FR_CIRC) // Ô 124#define FR_OCIR A(FR_CIRC) // Ô
168#define FR_EURO A(FR_DLR) // € 125#define FR_EURO A(FR_DLR) // €
169// Row 3
170#define FR_DDAG A(FR_Q) // ‡ 126#define FR_DDAG A(FR_Q) // ‡
171#define FR_COGR A(FR_S) // Ò 127#define FR_COGR A(FR_S) // Ò
172#define FR_PDIF A(FR_D) // ∂ 128#define FR_PDIF A(FR_D) // ∂
@@ -178,7 +134,6 @@
178#define FR_NOT A(FR_L) // ¬ 134#define FR_NOT A(FR_L) // ¬
179#define FR_MICR A(FR_M) // µ 135#define FR_MICR A(FR_M) // µ
180#define FR_CUGR A(FR_LUGR) // Ù 136#define FR_CUGR A(FR_LUGR) // Ù
181// Row 4
182#define FR_LTEQ A(FR_LABK) // ≤ 137#define FR_LTEQ A(FR_LABK) // ≤
183#define FR_LSAQ A(FR_W) // ‹ 138#define FR_LSAQ A(FR_W) // ‹
184#define FR_AEQL A(FR_X) // ≈ 139#define FR_AEQL A(FR_X) // ≈
@@ -190,21 +145,6 @@
190#define FR_ELLP A(FR_SCLN) // … 145#define FR_ELLP A(FR_SCLN) // …
191#define FR_DIV A(FR_COLN) // ÷ 146#define FR_DIV A(FR_COLN) // ÷
192#define FR_NEQL A(FR_EQL) // ≠ 147#define FR_NEQL A(FR_EQL) // ≠
193
194/* Shift+Alted symbols
195 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
196 * │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │
197 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
198 * │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │
199 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
200 * │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │
201 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
202 * │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │
203 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
204 * │ │ │ │ │ │ │ │
205 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
206 */
207// Row 1
208#define FR_CYDI S(A(FR_AT)) // Ÿ 148#define FR_CYDI S(A(FR_AT)) // Ÿ
209#define FR_ACUT S(A(FR_AMPR)) // ´ (dead) 149#define FR_ACUT S(A(FR_AMPR)) // ´ (dead)
210#define FR_DLQU S(A(FR_LEAC)) // „ 150#define FR_DLQU S(A(FR_LEAC)) // „
@@ -215,7 +155,6 @@
215#define FR_CAAC S(A(FR_LCCE)) // Á 155#define FR_CAAC S(A(FR_LCCE)) // Á
216#define FR_RBRC S(A(FR_RPRN)) // ] 156#define FR_RBRC S(A(FR_RPRN)) // ]
217#define FR_NDSH S(A(FR_MINS)) // – 157#define FR_NDSH S(A(FR_MINS)) // –
218// Row 2
219#define FR_CARI S(A(FR_Z)) // Å 158#define FR_CARI S(A(FR_Z)) // Å
220#define FR_SLQU S(A(FR_R)) // ‚ 159#define FR_SLQU S(A(FR_R)) // ‚
221#define FR_TM S(A(FR_T)) // ™ 160#define FR_TM S(A(FR_T)) // ™
@@ -223,7 +162,6 @@
223#define FR_LIDI S(A(FR_I)) // ï 162#define FR_LIDI S(A(FR_I)) // ï
224#define FR_NARP S(A(FR_P)) // ∏ 163#define FR_NARP S(A(FR_P)) // ∏
225#define FR_YEN S(A(FR_DLR)) // ¥ 164#define FR_YEN S(A(FR_DLR)) // ¥
226// Row 3
227#define FR_OMEG S(A(FR_Q)) // Ω 165#define FR_OMEG S(A(FR_Q)) // Ω
228#define FR_NARS S(A(FR_S)) // ∑ 166#define FR_NARS S(A(FR_S)) // ∑
229#define FR_INCR S(A(FR_D)) // ∆ 167#define FR_INCR S(A(FR_D)) // ∆
@@ -235,7 +173,6 @@
235#define FR_PIPE S(A(FR_L)) // | 173#define FR_PIPE S(A(FR_L)) // |
236#define FR_COAC S(A(FR_M)) // Ó 174#define FR_COAC S(A(FR_M)) // Ó
237#define FR_PERM S(A(FR_LUGR)) // ‰ 175#define FR_PERM S(A(FR_LUGR)) // ‰
238// Row 4
239#define FR_GTEQ S(A(FR_LABK)) // ≥ 176#define FR_GTEQ S(A(FR_LABK)) // ≥
240#define FR_RSAQ S(A(FR_W)) // › 177#define FR_RSAQ S(A(FR_W)) // ›
241#define FR_FRSL S(A(FR_X)) // ⁄ 178#define FR_FRSL S(A(FR_X)) // ⁄
diff --git a/quantum/keymap_extras/keymap_german.h b/quantum/keymap_extras/keymap_german.h
index 085995b0c6..789df22fc3 100644
--- a/quantum/keymap_extras/keymap_german.h
+++ b/quantum/keymap_extras/keymap_german.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Matthias Schmidtt 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define DE_CIRC KC_GRV // ^ (dead) 31#define DE_CIRC KC_GRV // ^ (dead)
38#define DE_1 KC_1 // 1 32#define DE_1 KC_1 // 1
39#define DE_2 KC_2 // 2 33#define DE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define DE_0 KC_0 // 0 41#define DE_0 KC_0 // 0
48#define DE_SS KC_MINS // ß 42#define DE_SS KC_MINS // ß
49#define DE_ACUT KC_EQL // ´ (dead) 43#define DE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define DE_Q KC_Q // Q 44#define DE_Q KC_Q // Q
52#define DE_W KC_W // W 45#define DE_W KC_W // W
53#define DE_E KC_E // E 46#define DE_E KC_E // E
@@ -60,7 +53,6 @@
60#define DE_P KC_P // P 53#define DE_P KC_P // P
61#define DE_UDIA KC_LBRC // Ü 54#define DE_UDIA KC_LBRC // Ü
62#define DE_PLUS KC_RBRC // + 55#define DE_PLUS KC_RBRC // +
63// Row 3
64#define DE_A KC_A // A 56#define DE_A KC_A // A
65#define DE_S KC_S // S 57#define DE_S KC_S // S
66#define DE_D KC_D // D 58#define DE_D KC_D // D
@@ -73,7 +65,6 @@
73#define DE_ODIA KC_SCLN // Ö 65#define DE_ODIA KC_SCLN // Ö
74#define DE_ADIA KC_QUOT // Ä 66#define DE_ADIA KC_QUOT // Ä
75#define DE_HASH KC_NUHS // # 67#define DE_HASH KC_NUHS // #
76// Row 4
77#define DE_LABK KC_NUBS // < 68#define DE_LABK KC_NUBS // <
78#define DE_Y KC_Z // Y 69#define DE_Y KC_Z // Y
79#define DE_X KC_X // X 70#define DE_X KC_X // X
@@ -85,21 +76,6 @@
85#define DE_COMM KC_COMM // , 76#define DE_COMM KC_COMM // ,
86#define DE_DOT KC_DOT // . 77#define DE_DOT KC_DOT // .
87#define DE_MINS KC_SLSH // - 78#define DE_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define DE_DEG S(DE_CIRC) // ° 79#define DE_DEG S(DE_CIRC) // °
104#define DE_EXLM S(DE_1) // ! 80#define DE_EXLM S(DE_1) // !
105#define DE_DQUO S(DE_2) // " 81#define DE_DQUO S(DE_2) // "
@@ -113,30 +89,12 @@
113#define DE_EQL S(DE_0) // = 89#define DE_EQL S(DE_0) // =
114#define DE_QUES S(DE_SS) // ? 90#define DE_QUES S(DE_SS) // ?
115#define DE_GRV S(DE_ACUT) // ` (dead) 91#define DE_GRV S(DE_ACUT) // ` (dead)
116// Row 2
117#define DE_ASTR S(DE_PLUS) // * 92#define DE_ASTR S(DE_PLUS) // *
118// Row 3
119#define DE_QUOT S(DE_HASH) // ' 93#define DE_QUOT S(DE_HASH) // '
120// Row 4
121#define DE_RABK S(DE_LABK) // > 94#define DE_RABK S(DE_LABK) // >
122#define DE_SCLN S(DE_COMM) // ; 95#define DE_SCLN S(DE_COMM) // ;
123#define DE_COLN S(DE_DOT) // : 96#define DE_COLN S(DE_DOT) // :
124#define DE_UNDS S(DE_MINS) // _ 97#define DE_UNDS S(DE_MINS) // _
125
126/* AltGr symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
128 * │ │ │ ² │ ³ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
130 * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
134 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
135 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
136 * │ │ │ │ │ │ │ │ │
137 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
138 */
139// Row 1
140#define DE_SUP2 ALGR(DE_2) // ² 98#define DE_SUP2 ALGR(DE_2) // ²
141#define DE_SUP3 ALGR(DE_3) // ³ 99#define DE_SUP3 ALGR(DE_3) // ³
142#define DE_LCBR ALGR(DE_7) // { 100#define DE_LCBR ALGR(DE_7) // {
@@ -144,10 +102,8 @@
144#define DE_RBRC ALGR(DE_9) // ] 102#define DE_RBRC ALGR(DE_9) // ]
145#define DE_RCBR ALGR(DE_0) // } 103#define DE_RCBR ALGR(DE_0) // }
146#define DE_BSLS ALGR(DE_SS) // (backslash) 104#define DE_BSLS ALGR(DE_SS) // (backslash)
147// Row 2
148#define DE_AT ALGR(DE_Q) // @ 105#define DE_AT ALGR(DE_Q) // @
149#define DE_EURO ALGR(DE_E) // € 106#define DE_EURO ALGR(DE_E) // €
150#define DE_TILD ALGR(DE_PLUS) // ~ 107#define DE_TILD ALGR(DE_PLUS) // ~
151// Row 4
152#define DE_PIPE ALGR(DE_LABK) // | 108#define DE_PIPE ALGR(DE_LABK) // |
153#define DE_MICR ALGR(DE_M) // µ 109#define DE_MICR ALGR(DE_M) // µ
diff --git a/quantum/keymap_extras/keymap_german_mac_iso.h b/quantum/keymap_extras/keymap_german_mac_iso.h
index 82404fa5fd..588b41091b 100644
--- a/quantum/keymap_extras/keymap_german_mac_iso.h
+++ b/quantum/keymap_extras/keymap_german_mac_iso.h
@@ -1,39 +1,33 @@
1/* Copyright 2016 Stephen Bösebeck 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
31 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define DE_CIRC KC_GRV // ^ (dead) 31#define DE_CIRC KC_GRV // ^ (dead)
38#define DE_1 KC_1 // 1 32#define DE_1 KC_1 // 1
39#define DE_2 KC_2 // 2 33#define DE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define DE_0 KC_0 // 0 41#define DE_0 KC_0 // 0
48#define DE_SS KC_MINS // ß 42#define DE_SS KC_MINS // ß
49#define DE_ACUT KC_EQL // ´ (dead) 43#define DE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define DE_Q KC_Q // Q 44#define DE_Q KC_Q // Q
52#define DE_W KC_W // W 45#define DE_W KC_W // W
53#define DE_E KC_E // E 46#define DE_E KC_E // E
@@ -60,7 +53,6 @@
60#define DE_P KC_P // P 53#define DE_P KC_P // P
61#define DE_UDIA KC_LBRC // Ü 54#define DE_UDIA KC_LBRC // Ü
62#define DE_PLUS KC_RBRC // + 55#define DE_PLUS KC_RBRC // +
63// Row 3
64#define DE_A KC_A // A 56#define DE_A KC_A // A
65#define DE_S KC_S // S 57#define DE_S KC_S // S
66#define DE_D KC_D // D 58#define DE_D KC_D // D
@@ -73,7 +65,6 @@
73#define DE_ODIA KC_SCLN // Ö 65#define DE_ODIA KC_SCLN // Ö
74#define DE_ADIA KC_QUOT // Ä 66#define DE_ADIA KC_QUOT // Ä
75#define DE_HASH KC_NUHS // # 67#define DE_HASH KC_NUHS // #
76// Row 4
77#define DE_LABK KC_NUBS // < 68#define DE_LABK KC_NUBS // <
78#define DE_Y KC_Z // Y 69#define DE_Y KC_Z // Y
79#define DE_X KC_X // X 70#define DE_X KC_X // X
@@ -85,21 +76,6 @@
85#define DE_COMM KC_COMM // , 76#define DE_COMM KC_COMM // ,
86#define DE_DOT KC_DOT // . 77#define DE_DOT KC_DOT // .
87#define DE_MINS KC_SLSH // - 78#define DE_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
91 * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │ │ │ │ │ │ │ │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define DE_DEG S(DE_CIRC) // ° 79#define DE_DEG S(DE_CIRC) // °
104#define DE_EXLM S(DE_1) // ! 80#define DE_EXLM S(DE_1) // !
105#define DE_DQUO S(DE_2) // " 81#define DE_DQUO S(DE_2) // "
@@ -113,30 +89,12 @@
113#define DE_EQL S(DE_0) // = 89#define DE_EQL S(DE_0) // =
114#define DE_QUES S(DE_SS) // ? 90#define DE_QUES S(DE_SS) // ?
115#define DE_GRV S(DE_ACUT) // ` (dead) 91#define DE_GRV S(DE_ACUT) // ` (dead)
116// Row 2
117#define DE_ASTR S(DE_PLUS) // * 92#define DE_ASTR S(DE_PLUS) // *
118// Row 3
119#define DE_QUOT S(DE_HASH) // ' 93#define DE_QUOT S(DE_HASH) // '
120// Row 4
121#define DE_RABK S(DE_LABK) // > 94#define DE_RABK S(DE_LABK) // >
122#define DE_SCLN S(DE_COMM) // ; 95#define DE_SCLN S(DE_COMM) // ;
123#define DE_COLN S(DE_DOT) // : 96#define DE_COLN S(DE_DOT) // :
124#define DE_UNDS S(DE_MINS) // _ 97#define DE_UNDS S(DE_MINS) // _
125
126/* Alted symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
128 * │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
130 * │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
134 * │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │
135 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
136 * │ │ │ │ │ │ │ │
137 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
138 */
139// Row 1
140#define DE_DLQU A(DE_CIRC) // „ 98#define DE_DLQU A(DE_CIRC) // „
141#define DE_IEXL A(DE_1) // ¡ 99#define DE_IEXL A(DE_1) // ¡
142#define DE_LDQU A(DE_2) // “ 100#define DE_LDQU A(DE_2) // “
@@ -149,7 +107,6 @@
149#define DE_RCBR A(DE_9) // } 107#define DE_RCBR A(DE_9) // }
150#define DE_NEQL A(DE_0) // ≠ 108#define DE_NEQL A(DE_0) // ≠
151#define DE_IQUE A(DE_SS) // ¿ 109#define DE_IQUE A(DE_SS) // ¿
152// Row 2
153#define DE_LDAQ A(DE_Q) // « 110#define DE_LDAQ A(DE_Q) // «
154#define DE_NARS A(DE_W) // ∑ 111#define DE_NARS A(DE_W) // ∑
155#define DE_EURO A(DE_E) // € 112#define DE_EURO A(DE_E) // €
@@ -162,7 +119,6 @@
162#define DE_PI A(DE_P) // π 119#define DE_PI A(DE_P) // π
163#define DE_BULT A(DE_UDIA) // • 120#define DE_BULT A(DE_UDIA) // •
164#define DE_PLMN A(DE_PLUS) // ± 121#define DE_PLMN A(DE_PLUS) // ±
165// Row 3
166#define DE_ARNG A(DE_A) // Å 122#define DE_ARNG A(DE_A) // Å
167#define DE_SLQU A(DE_S) // ‚ 123#define DE_SLQU A(DE_S) // ‚
168#define DE_PDIF A(DE_D) // ∂ 124#define DE_PDIF A(DE_D) // ∂
@@ -175,7 +131,6 @@
175#define DE_OE A(DE_ODIA) // Œ 131#define DE_OE A(DE_ODIA) // Œ
176#define DE_AE A(DE_ADIA) // Æ 132#define DE_AE A(DE_ADIA) // Æ
177#define DE_LSQU A(DE_HASH) // ‘ 133#define DE_LSQU A(DE_HASH) // ‘
178// Row 4
179#define DE_LTEQ A(DE_LABK) // ≤ 134#define DE_LTEQ A(DE_LABK) // ≤
180#define DE_YEN A(DE_Y) // ¥ 135#define DE_YEN A(DE_Y) // ¥
181#define DE_AEQL A(DE_X) // ≈ 136#define DE_AEQL A(DE_X) // ≈
@@ -187,21 +142,6 @@
187#define DE_INFN A(DE_COMM) // ∞ 142#define DE_INFN A(DE_COMM) // ∞
188#define DE_ELLP A(DE_DOT) // … 143#define DE_ELLP A(DE_DOT) // …
189#define DE_NDSH A(DE_MINS) // – 144#define DE_NDSH A(DE_MINS) // –
190
191/* Shift+Alted symbols
192 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
193 * │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │
194 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
195 * │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │  │ │
196 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
197 * │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │
198 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
199 * │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │
200 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
201 * │ │ │ │ │ │ │ │
202 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
203 */
204// Row 1
205#define DE_NOT S(A(DE_1)) // ¬ 145#define DE_NOT S(A(DE_1)) // ¬
206#define DE_RDQU S(A(DE_2)) // ” 146#define DE_RDQU S(A(DE_2)) // ”
207#define DE_PND S(A(DE_4)) // £ 147#define DE_PND S(A(DE_4)) // £
@@ -212,7 +152,6 @@
212#define DE_MACR S(A(DE_0)) // ¯ 152#define DE_MACR S(A(DE_0)) // ¯
213#define DE_DOTA S(A(DE_SS)) // ˙ 153#define DE_DOTA S(A(DE_SS)) // ˙
214#define DE_RNGA S(A(DE_ACUT)) // ˚ 154#define DE_RNGA S(A(DE_ACUT)) // ˚
215// Row 2
216#define DE_RDAQ S(A(DE_Q)) // » 155#define DE_RDAQ S(A(DE_Q)) // »
217#define DE_PERM S(A(DE_E)) // ‰ 156#define DE_PERM S(A(DE_E)) // ‰
218#define DE_CEDL S(A(DE_R)) // ¸ 157#define DE_CEDL S(A(DE_R)) // ¸
@@ -222,7 +161,6 @@
222#define DE_UCIR S(A(DE_I)) // Û 161#define DE_UCIR S(A(DE_I)) // Û
223#define DE_NARP S(A(DE_P)) // ∏ 162#define DE_NARP S(A(DE_P)) // ∏
224#define DE_APPL S(A(DE_PLUS)) //  (Apple logo) 163#define DE_APPL S(A(DE_PLUS)) //  (Apple logo)
225// Row 3
226#define DE_IACU S(A(DE_S)) // Í 164#define DE_IACU S(A(DE_S)) // Í
227#define DE_TM S(A(DE_D)) // ™ 165#define DE_TM S(A(DE_D)) // ™
228#define DE_IDIA S(A(DE_F)) // Ï 166#define DE_IDIA S(A(DE_F)) // Ï
@@ -230,7 +168,6 @@
230#define DE_OACU S(A(DE_H)) // Ó 168#define DE_OACU S(A(DE_H)) // Ó
231#define DE_DLSI S(A(DE_J)) // ı 169#define DE_DLSI S(A(DE_J)) // ı
232#define DE_FL S(A(DE_L)) // fl 170#define DE_FL S(A(DE_L)) // fl
233// Row 4
234#define DE_GTEQ S(A(DE_LABK)) // ≥ 171#define DE_GTEQ S(A(DE_LABK)) // ≥
235#define DE_DDAG S(A(DE_Y)) // ‡ 172#define DE_DDAG S(A(DE_Y)) // ‡
236#define DE_UGRV S(A(DE_X)) // Ù 173#define DE_UGRV S(A(DE_X)) // Ù
diff --git a/quantum/keymap_extras/keymap_greek.h b/quantum/keymap_extras/keymap_greek.h
index 8c23381204..f0d96f905f 100644
--- a/quantum/keymap_extras/keymap_greek.h
+++ b/quantum/keymap_extras/keymap_greek.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ ; │ ς │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ [ │ ] │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ΄ │ ' │ \ │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ , │ . │ / │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define GR_GRV KC_GRV // ` 31#define GR_GRV KC_GRV // `
38#define GR_1 KC_1 // 1 32#define GR_1 KC_1 // 1
39#define GR_2 KC_2 // 2 33#define GR_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define GR_0 KC_0 // 0 41#define GR_0 KC_0 // 0
48#define GR_MINS KC_MINS // - 42#define GR_MINS KC_MINS // -
49#define GR_EQL KC_EQL // = 43#define GR_EQL KC_EQL // =
50// Row 2
51#define GR_SCLN KC_Q // ; 44#define GR_SCLN KC_Q // ;
52#define GR_FSIG KC_W // ς 45#define GR_FSIG KC_W // ς
53#define GR_EPSL KC_E // Ε 46#define GR_EPSL KC_E // Ε
@@ -60,7 +53,6 @@
60#define GR_PI KC_P // Π 53#define GR_PI KC_P // Π
61#define GR_LBRC KC_LBRC // [ 54#define GR_LBRC KC_LBRC // [
62#define GR_RBRC KC_RBRC // ] 55#define GR_RBRC KC_RBRC // ]
63// Row 3
64#define GR_ALPH KC_A // Α 56#define GR_ALPH KC_A // Α
65#define GR_SIGM KC_S // Σ 57#define GR_SIGM KC_S // Σ
66#define GR_DELT KC_D // Δ 58#define GR_DELT KC_D // Δ
@@ -73,7 +65,6 @@
73#define GR_TONS KC_SCLN // ΄ (dead) 65#define GR_TONS KC_SCLN // ΄ (dead)
74#define GR_QUOT KC_QUOT // ' 66#define GR_QUOT KC_QUOT // '
75#define GR_BSLS KC_NUHS // (backslash) 67#define GR_BSLS KC_NUHS // (backslash)
76// Row 4
77#define GR_ZETA KC_Z // Ζ 68#define GR_ZETA KC_Z // Ζ
78#define GR_CHI KC_X // Χ 69#define GR_CHI KC_X // Χ
79#define GR_PSI KC_C // Ψ 70#define GR_PSI KC_C // Ψ
@@ -84,21 +75,6 @@
84#define GR_COMM KC_COMM // , 75#define GR_COMM KC_COMM // ,
85#define GR_DOT KC_DOT // . 76#define GR_DOT KC_DOT // .
86#define GR_SLSH KC_SLSH // / 77#define GR_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ : │ ΅ │ │ │ │ │ │ │ │ │ { │ } │ │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
94 * │ │ │ │ │ │ │ │ │ │ │ ¨ │ " │ | │ │
95 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
96 * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define GR_TILD S(GR_GRV) // ~ 78#define GR_TILD S(GR_GRV) // ~
103#define GR_EXLM S(GR_1) // ! 79#define GR_EXLM S(GR_1) // !
104#define GR_AT S(GR_2) // @ 80#define GR_AT S(GR_2) // @
@@ -112,34 +88,16 @@
112#define GR_RPRN S(GR_0) // ) 88#define GR_RPRN S(GR_0) // )
113#define GR_UNDS S(GR_MINS) // _ 89#define GR_UNDS S(GR_MINS) // _
114#define GR_PLUS S(GR_EQL) // + 90#define GR_PLUS S(GR_EQL) // +
115// Row 2
116#define GR_COLN S(GR_SCLN) // : 91#define GR_COLN S(GR_SCLN) // :
117#define GR_DIAT S(GR_FSIG) // ΅ (dead) 92#define GR_DIAT S(GR_FSIG) // ΅ (dead)
118#define GR_LCBR S(GR_LBRC) // { 93#define GR_LCBR S(GR_LBRC) // {
119#define GR_RCBR S(GR_RBRC) // } 94#define GR_RCBR S(GR_RBRC) // }
120// Row 3
121#define GR_DIAE S(GR_TONS) // ¨ (dead) 95#define GR_DIAE S(GR_TONS) // ¨ (dead)
122#define GR_DQUO S(GR_QUOT) // " 96#define GR_DQUO S(GR_QUOT) // "
123#define GR_PIPE S(GR_BSLS) // | 97#define GR_PIPE S(GR_BSLS) // |
124// Row 4
125#define GR_LABK S(GR_COMM) // < 98#define GR_LABK S(GR_COMM) // <
126#define GR_RABK S(GR_DOT) // > 99#define GR_RABK S(GR_DOT) // >
127#define GR_QUES S(GR_SLSH) // ? 100#define GR_QUES S(GR_SLSH) // ?
128
129/* AltGr symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
131 * │ │ │ ² │ ³ │ £ │ § │ ¶ │ │ ¤ │ ¦ │ ° │ ± │ ½ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
133 * │ │ │ │ € │ ® │ │ ¥ │ │ │ │ │ « │ » │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ │ │ │ │ │ │ │ │ │ │ │ ¬ │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
137 * │ │ │ │ │ © │ │ │ │ │ │ │ │ │
138 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
139 * │ │ │ │ │ │ │ │ │
140 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
141 */
142// Row 1
143#define GR_SUP2 ALGR(GR_2) // ² 101#define GR_SUP2 ALGR(GR_2) // ²
144#define GR_SUP3 ALGR(GR_3) // ³ 102#define GR_SUP3 ALGR(GR_3) // ³
145#define GR_PND ALGR(GR_4) // £ 103#define GR_PND ALGR(GR_4) // £
@@ -150,13 +108,10 @@
150#define GR_DEG ALGR(GR_0) // ° 108#define GR_DEG ALGR(GR_0) // °
151#define GR_PLMN ALGR(GR_MINS) // ± 109#define GR_PLMN ALGR(GR_MINS) // ±
152#define GR_HALF ALGR(GR_EQL) // ½ 110#define GR_HALF ALGR(GR_EQL) // ½
153// Row 2
154#define GR_EURO ALGR(GR_EPSL) // € 111#define GR_EURO ALGR(GR_EPSL) // €
155#define GR_REGD ALGR(GR_RHO) // ® 112#define GR_REGD ALGR(GR_RHO) // ®
156#define GR_YEN ALGR(GR_UPSL) // ¥ 113#define GR_YEN ALGR(GR_UPSL) // ¥
157#define GR_LDAQ ALGR(GR_LBRC) // « 114#define GR_LDAQ ALGR(GR_LBRC) // «
158#define GR_RDAQ ALGR(GR_RBRC) // » 115#define GR_RDAQ ALGR(GR_RBRC) // »
159// Row 3
160#define GR_NOT ALGR(GR_BSLS) // ¬ 116#define GR_NOT ALGR(GR_BSLS) // ¬
161// Row 4
162#define GR_COPY ALGR(GR_PSI) // © 117#define GR_COPY ALGR(GR_PSI) // ©
diff --git a/quantum/keymap_extras/keymap_hebrew.h b/quantum/keymap_extras/keymap_hebrew.h
index 87b488f04d..edfd5e70c3 100644
--- a/quantum/keymap_extras/keymap_hebrew.h
+++ b/quantum/keymap_extras/keymap_hebrew.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define IL_SCLN KC_GRV // ; 31#define IL_SCLN KC_GRV // ;
38#define IL_1 KC_1 // 1 32#define IL_1 KC_1 // 1
39#define IL_2 KC_2 // 2 33#define IL_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define IL_0 KC_0 // 0 41#define IL_0 KC_0 // 0
48#define IL_MINS KC_MINS // - 42#define IL_MINS KC_MINS // -
49#define IL_EQL KC_EQL // = 43#define IL_EQL KC_EQL // =
50// Row 2
51#define IL_SLSH KC_Q // / 44#define IL_SLSH KC_Q // /
52#define IL_QUOT KC_W // ' 45#define IL_QUOT KC_W // '
53#define IL_QOF KC_E // ק 46#define IL_QOF KC_E // ק
@@ -60,7 +53,6 @@
60#define IL_PE KC_P // פ 53#define IL_PE KC_P // פ
61#define IL_RBRC KC_LBRC // ] 54#define IL_RBRC KC_LBRC // ]
62#define IL_LBRC KC_RBRC // [ 55#define IL_LBRC KC_RBRC // [
63// Row 3
64#define IL_SHIN KC_A // ש 56#define IL_SHIN KC_A // ש
65#define IL_DALT KC_S // ד 57#define IL_DALT KC_S // ד
66#define IL_GIML KC_D // ג 58#define IL_GIML KC_D // ג
@@ -73,7 +65,6 @@
73#define IL_FPE KC_SCLN // ף 65#define IL_FPE KC_SCLN // ף
74#define IL_COMM KC_QUOT // , 66#define IL_COMM KC_QUOT // ,
75#define IL_BSLS KC_NUHS // (backslash) 67#define IL_BSLS KC_NUHS // (backslash)
76// Row 4
77#define IL_ZAYN KC_Z // ז 68#define IL_ZAYN KC_Z // ז
78#define IL_SMKH KC_X // ס 69#define IL_SMKH KC_X // ס
79#define IL_BET KC_C // ב 70#define IL_BET KC_C // ב
@@ -84,21 +75,6 @@
84#define IL_TAV KC_COMM // ת 75#define IL_TAV KC_COMM // ת
85#define IL_FTSD KC_DOT // ץ 76#define IL_FTSD KC_DOT // ץ
86#define IL_DOT KC_SLSH // . 77#define IL_DOT KC_SLSH // .
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ } │ { │ │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
94 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
95 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
96 * │ │ │ │ │ │ │ │ │ │ > │ < │ ? │ │
97 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define IL_TILD S(IL_SCLN) // ~ 78#define IL_TILD S(IL_SCLN) // ~
103#define IL_EXLM S(IL_1) // ! 79#define IL_EXLM S(IL_1) // !
104#define IL_AT S(IL_2) // @ 80#define IL_AT S(IL_2) // @
@@ -112,40 +88,19 @@
112#define IL_LPRN S(IL_0) // ( 88#define IL_LPRN S(IL_0) // (
113#define IL_UNDS S(IL_MINS) // _ 89#define IL_UNDS S(IL_MINS) // _
114#define IL_PLUS S(IL_EQL) // + 90#define IL_PLUS S(IL_EQL) // +
115// Row 2
116#define IL_RCBR S(IL_RBRC) // } 91#define IL_RCBR S(IL_RBRC) // }
117#define IL_LCBR S(IL_LBRC) // { 92#define IL_LCBR S(IL_LBRC) // {
118// Row 3
119#define IL_COLN S(IL_FPE) // : 93#define IL_COLN S(IL_FPE) // :
120#define IL_DQUO S(IL_COMM) // " 94#define IL_DQUO S(IL_COMM) // "
121#define IL_PIPE S(IL_BSLS) // | 95#define IL_PIPE S(IL_BSLS) // |
122// Row 4
123#define IL_RABK S(IL_TAV) // > 96#define IL_RABK S(IL_TAV) // >
124#define IL_LABK S(IL_FTSD) // < 97#define IL_LABK S(IL_FTSD) // <
125#define IL_QUES S(IL_DOT) // ? 98#define IL_QUES S(IL_DOT) // ?
126
127/* AltGr symbols
128 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
129 * │ │ │ │ € │ ₪ │ ° │ │ │ × │ │ │ │ │ │
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
131 * │ │ │ │ │ │ │ װ │ │ │ │ │ │ │ │
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
133 * │ │ │ │ │ │ ײ │ ױ │ │ │ │ │ │ │ │
134 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
135 * │ │ │ │ │ │ │ │ │ │ │ │ ÷ │ │
136 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
137 * │ │ │ │ │ │ │ │ │
138 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
139 */
140// Row 1
141#define IL_EURO ALGR(IL_3) // € 99#define IL_EURO ALGR(IL_3) // €
142#define IL_SHKL ALGR(IL_4) // ₪ 100#define IL_SHKL ALGR(IL_4) // ₪
143#define IL_DEG ALGR(IL_5) // ° 101#define IL_DEG ALGR(IL_5) // °
144#define IL_MUL ALGR(IL_8) // × 102#define IL_MUL ALGR(IL_8) // ×
145// Row 2
146#define IL_DVAV ALGR(IL_TET) // װ 103#define IL_DVAV ALGR(IL_TET) // װ
147// Row 3
148#define IL_VYOD ALGR(IL_AYIN) // ױ 104#define IL_VYOD ALGR(IL_AYIN) // ױ
149#define IL_DYOD ALGR(IL_YOD) // ײ 105#define IL_DYOD ALGR(IL_YOD) // ײ
150// Row 4
151#define IL_DIV ALGR(IL_DOT) // ÷ 106#define IL_DIV ALGR(IL_DOT) // ÷
diff --git a/quantum/keymap_extras/keymap_hungarian.h b/quantum/keymap_extras/keymap_hungarian.h
index a4e4b1a522..911f2ac5fa 100644
--- a/quantum/keymap_extras/keymap_hungarian.h
+++ b/quantum/keymap_extras/keymap_hungarian.h
@@ -1,39 +1,33 @@
1/* Copyright 2018 fuge 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ Ö │ Ü │ Ó │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ő │ Ú │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ É │ Á │ Ű │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ Í │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define HU_0 KC_GRV // 0 31#define HU_0 KC_GRV // 0
38#define HU_1 KC_1 // 1 32#define HU_1 KC_1 // 1
39#define HU_2 KC_2 // 2 33#define HU_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define HU_ODIA KC_0 // Ö 41#define HU_ODIA KC_0 // Ö
48#define HU_UDIA KC_MINS // Ü 42#define HU_UDIA KC_MINS // Ü
49#define HU_OACU KC_EQL // Ó 43#define HU_OACU KC_EQL // Ó
50// Row 2
51#define HU_Q KC_Q // Q 44#define HU_Q KC_Q // Q
52#define HU_W KC_W // W 45#define HU_W KC_W // W
53#define HU_E KC_E // E 46#define HU_E KC_E // E
@@ -60,7 +53,6 @@
60#define HU_P KC_P // P 53#define HU_P KC_P // P
61#define HU_ODAC KC_LBRC // Ő 54#define HU_ODAC KC_LBRC // Ő
62#define HU_UACU KC_RBRC // Ú 55#define HU_UACU KC_RBRC // Ú
63// Row 3
64#define HU_A KC_A // A 56#define HU_A KC_A // A
65#define HU_S KC_S // S 57#define HU_S KC_S // S
66#define HU_D KC_D // D 58#define HU_D KC_D // D
@@ -73,7 +65,6 @@
73#define HU_EACU KC_SCLN // É 65#define HU_EACU KC_SCLN // É
74#define HU_AACU KC_QUOT // Á 66#define HU_AACU KC_QUOT // Á
75#define HU_UDAC KC_NUHS // Ű 67#define HU_UDAC KC_NUHS // Ű
76// Row 4
77#define HU_IACU KC_NUBS // Í 68#define HU_IACU KC_NUBS // Í
78#define HU_Y KC_Z // Y 69#define HU_Y KC_Z // Y
79#define HU_X KC_X // X 70#define HU_X KC_X // X
@@ -85,21 +76,6 @@
85#define HU_COMM KC_COMM // , 76#define HU_COMM KC_COMM // ,
86#define HU_DOT KC_DOT // . 77#define HU_DOT KC_DOT // .
87#define HU_MINS KC_SLSH // - 78#define HU_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ § │ ' │ " │ + │ ! │ % │ / │ = │ ( │ ) │ │ │ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define HU_SECT S(HU_0) // § 79#define HU_SECT S(HU_0) // §
104#define HU_QUOT S(HU_1) // ' 80#define HU_QUOT S(HU_1) // '
105#define HU_DQUO S(HU_2) // " 81#define HU_DQUO S(HU_2) // "
@@ -110,25 +86,9 @@
110#define HU_EQL S(HU_7) // = 86#define HU_EQL S(HU_7) // =
111#define HU_LPRN S(HU_8) // ( 87#define HU_LPRN S(HU_8) // (
112#define HU_RPRN S(HU_9) // ) 88#define HU_RPRN S(HU_9) // )
113// Row 4
114#define HU_QUES S(HU_COMM) // ? 89#define HU_QUES S(HU_COMM) // ?
115#define HU_COLN S(HU_DOT) // : 90#define HU_COLN S(HU_DOT) // :
116#define HU_UNDS S(HU_MINS) // _ 91#define HU_UNDS S(HU_MINS) // _
117
118/* AltGr symbols
119 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
120 * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
121 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
122 * │ │ \ │ | │ Ä │ │ │ │ € │ │ │ │ ÷ │ × │ │
123 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
124 * │ │ ä │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
125 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
126 * │ │ < │ > │ # │ & │ @ │ { │ } │ │ ; │ │ * │ │
127 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
128 * │ │ │ │ │ │ │ │ │
129 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
130 */
131// Row 1
132#define HU_TILD ALGR(HU_1) // ~ 92#define HU_TILD ALGR(HU_1) // ~
133#define HU_CARN ALGR(HU_2) // ˇ (dead) 93#define HU_CARN ALGR(HU_2) // ˇ (dead)
134#define HU_CIRC ALGR(HU_3) // ^ (dead) 94#define HU_CIRC ALGR(HU_3) // ^ (dead)
@@ -141,14 +101,12 @@
141#define HU_DACU ALGR(HU_ODIA) // ˝ (dead) 101#define HU_DACU ALGR(HU_ODIA) // ˝ (dead)
142#define HU_DIAE ALGR(HU_UDIA) // ¨ (dead) 102#define HU_DIAE ALGR(HU_UDIA) // ¨ (dead)
143#define HU_CEDL ALGR(HU_OACU) // ¸ (dead) 103#define HU_CEDL ALGR(HU_OACU) // ¸ (dead)
144// Row 2
145#define HU_BSLS ALGR(HU_Q) // (backslash) 104#define HU_BSLS ALGR(HU_Q) // (backslash)
146#define HU_PIPE ALGR(HU_W) // | 105#define HU_PIPE ALGR(HU_W) // |
147#define HU_CADI ALGR(HU_E) // Ä 106#define HU_CADI ALGR(HU_E) // Ä
148#define HU_EURO ALGR(HU_U) // € 107#define HU_EURO ALGR(HU_U) // €
149#define HU_DIV ALGR(HU_ODAC) // ÷ 108#define HU_DIV ALGR(HU_ODAC) // ÷
150#define HU_MUL ALGR(HU_UACU) // × 109#define HU_MUL ALGR(HU_UACU) // ×
151// Row 3
152#define HU_LADI ALGR(HU_A) // ä 110#define HU_LADI ALGR(HU_A) // ä
153#define HU_LDST ALGR(HU_S) // đ 111#define HU_LDST ALGR(HU_S) // đ
154#define HU_CDST ALGR(HU_D) // Đ 112#define HU_CDST ALGR(HU_D) // Đ
@@ -159,7 +117,6 @@
159#define HU_DLR ALGR(HU_EACU) // $ 117#define HU_DLR ALGR(HU_EACU) // $
160#define HU_SS ALGR(HU_AACU) // ß 118#define HU_SS ALGR(HU_AACU) // ß
161#define HU_CURR ALGR(HU_UDAC) // ¤ 119#define HU_CURR ALGR(HU_UDAC) // ¤
162// Row 4
163#define HU_LABK ALGR(HU_IACU) // < 120#define HU_LABK ALGR(HU_IACU) // <
164#define HU_RABK ALGR(HU_Y) // > 121#define HU_RABK ALGR(HU_Y) // >
165#define HU_HASH ALGR(HU_X) // # 122#define HU_HASH ALGR(HU_X) // #
diff --git a/quantum/keymap_extras/keymap_icelandic.h b/quantum/keymap_extras/keymap_icelandic.h
index 43e4a6e872..72ba66c01d 100644
--- a/quantum/keymap_extras/keymap_icelandic.h
+++ b/quantum/keymap_extras/keymap_icelandic.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ Ö │ - │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ð │ ' │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ ´ │ + │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Þ │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define IS_RNGA KC_GRV // ° (dead) 31#define IS_RNGA KC_GRV // ° (dead)
38#define IS_1 KC_1 // 1 32#define IS_1 KC_1 // 1
39#define IS_2 KC_2 // 2 33#define IS_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define IS_0 KC_0 // 0 41#define IS_0 KC_0 // 0
48#define IS_ODIA KC_MINS // Ö 42#define IS_ODIA KC_MINS // Ö
49#define IS_MINS KC_EQL // - 43#define IS_MINS KC_EQL // -
50// Row 2
51#define IS_Q KC_Q // Q 44#define IS_Q KC_Q // Q
52#define IS_W KC_W // W 45#define IS_W KC_W // W
53#define IS_E KC_E // E 46#define IS_E KC_E // E
@@ -60,7 +53,6 @@
60#define IS_P KC_P // P 53#define IS_P KC_P // P
61#define IS_ETH KC_LBRC // Ð 54#define IS_ETH KC_LBRC // Ð
62#define IS_QUOT KC_RBRC // ' 55#define IS_QUOT KC_RBRC // '
63// Row 3
64#define IS_A KC_A // A 56#define IS_A KC_A // A
65#define IS_S KC_S // S 57#define IS_S KC_S // S
66#define IS_D KC_D // D 58#define IS_D KC_D // D
@@ -73,7 +65,6 @@
73#define IS_AE KC_SCLN // Æ 65#define IS_AE KC_SCLN // Æ
74#define IS_ACUT KC_QUOT // ´ (dead) 66#define IS_ACUT KC_QUOT // ´ (dead)
75#define IS_PLUS KC_NUHS // + 67#define IS_PLUS KC_NUHS // +
76// Row 4
77#define IS_LABK KC_NUBS // < 68#define IS_LABK KC_NUBS // <
78#define IS_Z KC_Z // Z 69#define IS_Z KC_Z // Z
79#define IS_X KC_X // X 70#define IS_X KC_X // X
@@ -85,21 +76,6 @@
85#define IS_COMM KC_COMM // , 76#define IS_COMM KC_COMM // ,
86#define IS_DOT KC_DOT // . 77#define IS_DOT KC_DOT // .
87#define IS_THRN KC_SLSH // Þ 78#define IS_THRN KC_SLSH // Þ
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ │ _ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ ? │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define IS_DIAE S(IS_RNGA) // ¨ (dead) 79#define IS_DIAE S(IS_RNGA) // ¨ (dead)
104#define IS_EXLM S(IS_1) // ! 80#define IS_EXLM S(IS_1) // !
105#define IS_DQUO S(IS_2) // " 81#define IS_DQUO S(IS_2) // "
@@ -112,42 +88,21 @@
112#define IS_RPRN S(IS_9) // ) 88#define IS_RPRN S(IS_9) // )
113#define IS_EQL S(IS_0) // = 89#define IS_EQL S(IS_0) // =
114#define IS_UNDS S(IS_MINS) // _ 90#define IS_UNDS S(IS_MINS) // _
115// Row 2
116#define IS_QUES S(IS_QUOT) // ? 91#define IS_QUES S(IS_QUOT) // ?
117// Row 3
118#define IS_ASTR S(IS_PLUS) // * 92#define IS_ASTR S(IS_PLUS) // *
119// Row 4
120#define IS_RABK S(IS_LABK) // > 93#define IS_RABK S(IS_LABK) // >
121#define IS_SCLN S(IS_COMM) // ; 94#define IS_SCLN S(IS_COMM) // ;
122#define IS_COLN S(IS_DOT) // : 95#define IS_COLN S(IS_DOT) // :
123
124/* AltGr symbols
125 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
126 * │ ° │ │ │ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
127 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
128 * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
129 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
130 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ ` │ │
131 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
132 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
133 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
134 * │ │ │ │ │ │ │ │ │
135 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
136 */
137// Row 1
138#define IS_DEG ALGR(IS_RNGA) // ° 96#define IS_DEG ALGR(IS_RNGA) // °
139#define IS_LCBR ALGR(IS_7) // { 97#define IS_LCBR ALGR(IS_7) // {
140#define IS_LBRC ALGR(IS_8) // [ 98#define IS_LBRC ALGR(IS_8) // [
141#define IS_RBRC ALGR(IS_9) // ] 99#define IS_RBRC ALGR(IS_9) // ]
142#define IS_RCBR ALGR(IS_0) // } 100#define IS_RCBR ALGR(IS_0) // }
143#define IS_BSLS ALGR(IS_ODIA) // (backslash) 101#define IS_BSLS ALGR(IS_ODIA) // (backslash)
144// Row 2
145#define IS_AT ALGR(IS_Q) // @ 102#define IS_AT ALGR(IS_Q) // @
146#define IS_EURO ALGR(IS_E) // € 103#define IS_EURO ALGR(IS_E) // €
147#define IS_TILD ALGR(IS_QUOT) // ~ 104#define IS_TILD ALGR(IS_QUOT) // ~
148// Row 3
149#define IS_CIRC ALGR(IS_ACUT) // ^ (dead) 105#define IS_CIRC ALGR(IS_ACUT) // ^ (dead)
150#define IS_GRV ALGR(IS_PLUS) // ` (dead) 106#define IS_GRV ALGR(IS_PLUS) // ` (dead)
151// Row 4
152#define IS_PIPE ALGR(IS_LABK) // | 107#define IS_PIPE ALGR(IS_LABK) // |
153#define IS_MICR ALGR(IS_M) // µ 108#define IS_MICR ALGR(IS_M) // µ
diff --git a/quantum/keymap_extras/keymap_irish.h b/quantum/keymap_extras/keymap_irish.h
index 73a4c8028d..95348d2ed1 100644
--- a/quantum/keymap_extras/keymap_irish.h
+++ b/quantum/keymap_extras/keymap_irish.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define IE_GRV KC_GRV // ` 31#define IE_GRV KC_GRV // `
38#define IE_1 KC_1 // 1 32#define IE_1 KC_1 // 1
39#define IE_2 KC_2 // 2 33#define IE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define IE_0 KC_0 // 0 41#define IE_0 KC_0 // 0
48#define IE_MINS KC_MINS // - 42#define IE_MINS KC_MINS // -
49#define IE_EQL KC_EQL // = 43#define IE_EQL KC_EQL // =
50// Row 2
51#define IE_Q KC_Q // Q 44#define IE_Q KC_Q // Q
52#define IE_W KC_W // W 45#define IE_W KC_W // W
53#define IE_E KC_E // E 46#define IE_E KC_E // E
@@ -60,7 +53,6 @@
60#define IE_P KC_P // P 53#define IE_P KC_P // P
61#define IE_LBRC KC_LBRC // [ 54#define IE_LBRC KC_LBRC // [
62#define IE_RBRC KC_RBRC // ] 55#define IE_RBRC KC_RBRC // ]
63// Row 3
64#define IE_A KC_A // A 56#define IE_A KC_A // A
65#define IE_S KC_S // S 57#define IE_S KC_S // S
66#define IE_D KC_D // D 58#define IE_D KC_D // D
@@ -73,7 +65,6 @@
73#define IE_SCLN KC_SCLN // ; 65#define IE_SCLN KC_SCLN // ;
74#define IE_QUOT KC_QUOT // ' 66#define IE_QUOT KC_QUOT // '
75#define IE_HASH KC_NUHS // # 67#define IE_HASH KC_NUHS // #
76// Row 4
77#define IE_BSLS KC_NUBS // (backslash) 68#define IE_BSLS KC_NUBS // (backslash)
78#define IE_Z KC_Z // Z 69#define IE_Z KC_Z // Z
79#define IE_X KC_X // X 70#define IE_X KC_X // X
@@ -85,21 +76,6 @@
85#define IE_COMM KC_COMM // , 76#define IE_COMM KC_COMM // ,
86#define IE_DOT KC_DOT // . 77#define IE_DOT KC_DOT // .
87#define IE_SLSH KC_SLSH // / 78#define IE_SLSH KC_SLSH // /
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ : │ @ │ ~ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ | │ │ │ │ │ │ │ │ < │ > │ ? │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define IE_NOT S(IE_GRV) // ¬ 79#define IE_NOT S(IE_GRV) // ¬
104#define IE_EXLM S(IE_1) // ! 80#define IE_EXLM S(IE_1) // !
105#define IE_DQUO S(IE_2) // " 81#define IE_DQUO S(IE_2) // "
@@ -113,40 +89,20 @@
113#define IE_RPRN S(IE_0) // ) 89#define IE_RPRN S(IE_0) // )
114#define IE_UNDS S(IE_MINS) // _ 90#define IE_UNDS S(IE_MINS) // _
115#define IE_PLUS S(IE_EQL) // + 91#define IE_PLUS S(IE_EQL) // +
116// Row 2
117#define IE_LCBR S(IE_LBRC) // { 92#define IE_LCBR S(IE_LBRC) // {
118#define IE_RCBR S(IE_RBRC) // } 93#define IE_RCBR S(IE_RBRC) // }
119// Row 3
120#define IE_COLN S(IE_SCLN) // : 94#define IE_COLN S(IE_SCLN) // :
121#define IE_AT S(IE_QUOT) // @ 95#define IE_AT S(IE_QUOT) // @
122#define IE_TILD S(IE_HASH) // ~ 96#define IE_TILD S(IE_HASH) // ~
123// Row 4
124#define IE_PIPE S(IE_BSLS) // | 97#define IE_PIPE S(IE_BSLS) // |
125#define IE_LABK S(IE_COMM) // < 98#define IE_LABK S(IE_COMM) // <
126#define IE_RABK S(IE_DOT) // > 99#define IE_RABK S(IE_DOT) // >
127#define IE_QUES S(IE_SLSH) // ? 100#define IE_QUES S(IE_SLSH) // ?
128
129/* AltGr symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
131 * │ ¦ │ │ │ │ € │ │ │ │ │ │ │ │ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
133 * │ │ │ │ É │ │ │ │ Ú │ Í │ Ó │ │ │ │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ Á │ │ │ │ │ │ │ │ │ │ ´ │ │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
137 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
138 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
139 * │ │ │ │ │ │ │ │ │
140 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
141 */
142// Row 1
143#define IE_BRKP ALGR(IE_GRV) // ¦ 101#define IE_BRKP ALGR(IE_GRV) // ¦
144#define IE_EURO ALGR(IE_4) // € 102#define IE_EURO ALGR(IE_4) // €
145// Row 2
146#define IE_EACU ALGR(IE_E) // É 103#define IE_EACU ALGR(IE_E) // É
147#define IE_UACU ALGR(IE_U) // Ú 104#define IE_UACU ALGR(IE_U) // Ú
148#define IE_IACU ALGR(IE_I) // Í 105#define IE_IACU ALGR(IE_I) // Í
149#define IE_OACU ALGR(IE_O) // Ó 106#define IE_OACU ALGR(IE_O) // Ó
150// Row 3
151#define IE_AACU ALGR(IE_A) // Á 107#define IE_AACU ALGR(IE_A) // Á
152#define IE_ACUT ALGR(IE_QUOT) // ´ (dead) 108#define IE_ACUT ALGR(IE_QUOT) // ´ (dead)
diff --git a/quantum/keymap_extras/keymap_italian.h b/quantum/keymap_extras/keymap_italian.h
index ece60d06b7..fd14b377c5 100644
--- a/quantum/keymap_extras/keymap_italian.h
+++ b/quantum/keymap_extras/keymap_italian.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Matthias Schmidtt 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define IT_BSLS KC_GRV // (backslash) 31#define IT_BSLS KC_GRV // (backslash)
38#define IT_1 KC_1 // 1 32#define IT_1 KC_1 // 1
39#define IT_2 KC_2 // 2 33#define IT_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define IT_0 KC_0 // 0 41#define IT_0 KC_0 // 0
48#define IT_QUOT KC_MINS // ' 42#define IT_QUOT KC_MINS // '
49#define IT_IGRV KC_EQL // ì 43#define IT_IGRV KC_EQL // ì
50// Row 2
51#define IT_Q KC_Q // Q 44#define IT_Q KC_Q // Q
52#define IT_W KC_W // W 45#define IT_W KC_W // W
53#define IT_E KC_E // E 46#define IT_E KC_E // E
@@ -60,7 +53,6 @@
60#define IT_P KC_P // P 53#define IT_P KC_P // P
61#define IT_EGRV KC_LBRC // è 54#define IT_EGRV KC_LBRC // è
62#define IT_PLUS KC_RBRC // + 55#define IT_PLUS KC_RBRC // +
63// Row 3
64#define IT_A KC_A // A 56#define IT_A KC_A // A
65#define IT_S KC_S // S 57#define IT_S KC_S // S
66#define IT_D KC_D // D 58#define IT_D KC_D // D
@@ -73,7 +65,6 @@
73#define IT_OGRV KC_SCLN // ò 65#define IT_OGRV KC_SCLN // ò
74#define IT_AGRV KC_QUOT // à 66#define IT_AGRV KC_QUOT // à
75#define IT_UGRV KC_NUHS // ù 67#define IT_UGRV KC_NUHS // ù
76// Row 4
77#define IT_LABK KC_NUBS // < 68#define IT_LABK KC_NUBS // <
78#define IT_Z KC_Z // Z 69#define IT_Z KC_Z // Z
79#define IT_X KC_X // X 70#define IT_X KC_X // X
@@ -85,21 +76,6 @@
85#define IT_COMM KC_COMM // , 76#define IT_COMM KC_COMM // ,
86#define IT_DOT KC_DOT // . 77#define IT_DOT KC_DOT // .
87#define IT_MINS KC_SLSH // - 78#define IT_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define IT_PIPE S(IT_BSLS) // | 79#define IT_PIPE S(IT_BSLS) // |
104#define IT_EXLM S(IT_1) // ! 80#define IT_EXLM S(IT_1) // !
105#define IT_DQUO S(IT_2) // " 81#define IT_DQUO S(IT_2) // "
@@ -113,53 +89,19 @@
113#define IT_EQL S(IT_0) // = 89#define IT_EQL S(IT_0) // =
114#define IT_QUES S(IT_QUOT) // ? 90#define IT_QUES S(IT_QUOT) // ?
115#define IT_CIRC S(IT_IGRV) // ^ 91#define IT_CIRC S(IT_IGRV) // ^
116// Row 2
117#define IT_EACU S(IT_EGRV) // é 92#define IT_EACU S(IT_EGRV) // é
118#define IT_ASTR S(IT_PLUS) // * 93#define IT_ASTR S(IT_PLUS) // *
119// Row 3
120#define IT_CCED S(IT_OGRV) // ç 94#define IT_CCED S(IT_OGRV) // ç
121#define IT_DEG S(IT_AGRV) // ° 95#define IT_DEG S(IT_AGRV) // °
122#define IT_SECT S(IT_UGRV) // § 96#define IT_SECT S(IT_UGRV) // §
123// Row 4
124#define IT_RABK S(IT_LABK) // > 97#define IT_RABK S(IT_LABK) // >
125#define IT_COLN S(IT_DOT) // : 98#define IT_COLN S(IT_DOT) // :
126#define IT_SCLN S(IT_COMM) // ; 99#define IT_SCLN S(IT_COMM) // ;
127#define IT_UNDS S(IT_MINS) // _ 100#define IT_UNDS S(IT_MINS) // _
128
129/* AltGr symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
131 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
133 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ │ │ │ │ │ │ │ │ │ @ │ # │ │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
137 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
138 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
139 * │ │ │ │ │ │ │ │ │
140 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
141 */
142// Row 2
143#define IT_EURO ALGR(IT_E) // € 101#define IT_EURO ALGR(IT_E) // €
144#define IT_LBRC ALGR(IT_EGRV) // [ 102#define IT_LBRC ALGR(IT_EGRV) // [
145#define IT_RBRC ALGR(IT_PLUS) // ] 103#define IT_RBRC ALGR(IT_PLUS) // ]
146// Row 3
147#define IT_AT ALGR(IT_OGRV) // @ 104#define IT_AT ALGR(IT_OGRV) // @
148#define IT_HASH ALGR(IT_AGRV) // # 105#define IT_HASH ALGR(IT_AGRV) // #
149
150/* Shift+AltGr symbols
151 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
152 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
153 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
154 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
155 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
156 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
157 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
158 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
159 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
160 * │ │ │ │ │ │ │ │ │
161 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
162 */
163// Row 2
164#define IT_LCBR S(ALGR(IT_EGRV)) // { 106#define IT_LCBR S(ALGR(IT_EGRV)) // {
165#define IT_RCBR S(ALGR(IT_PLUS)) // } 107#define IT_RCBR S(ALGR(IT_PLUS)) // }
diff --git a/quantum/keymap_extras/keymap_italian_mac_ansi.h b/quantum/keymap_extras/keymap_italian_mac_ansi.h
index c2b8e3cad6..d072c6fe57 100644
--- a/quantum/keymap_extras/keymap_italian_mac_ansi.h
+++ b/quantum/keymap_extras/keymap_italian_mac_ansi.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Matthias Schmidtt 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ ù │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define IT_LABK KC_GRV // < 31#define IT_LABK KC_GRV // <
38#define IT_1 KC_1 // 1 32#define IT_1 KC_1 // 1
39#define IT_2 KC_2 // 2 33#define IT_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define IT_0 KC_0 // 0 41#define IT_0 KC_0 // 0
48#define IT_QUOT KC_MINS // ' 42#define IT_QUOT KC_MINS // '
49#define IT_IGRV KC_EQL // ì 43#define IT_IGRV KC_EQL // ì
50// Row 2
51#define IT_Q KC_Q // Q 44#define IT_Q KC_Q // Q
52#define IT_W KC_W // W 45#define IT_W KC_W // W
53#define IT_E KC_E // E 46#define IT_E KC_E // E
@@ -61,7 +54,6 @@
61#define IT_EGRV KC_LBRC // è 54#define IT_EGRV KC_LBRC // è
62#define IT_PLUS KC_RBRC // + 55#define IT_PLUS KC_RBRC // +
63#define IT_UGRV KC_BSLS // ù 56#define IT_UGRV KC_BSLS // ù
64// Row 3
65#define IT_A KC_A // A 57#define IT_A KC_A // A
66#define IT_S KC_S // S 58#define IT_S KC_S // S
67#define IT_D KC_D // D 59#define IT_D KC_D // D
@@ -73,7 +65,6 @@
73#define IT_L KC_L // L 65#define IT_L KC_L // L
74#define IT_OGRV KC_SCLN // ò 66#define IT_OGRV KC_SCLN // ò
75#define IT_AGRV KC_QUOT // à 67#define IT_AGRV KC_QUOT // à
76// Row 4
77#define IT_BSLS KC_NUBS // (backslash, not physically present) 68#define IT_BSLS KC_NUBS // (backslash, not physically present)
78#define IT_Z KC_Z // Z 69#define IT_Z KC_Z // Z
79#define IT_X KC_X // X 70#define IT_X KC_X // X
@@ -85,21 +76,6 @@
85#define IT_COMM KC_COMM // , 76#define IT_COMM KC_COMM // ,
86#define IT_DOT KC_DOT // . 77#define IT_DOT KC_DOT // .
87#define IT_MINS KC_SLSH // - 78#define IT_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
91 * │ > │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ § │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
95 * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ │
96 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
97 * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │ │ │ │ │ │ │ │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define IT_RABK S(IT_LABK) // > 79#define IT_RABK S(IT_LABK) // >
104#define IT_EXLM S(IT_1) // ! 80#define IT_EXLM S(IT_1) // !
105#define IT_DQUO S(IT_2) // " 81#define IT_DQUO S(IT_2) // "
@@ -113,33 +89,15 @@
113#define IT_EQL S(IT_0) // = 89#define IT_EQL S(IT_0) // =
114#define IT_QUES S(IT_QUOT) // ? 90#define IT_QUES S(IT_QUOT) // ?
115#define IT_CIRC S(IT_IGRV) // ^ 91#define IT_CIRC S(IT_IGRV) // ^
116// Row 2
117#define IT_EACU S(IT_EGRV) // é 92#define IT_EACU S(IT_EGRV) // é
118#define IT_ASTR S(IT_PLUS) // * 93#define IT_ASTR S(IT_PLUS) // *
119#define IT_SECT S(IT_UGRV) // § 94#define IT_SECT S(IT_UGRV) // §
120// Row 3
121#define IT_LCCE S(IT_OGRV) // ç 95#define IT_LCCE S(IT_OGRV) // ç
122#define IT_DEG S(IT_AGRV) // ° 96#define IT_DEG S(IT_AGRV) // °
123// Row 4
124#define IT_PIPE S(IT_BSLS) // | (not physically present) 97#define IT_PIPE S(IT_BSLS) // | (not physically present)
125#define IT_SCLN S(IT_COMM) // ; 98#define IT_SCLN S(IT_COMM) // ;
126#define IT_COLN S(IT_DOT) // : 99#define IT_COLN S(IT_DOT) // :
127#define IT_UNDS S(IT_MINS) // _ 100#define IT_UNDS S(IT_MINS) // _
128
129/* Alted symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
131 * │ ≤ │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
133 * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ ¶ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
135 * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ │
136 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
137 * │ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
138 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
139 * │ │ │ │ │ │ │ │
140 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
141 */
142// Row 1
143#define IT_LTEQ A(IT_LABK) // ≤ 101#define IT_LTEQ A(IT_LABK) // ≤
144#define IT_LDAQ A(IT_1) // « 102#define IT_LDAQ A(IT_1) // «
145#define IT_LDQU A(IT_2) // “ 103#define IT_LDQU A(IT_2) // “
@@ -153,7 +111,6 @@
153#define IT_NEQL A(IT_0) // ≠ 111#define IT_NEQL A(IT_0) // ≠
154#define IT_IEXL A(IT_QUOT) // ¡ 112#define IT_IEXL A(IT_QUOT) // ¡
155#define IT_DCIR A(IT_IGRV) // ˆ (dead) 113#define IT_DCIR A(IT_IGRV) // ˆ (dead)
156// Row 2
157#define IT_DLQU A(IT_Q) // „ 114#define IT_DLQU A(IT_Q) // „
158#define IT_OMEG A(IT_W) // Ω 115#define IT_OMEG A(IT_W) // Ω
159#define IT_EURO A(IT_E) // € 116#define IT_EURO A(IT_E) // €
@@ -166,7 +123,6 @@
166#define IT_PI A(IT_P) // π 123#define IT_PI A(IT_P) // π
167#define IT_LBRC A(IT_EGRV) // [ 124#define IT_LBRC A(IT_EGRV) // [
168#define IT_RBRC A(IT_PLUS) // ] 125#define IT_RBRC A(IT_PLUS) // ]
169// Row 3
170#define IT_ARNG A(IT_A) // Å 126#define IT_ARNG A(IT_A) // Å
171#define IT_SS A(IT_S) // ß 127#define IT_SS A(IT_S) // ß
172#define IT_PDIF A(IT_D) // ∂ 128#define IT_PDIF A(IT_D) // ∂
@@ -179,7 +135,6 @@
179#define IT_AT A(IT_OGRV) // @ 135#define IT_AT A(IT_OGRV) // @
180#define IT_HASH A(IT_AGRV) // # 136#define IT_HASH A(IT_AGRV) // #
181#define IT_PILC A(IT_UGRV) // ¶ 137#define IT_PILC A(IT_UGRV) // ¶
182// Row 4
183#define IT_GRV A(IT_BSLS) // ` (not physically present) 138#define IT_GRV A(IT_BSLS) // ` (not physically present)
184#define IT_NARS A(IT_Z) // ∑ 139#define IT_NARS A(IT_Z) // ∑
185#define IT_DAGG A(IT_X) // † 140#define IT_DAGG A(IT_X) // †
@@ -191,21 +146,6 @@
191#define IT_ELLP A(IT_COMM) // … 146#define IT_ELLP A(IT_COMM) // …
192#define IT_BULT A(IT_DOT) // • 147#define IT_BULT A(IT_DOT) // •
193#define IT_NDSH A(IT_MINS) // – 148#define IT_NDSH A(IT_MINS) // –
194
195/* Shift+Alted symbols
196 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
197 * │ ≥ │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
198 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
199 * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ ◊ │
200 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
201 * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ ∞ │ │
202 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
203 * │ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
204 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
205 * │ │ │ │ │ │ │ │
206 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
207 */
208// Row 1
209#define IT_GTEQ S(A(IT_LABK)) // ≥ 149#define IT_GTEQ S(A(IT_LABK)) // ≥
210#define IT_RDAQ S(A(IT_1)) // » 150#define IT_RDAQ S(A(IT_1)) // »
211#define IT_RDQU S(A(IT_2)) // ” 151#define IT_RDQU S(A(IT_2)) // ”
@@ -218,7 +158,6 @@
218#define IT_AEQL S(A(IT_0)) // ≈ 158#define IT_AEQL S(A(IT_0)) // ≈
219#define IT_IQUE S(A(IT_QUOT)) // ¿ 159#define IT_IQUE S(A(IT_QUOT)) // ¿
220#define IT_PLMN S(A(IT_IGRV)) // ± 160#define IT_PLMN S(A(IT_IGRV)) // ±
221// Row 2
222#define IT_SLQU S(A(IT_Q)) // ‚ 161#define IT_SLQU S(A(IT_Q)) // ‚
223#define IT_CAGR S(A(IT_W)) // À 162#define IT_CAGR S(A(IT_W)) // À
224#define IT_CEGR S(A(IT_E)) // È 163#define IT_CEGR S(A(IT_E)) // È
@@ -229,7 +168,6 @@
229#define IT_LCBR S(A(IT_EGRV)) // { 168#define IT_LCBR S(A(IT_EGRV)) // {
230#define IT_RCBR S(A(IT_PLUS)) // } 169#define IT_RCBR S(A(IT_PLUS)) // }
231#define IT_LOZN S(A(IT_UGRV)) // ◊ 170#define IT_LOZN S(A(IT_UGRV)) // ◊
232// Row 3
233#define IT_MACR S(A(IT_S)) // ¯ 171#define IT_MACR S(A(IT_S)) // ¯
234#define IT_BREV S(A(IT_D)) // ˘ 172#define IT_BREV S(A(IT_D)) // ˘
235#define IT_DOTA S(A(IT_F)) // ˙ 173#define IT_DOTA S(A(IT_F)) // ˙
@@ -239,7 +177,6 @@
239#define IT_OGON S(A(IT_K)) // ˛ 177#define IT_OGON S(A(IT_K)) // ˛
240#define IT_CARN S(A(IT_L)) // ˇ 178#define IT_CARN S(A(IT_L)) // ˇ
241#define IT_CCCE S(A(IT_OGRV)) // Ç 179#define IT_CCCE S(A(IT_OGRV)) // Ç
242// Row 4
243#define IT_DDAG S(A(IT_X)) // ‡ 180#define IT_DDAG S(A(IT_X)) // ‡
244#define IT_CAAC S(A(IT_C)) // Á 181#define IT_CAAC S(A(IT_C)) // Á
245#define IT_CEAC S(A(IT_V)) // É 182#define IT_CEAC S(A(IT_V)) // É
diff --git a/quantum/keymap_extras/keymap_italian_mac_iso.h b/quantum/keymap_extras/keymap_italian_mac_iso.h
index 61f76ddba7..b93a583a41 100644
--- a/quantum/keymap_extras/keymap_italian_mac_iso.h
+++ b/quantum/keymap_extras/keymap_italian_mac_iso.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Matthias Schmidtt 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define IT_BSLS KC_GRV // (backslash) 31#define IT_BSLS KC_GRV // (backslash)
38#define IT_1 KC_1 // 1 32#define IT_1 KC_1 // 1
39#define IT_2 KC_2 // 2 33#define IT_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define IT_0 KC_0 // 0 41#define IT_0 KC_0 // 0
48#define IT_QUOT KC_MINS // ' 42#define IT_QUOT KC_MINS // '
49#define IT_IGRV KC_EQL // ì 43#define IT_IGRV KC_EQL // ì
50// Row 2
51#define IT_Q KC_Q // Q 44#define IT_Q KC_Q // Q
52#define IT_W KC_W // W 45#define IT_W KC_W // W
53#define IT_E KC_E // E 46#define IT_E KC_E // E
@@ -60,7 +53,6 @@
60#define IT_P KC_P // P 53#define IT_P KC_P // P
61#define IT_EGRV KC_LBRC // è 54#define IT_EGRV KC_LBRC // è
62#define IT_PLUS KC_RBRC // + 55#define IT_PLUS KC_RBRC // +
63// Row 3
64#define IT_A KC_A // A 56#define IT_A KC_A // A
65#define IT_S KC_S // S 57#define IT_S KC_S // S
66#define IT_D KC_D // D 58#define IT_D KC_D // D
@@ -73,7 +65,6 @@
73#define IT_OGRV KC_SCLN // ò 65#define IT_OGRV KC_SCLN // ò
74#define IT_AGRV KC_QUOT // à 66#define IT_AGRV KC_QUOT // à
75#define IT_UGRV KC_NUHS // ù 67#define IT_UGRV KC_NUHS // ù
76// Row 4
77#define IT_LABK KC_NUBS // < 68#define IT_LABK KC_NUBS // <
78#define IT_Z KC_Z // Z 69#define IT_Z KC_Z // Z
79#define IT_X KC_X // X 70#define IT_X KC_X // X
@@ -85,21 +76,6 @@
85#define IT_COMM KC_COMM // , 76#define IT_COMM KC_COMM // ,
86#define IT_DOT KC_DOT // . 77#define IT_DOT KC_DOT // .
87#define IT_MINS KC_SLSH // - 78#define IT_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
91 * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │ │ │ │ │ │ │ │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define IT_PIPE S(IT_BSLS) // | 79#define IT_PIPE S(IT_BSLS) // |
104#define IT_EXLM S(IT_1) // ! 80#define IT_EXLM S(IT_1) // !
105#define IT_DQUO S(IT_2) // " 81#define IT_DQUO S(IT_2) // "
@@ -113,33 +89,15 @@
113#define IT_EQL S(IT_0) // = 89#define IT_EQL S(IT_0) // =
114#define IT_QUES S(IT_QUOT) // ? 90#define IT_QUES S(IT_QUOT) // ?
115#define IT_CIRC S(IT_IGRV) // ^ 91#define IT_CIRC S(IT_IGRV) // ^
116// Row 2
117#define IT_EACU S(IT_EGRV) // é 92#define IT_EACU S(IT_EGRV) // é
118#define IT_ASTR S(IT_PLUS) // * 93#define IT_ASTR S(IT_PLUS) // *
119// Row 3
120#define IT_LCCE S(IT_OGRV) // ç 94#define IT_LCCE S(IT_OGRV) // ç
121#define IT_DEG S(IT_AGRV) // ° 95#define IT_DEG S(IT_AGRV) // °
122#define IT_SECT S(IT_UGRV) // § 96#define IT_SECT S(IT_UGRV) // §
123// Row 4
124#define IT_RABK S(IT_LABK) // > 97#define IT_RABK S(IT_LABK) // >
125#define IT_SCLN S(IT_COMM) // ; 98#define IT_SCLN S(IT_COMM) // ;
126#define IT_COLN S(IT_DOT) // : 99#define IT_COLN S(IT_DOT) // :
127#define IT_UNDS S(IT_MINS) // _ 100#define IT_UNDS S(IT_MINS) // _
128
129/* Alted symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
131 * │ ` │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
133 * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ ¶ │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
137 * │ │ ≤ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
138 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
139 * │ │ │ │ │ │ │ │
140 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
141 */
142// Row 1
143#define IT_GRV A(IT_BSLS) // ` 101#define IT_GRV A(IT_BSLS) // `
144#define IT_LDAQ A(IT_1) // « 102#define IT_LDAQ A(IT_1) // «
145#define IT_LDQU A(IT_2) // “ 103#define IT_LDQU A(IT_2) // “
@@ -153,7 +111,6 @@
153#define IT_NEQL A(IT_0) // ≠ 111#define IT_NEQL A(IT_0) // ≠
154#define IT_IEXL A(IT_QUOT) // ¡ 112#define IT_IEXL A(IT_QUOT) // ¡
155#define IT_DCIR A(IT_IGRV) // ˆ (dead) 113#define IT_DCIR A(IT_IGRV) // ˆ (dead)
156// Row 2
157#define IT_DLQU A(IT_Q) // „ 114#define IT_DLQU A(IT_Q) // „
158#define IT_OMEG A(IT_W) // Ω 115#define IT_OMEG A(IT_W) // Ω
159#define IT_EURO A(IT_E) // € 116#define IT_EURO A(IT_E) // €
@@ -166,7 +123,6 @@
166#define IT_PI A(IT_P) // π 123#define IT_PI A(IT_P) // π
167#define IT_LBRC A(IT_EGRV) // [ 124#define IT_LBRC A(IT_EGRV) // [
168#define IT_RBRC A(IT_PLUS) // ] 125#define IT_RBRC A(IT_PLUS) // ]
169// Row 3
170#define IT_ARNG A(IT_A) // Å 126#define IT_ARNG A(IT_A) // Å
171#define IT_SS A(IT_S) // ß 127#define IT_SS A(IT_S) // ß
172#define IT_PDIF A(IT_D) // ∂ 128#define IT_PDIF A(IT_D) // ∂
@@ -179,7 +135,6 @@
179#define IT_AT A(IT_OGRV) // @ 135#define IT_AT A(IT_OGRV) // @
180#define IT_HASH A(IT_AGRV) // # 136#define IT_HASH A(IT_AGRV) // #
181#define IT_PILC A(IT_UGRV) // ¶ 137#define IT_PILC A(IT_UGRV) // ¶
182// Row 4
183#define IT_LTEQ A(IT_LABK) // ≤ 138#define IT_LTEQ A(IT_LABK) // ≤
184#define IT_NARS A(IT_Z) // ∑ 139#define IT_NARS A(IT_Z) // ∑
185#define IT_DAGG A(IT_X) // † 140#define IT_DAGG A(IT_X) // †
@@ -191,21 +146,6 @@
191#define IT_ELLP A(IT_COMM) // … 146#define IT_ELLP A(IT_COMM) // …
192#define IT_BULT A(IT_DOT) // • 147#define IT_BULT A(IT_DOT) // •
193#define IT_NDSH A(IT_MINS) // – 148#define IT_NDSH A(IT_MINS) // –
194
195/* Shift+Alted symbols
196 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
197 * │ ı │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
198 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
199 * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ │
200 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
201 * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ │ ◊ │ │
202 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
203 * │ │ ≥ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
204 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
205 * │ │ │ │ │ │ │ │
206 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
207 */
208// Row 1
209#define IT_DLSI S(A(IT_BSLS)) // ı 149#define IT_DLSI S(A(IT_BSLS)) // ı
210#define IT_RDAQ S(A(IT_1)) // » 150#define IT_RDAQ S(A(IT_1)) // »
211#define IT_RDQU S(A(IT_2)) // ” 151#define IT_RDQU S(A(IT_2)) // ”
@@ -218,7 +158,6 @@
218#define IT_AEQL S(A(IT_0)) // ≈ 158#define IT_AEQL S(A(IT_0)) // ≈
219#define IT_IQUE S(A(IT_QUOT)) // ¿ 159#define IT_IQUE S(A(IT_QUOT)) // ¿
220#define IT_PLMN S(A(IT_IGRV)) // ± 160#define IT_PLMN S(A(IT_IGRV)) // ±
221// Row 2
222#define IT_SLQU S(A(IT_Q)) // ‚ 161#define IT_SLQU S(A(IT_Q)) // ‚
223#define IT_CAGR S(A(IT_W)) // À 162#define IT_CAGR S(A(IT_W)) // À
224#define IT_CEGR S(A(IT_E)) // È 163#define IT_CEGR S(A(IT_E)) // È
@@ -228,7 +167,6 @@
228#define IT_NARP S(A(IT_P)) // ∏ 167#define IT_NARP S(A(IT_P)) // ∏
229#define IT_LCBR S(A(IT_EGRV)) // { 168#define IT_LCBR S(A(IT_EGRV)) // {
230#define IT_RCBR S(A(IT_PLUS)) // } 169#define IT_RCBR S(A(IT_PLUS)) // }
231// Row 3
232#define IT_MACR S(A(IT_S)) // ¯ 170#define IT_MACR S(A(IT_S)) // ¯
233#define IT_BREV S(A(IT_D)) // ˘ 171#define IT_BREV S(A(IT_D)) // ˘
234#define IT_DOTA S(A(IT_F)) // ˙ 172#define IT_DOTA S(A(IT_F)) // ˙
@@ -239,7 +177,6 @@
239#define IT_CARN S(A(IT_L)) // ˇ 177#define IT_CARN S(A(IT_L)) // ˇ
240#define IT_CCCE S(A(IT_OGRV)) // Ç 178#define IT_CCCE S(A(IT_OGRV)) // Ç
241#define IT_LOZN S(A(IT_UGRV)) // ◊ 179#define IT_LOZN S(A(IT_UGRV)) // ◊
242// Row 4
243#define IT_GTEQ S(A(IT_LABK)) // ≥ 180#define IT_GTEQ S(A(IT_LABK)) // ≥
244#define IT_DDAG S(A(IT_X)) // ‡ 181#define IT_DDAG S(A(IT_X)) // ‡
245#define IT_CAAC S(A(IT_C)) // Á 182#define IT_CAAC S(A(IT_C)) // Á
diff --git a/quantum/keymap_extras/keymap_japanese.h b/quantum/keymap_extras/keymap_japanese.h
index df78af8399..4a3ce490f8 100644
--- a/quantum/keymap_extras/keymap_japanese.h
+++ b/quantum/keymap_extras/keymap_japanese.h
@@ -1,45 +1,33 @@
1/* Copyright 2016 h-youhei 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * JP106-layout (Japanese Standard)
17 *
18 * For more information, see
19 * http://www2d.biglobe.ne.jp/~msyk/keyboard/layout/usbkeycode.html
20 * note: This website is written in Japanese.
21 */
22 3
23#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
24 25
26#pragma once
25#include "keymap.h" 27#include "keymap.h"
26
27// clang-format off 28// clang-format off
28 29
29/* 30// Aliases
30 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
31 * │Z↔H│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │ │
32 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
33 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │
34 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
35 * │ Eisū │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │
36 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
37 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ │
38 * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
39 * │ │ │ │Muhen│ │ Hen │K↔H│ │ │ │ │
40 * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
41 */
42// Row 1
43#define JP_ZKHK KC_GRV // Zenkaku ↔ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字) 31#define JP_ZKHK KC_GRV // Zenkaku ↔ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字)
44#define JP_1 KC_1 // 1 32#define JP_1 KC_1 // 1
45#define JP_2 KC_2 // 2 33#define JP_2 KC_2 // 2
@@ -54,7 +42,6 @@
54#define JP_MINS KC_MINS // - 42#define JP_MINS KC_MINS // -
55#define JP_CIRC KC_EQL // ^ 43#define JP_CIRC KC_EQL // ^
56#define JP_YEN KC_INT3 // ¥ 44#define JP_YEN KC_INT3 // ¥
57// Row 2
58#define JP_Q KC_Q // Q 45#define JP_Q KC_Q // Q
59#define JP_W KC_W // W 46#define JP_W KC_W // W
60#define JP_E KC_E // E 47#define JP_E KC_E // E
@@ -67,7 +54,6 @@
67#define JP_P KC_P // P 54#define JP_P KC_P // P
68#define JP_AT KC_LBRC // @ 55#define JP_AT KC_LBRC // @
69#define JP_LBRC KC_RBRC // [ 56#define JP_LBRC KC_RBRC // [
70// Row 3
71#define JP_EISU KC_CAPS // Eisū (英数) 57#define JP_EISU KC_CAPS // Eisū (英数)
72#define JP_A KC_A // A 58#define JP_A KC_A // A
73#define JP_S KC_S // S 59#define JP_S KC_S // S
@@ -81,7 +67,6 @@
81#define JP_SCLN KC_SCLN // ; 67#define JP_SCLN KC_SCLN // ;
82#define JP_COLN KC_QUOT // : 68#define JP_COLN KC_QUOT // :
83#define JP_RBRC KC_NUHS // ] 69#define JP_RBRC KC_NUHS // ]
84// Row 4
85#define JP_Z KC_Z // Z 70#define JP_Z KC_Z // Z
86#define JP_X KC_X // X 71#define JP_X KC_X // X
87#define JP_C KC_C // C 72#define JP_C KC_C // C
@@ -93,25 +78,9 @@
93#define JP_DOT KC_DOT // . 78#define JP_DOT KC_DOT // .
94#define JP_SLSH KC_SLSH // / 79#define JP_SLSH KC_SLSH // /
95#define JP_BSLS KC_INT1 // (backslash) 80#define JP_BSLS KC_INT1 // (backslash)
96// Row 5
97#define JP_MHEN KC_INT5 // Muhenkan (無変換) 81#define JP_MHEN KC_INT5 // Muhenkan (無変換)
98#define JP_HENK KC_INT4 // Henkan (変換) 82#define JP_HENK KC_INT4 // Henkan (変換)
99#define JP_KANA KC_INT2 // Katakana ↔ Hiragana ↔ Rōmaji (カタカナ ↔ ひらがな ↔ ローマ字) 83#define JP_KANA KC_INT2 // Katakana ↔ Hiragana ↔ Rōmaji (カタカナ ↔ ひらがな ↔ ローマ字)
100
101/* Shifted symbols
102 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
103 * │ │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ │ = │ ~ │ | │ │
104 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
105 * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
106 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
107 * │ Caps │ │ │ │ │ │ │ │ │ │ + │ * │ } │ │
108 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
109 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ _ │ │
110 * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
111 * │ │ │ │ │ │ │ │ │ │ │ │
112 * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
113 */
114// Row 1
115#define JP_EXLM S(JP_1) // ! 84#define JP_EXLM S(JP_1) // !
116#define JP_DQUO S(JP_2) // " 85#define JP_DQUO S(JP_2) // "
117#define JP_HASH S(JP_3) // # 86#define JP_HASH S(JP_3) // #
@@ -124,15 +93,12 @@
124#define JP_EQL S(JP_MINS) // = 93#define JP_EQL S(JP_MINS) // =
125#define JP_TILD S(JP_CIRC) // ~ 94#define JP_TILD S(JP_CIRC) // ~
126#define JP_PIPE S(JP_YEN) // | 95#define JP_PIPE S(JP_YEN) // |
127// Row 2
128#define JP_GRV S(JP_AT) // ` 96#define JP_GRV S(JP_AT) // `
129#define JP_LCBR S(JP_LBRC) // { 97#define JP_LCBR S(JP_LBRC) // {
130// Row 3
131#define JP_CAPS S(JP_EISU) // Caps Lock 98#define JP_CAPS S(JP_EISU) // Caps Lock
132#define JP_PLUS S(JP_SCLN) // + 99#define JP_PLUS S(JP_SCLN) // +
133#define JP_ASTR S(JP_COLN) // * 100#define JP_ASTR S(JP_COLN) // *
134#define JP_RCBR S(JP_RBRC) // } 101#define JP_RCBR S(JP_RBRC) // }
135// Row 4
136#define JP_LABK S(JP_COMM) // < 102#define JP_LABK S(JP_COMM) // <
137#define JP_RABK S(JP_DOT) // > 103#define JP_RABK S(JP_DOT) // >
138#define JP_QUES S(JP_SLSH) // ? 104#define JP_QUES S(JP_SLSH) // ?
diff --git a/quantum/keymap_extras/keymap_korean.h b/quantum/keymap_extras/keymap_korean.h
index 3d41a98b88..514bf44a29 100644
--- a/quantum/keymap_extras/keymap_korean.h
+++ b/quantum/keymap_extras/keymap_korean.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ₩ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
33 * │ │ │ │Hnj│ │H↔Y│ │ │ │ │
34 * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
35 */
36// Row 1
37#define KR_GRV KC_GRV // ` 31#define KR_GRV KC_GRV // `
38#define KR_1 KC_1 // 1 32#define KR_1 KC_1 // 1
39#define KR_2 KC_2 // 2 33#define KR_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define KR_0 KC_0 // 0 41#define KR_0 KC_0 // 0
48#define KR_MINS KC_MINS // - 42#define KR_MINS KC_MINS // -
49#define KR_EQL KC_EQL // = 43#define KR_EQL KC_EQL // =
50// Row 2
51#define KR_Q KC_Q // Q 44#define KR_Q KC_Q // Q
52#define KR_W KC_W // W 45#define KR_W KC_W // W
53#define KR_E KC_E // E 46#define KR_E KC_E // E
@@ -61,7 +54,6 @@
61#define KR_LBRC KC_LBRC // [ 54#define KR_LBRC KC_LBRC // [
62#define KR_RBRC KC_RBRC // ] 55#define KR_RBRC KC_RBRC // ]
63#define KR_WON KC_BSLS // ₩ 56#define KR_WON KC_BSLS // ₩
64// Row 3
65#define KR_A KC_A // A 57#define KR_A KC_A // A
66#define KR_S KC_S // S 58#define KR_S KC_S // S
67#define KR_D KC_D // D 59#define KR_D KC_D // D
@@ -73,7 +65,6 @@
73#define KR_L KC_L // L 65#define KR_L KC_L // L
74#define KR_SCLN KC_SCLN // ; 66#define KR_SCLN KC_SCLN // ;
75#define KR_QUOT KC_QUOT // ' 67#define KR_QUOT KC_QUOT // '
76// Row 4
77#define KR_Z KC_Z // Z 68#define KR_Z KC_Z // Z
78#define KR_X KC_X // X 69#define KR_X KC_X // X
79#define KR_C KC_C // C 70#define KR_C KC_C // C
@@ -84,24 +75,8 @@
84#define KR_COMM KC_COMM // , 75#define KR_COMM KC_COMM // ,
85#define KR_DOT KC_DOT // . 76#define KR_DOT KC_DOT // .
86#define KR_SLSH KC_SLSH // / 77#define KR_SLSH KC_SLSH // /
87// Row 5
88#define KR_HANJ KC_LNG2 // Hanja (한자) 78#define KR_HANJ KC_LNG2 // Hanja (한자)
89#define KR_HAEN KC_LNG1 // Han ↔ Yeong (한 ↔ 영) 79#define KR_HAEN KC_LNG1 // Han ↔ Yeong (한 ↔ 영)
90
91/* Shifted symbols
92 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
93 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
94 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
95 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
96 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
97 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
98 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
99 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
100 * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
101 * │ │ │ │ │ │ │ │ │ │ │
102 * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
103 */
104// Row 1
105#define KR_TILD S(KR_GRV) // ~ 80#define KR_TILD S(KR_GRV) // ~
106#define KR_EXLM S(KR_1) // ! 81#define KR_EXLM S(KR_1) // !
107#define KR_AT S(KR_2) // @ 82#define KR_AT S(KR_2) // @
@@ -115,14 +90,11 @@
115#define KR_RPRN S(KR_0) // ) 90#define KR_RPRN S(KR_0) // )
116#define KR_UNDS S(KR_MINS) // _ 91#define KR_UNDS S(KR_MINS) // _
117#define KR_PLUS S(KR_EQL) // + 92#define KR_PLUS S(KR_EQL) // +
118// Row 2
119#define KR_LCBR S(KR_LBRC) // { 93#define KR_LCBR S(KR_LBRC) // {
120#define KR_RCBR S(KR_RBRC) // } 94#define KR_RCBR S(KR_RBRC) // }
121#define KR_PIPE S(KR_WON) // | 95#define KR_PIPE S(KR_WON) // |
122// Row 3
123#define KR_COLN S(KR_SCLN) // : 96#define KR_COLN S(KR_SCLN) // :
124#define KR_DQUO S(KR_QUOT) // " 97#define KR_DQUO S(KR_QUOT) // "
125// Row 4
126#define KR_LABK S(KR_COMM) // < 98#define KR_LABK S(KR_COMM) // <
127#define KR_RABK S(KR_DOT) // > 99#define KR_RABK S(KR_DOT) // >
128#define KR_QUES S(KR_SLSH) // ? 100#define KR_QUES S(KR_SLSH) // ?
diff --git a/quantum/keymap_extras/keymap_latvian.h b/quantum/keymap_extras/keymap_latvian.h
index 087138cb72..d2cbda1471 100644
--- a/quantum/keymap_extras/keymap_latvian.h
+++ b/quantum/keymap_extras/keymap_latvian.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define LV_GRV KC_GRV // ` 31#define LV_GRV KC_GRV // `
38#define LV_1 KC_1 // 1 32#define LV_1 KC_1 // 1
39#define LV_2 KC_2 // 2 33#define LV_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define LV_0 KC_0 // 0 41#define LV_0 KC_0 // 0
48#define LV_MINS KC_MINS // - 42#define LV_MINS KC_MINS // -
49#define LV_EQL KC_EQL // = 43#define LV_EQL KC_EQL // =
50// Row 2
51#define LV_Q KC_Q // Q 44#define LV_Q KC_Q // Q
52#define LV_W KC_W // W 45#define LV_W KC_W // W
53#define LV_E KC_E // E 46#define LV_E KC_E // E
@@ -60,7 +53,6 @@
60#define LV_P KC_P // P 53#define LV_P KC_P // P
61#define LV_LBRC KC_LBRC // [ 54#define LV_LBRC KC_LBRC // [
62#define LV_RBRC KC_RBRC // ] 55#define LV_RBRC KC_RBRC // ]
63// Row 3
64#define LV_A KC_A // A 56#define LV_A KC_A // A
65#define LV_S KC_S // S 57#define LV_S KC_S // S
66#define LV_D KC_D // D 58#define LV_D KC_D // D
@@ -73,7 +65,6 @@
73#define LV_SCLN KC_SCLN // ; 65#define LV_SCLN KC_SCLN // ;
74#define LV_QUOT KC_QUOT // ' (dead) 66#define LV_QUOT KC_QUOT // ' (dead)
75#define LV_BSLS KC_NUHS // (backslash) 67#define LV_BSLS KC_NUHS // (backslash)
76// Row 4
77#define LV_NUBS KC_NUBS // (backslash) 68#define LV_NUBS KC_NUBS // (backslash)
78#define LV_Z KC_Z // Z 69#define LV_Z KC_Z // Z
79#define LV_X KC_X // X 70#define LV_X KC_X // X
@@ -85,21 +76,6 @@
85#define LV_COMM KC_COMM // , 76#define LV_COMM KC_COMM // ,
86#define LV_DOT KC_DOT // . 77#define LV_DOT KC_DOT // .
87#define LV_SLSH KC_SLSH // / 78#define LV_SLSH KC_SLSH // /
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define LV_TILD S(LV_GRV) // ~ 79#define LV_TILD S(LV_GRV) // ~
104#define LV_EXLM S(LV_1) // ! 80#define LV_EXLM S(LV_1) // !
105#define LV_AT S(LV_2) // @ 81#define LV_AT S(LV_2) // @
@@ -113,75 +89,38 @@
113#define LV_RPRN S(LV_0) // ) 89#define LV_RPRN S(LV_0) // )
114#define LV_UNDS S(LV_MINS) // _ 90#define LV_UNDS S(LV_MINS) // _
115#define LV_PLUS S(LV_EQL) // + 91#define LV_PLUS S(LV_EQL) // +
116// Row 2
117#define LV_LCBR S(LV_LBRC) // { 92#define LV_LCBR S(LV_LBRC) // {
118#define LV_RCBR S(LV_RBRC) // } 93#define LV_RCBR S(LV_RBRC) // }
119// Row 3
120#define LV_COLN S(LV_SCLN) // : 94#define LV_COLN S(LV_SCLN) // :
121#define LV_DQUO S(LV_QUOT) // " (dead) 95#define LV_DQUO S(LV_QUOT) // " (dead)
122#define LV_PIPE S(LV_BSLS) // | 96#define LV_PIPE S(LV_BSLS) // |
123// Row 4
124#define LV_LABK S(LV_COMM) // < 97#define LV_LABK S(LV_COMM) // <
125#define LV_RABK S(LV_DOT) // > 98#define LV_RABK S(LV_DOT) // >
126#define LV_QUES S(LV_SLSH) // ? 99#define LV_QUES S(LV_SLSH) // ?
127
128/* AltGr symbols
129 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
130 * │ - │ │ « │ » │ € │ │ ’ │ │ │ │ │ – │ │ │
131 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
132 * │ │ │ │ Ē │ Ŗ │ │ │ Ū │ Ī │ Ō │ │ │ │ │
133 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
134 * │ │ Ā │ Š │ │ │ Ģ │ │ │ Ķ │ Ļ │ │ ´ │ │ │
135 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
136 * │ │ │ Ž │ │ Č │ │ │ Ņ │ │ │ │ │ │
137 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
138 * │ │ │ │ │ │ │ │ │
139 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
140 */
141// Row 1
142#define LV_SHYP ALGR(LV_GRV) // ­ (soft hyphen) 100#define LV_SHYP ALGR(LV_GRV) // ­ (soft hyphen)
143#define LV_NBSP ALGR(LV_1) //   (non-breaking space) 101#define LV_NBSP ALGR(LV_1) // (non-breaking space)
144#define LV_LDAQ ALGR(LV_2) // « 102#define LV_LDAQ ALGR(LV_2) // «
145#define LV_RDAQ ALGR(LV_3) // » 103#define LV_RDAQ ALGR(LV_3) // »
146#define LV_EURO ALGR(LV_4) // € 104#define LV_EURO ALGR(LV_4) // €
147#define LV_RSQU ALGR(LV_6) // ’ 105#define LV_RSQU ALGR(LV_6) // ’
148#define LV_NDSH ALGR(LV_MINS) // – 106#define LV_NDSH ALGR(LV_MINS) // –
149// Row 2
150#define LV_EMAC ALGR(LV_E) // Ē 107#define LV_EMAC ALGR(LV_E) // Ē
151#define LV_RCED ALGR(LV_R) // Ŗ 108#define LV_RCED ALGR(LV_R) // Ŗ
152#define LV_UMAC ALGR(LV_U) // Ū 109#define LV_UMAC ALGR(LV_U) // Ū
153#define LV_IMAC ALGR(LV_I) // Ī 110#define LV_IMAC ALGR(LV_I) // Ī
154#define LV_OMAC ALGR(LV_O) // Ō 111#define LV_OMAC ALGR(LV_O) // Ō
155// Row 3
156#define LV_AMAC ALGR(LV_A) // Ā 112#define LV_AMAC ALGR(LV_A) // Ā
157#define LV_SCAR ALGR(LV_S) // Š 113#define LV_SCAR ALGR(LV_S) // Š
158#define LV_GCED ALGR(LV_G) // Ģ 114#define LV_GCED ALGR(LV_G) // Ģ
159#define LV_KCED ALGR(LV_K) // Ķ 115#define LV_KCED ALGR(LV_K) // Ķ
160#define LV_LCED ALGR(LV_L) // Ļ 116#define LV_LCED ALGR(LV_L) // Ļ
161#define LV_ACUT ALGR(LV_QUOT) // ´ (dead) 117#define LV_ACUT ALGR(LV_QUOT) // ´ (dead)
162// Row 4
163#define LV_ZCAR ALGR(LV_Z) // Ž 118#define LV_ZCAR ALGR(LV_Z) // Ž
164#define LV_CCAR ALGR(LV_C) // Č 119#define LV_CCAR ALGR(LV_C) // Č
165#define LV_NCED ALGR(LV_N) // Ņ 120#define LV_NCED ALGR(LV_N) // Ņ
166
167/* Shift+AltGr symbols
168 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
169 * │ │ │ │ │ § │ ° │ │ ± │ × │ │ │ — │ │ │
170 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
171 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
172 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
173 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
174 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
175 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
176 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
177 * │ │ │ │ │ │ │ │ │
178 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
179 */
180// Row 1
181#define LV_SECT S(ALGR(LV_4)) // § 121#define LV_SECT S(ALGR(LV_4)) // §
182#define LV_DEG S(ALGR(LV_5)) // ° 122#define LV_DEG S(ALGR(LV_5)) // °
183#define LV_PLMN S(ALGR(LV_7)) // ± 123#define LV_PLMN S(ALGR(LV_7)) // ±
184#define LV_MUL S(ALGR(LV_8)) // × 124#define LV_MUL S(ALGR(LV_8)) // ×
185#define LV_MDSH S(ALGR(LV_MINS)) // — 125#define LV_MDSH S(ALGR(LV_MINS)) // —
186// Row 3
187#define LV_DIAE S(ALGR(LV_QUOT)) // ¨ (dead) 126#define LV_DIAE S(ALGR(LV_QUOT)) // ¨ (dead)
diff --git a/quantum/keymap_extras/keymap_lithuanian_azerty.h b/quantum/keymap_extras/keymap_lithuanian_azerty.h
index 6f47b16702..e6a6fa5c8d 100644
--- a/quantum/keymap_extras/keymap_lithuanian_azerty.h
+++ b/quantum/keymap_extras/keymap_lithuanian_azerty.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ ! │ - │ / │ ; │ : │ , │ . │ = │ ( │ ) │ ? │ X │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Ą │ Ž │ E │ R │ T │ Y │ U │ I │ O │ P │ Į │ W │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ Š │ G │ H │ J │ K │ L │ Ų │ Ė │ Q │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ Ū │ C │ V │ B │ N │ M │ Č │ F │ Ę │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define LT_GRV KC_GRV // ` 31#define LT_GRV KC_GRV // `
38#define LT_EXLM KC_1 // ! 32#define LT_EXLM KC_1 // !
39#define LT_MINS KC_2 // - 33#define LT_MINS KC_2 // -
@@ -47,7 +41,6 @@
47#define LT_RPRN KC_0 // ) 41#define LT_RPRN KC_0 // )
48#define LT_QUES KC_MINS // ? 42#define LT_QUES KC_MINS // ?
49#define LT_X KC_EQL // X 43#define LT_X KC_EQL // X
50// Row 2
51#define LT_AOGO KC_Q // Ą 44#define LT_AOGO KC_Q // Ą
52#define LT_ZCAR KC_W // Ž 45#define LT_ZCAR KC_W // Ž
53#define LT_E KC_E // E 46#define LT_E KC_E // E
@@ -60,7 +53,6 @@
60#define LT_P KC_P // P 53#define LT_P KC_P // P
61#define LT_IOGO KC_LBRC // Į 54#define LT_IOGO KC_LBRC // Į
62#define LT_W KC_RBRC // W 55#define LT_W KC_RBRC // W
63// Row 3
64#define LT_A KC_A // A 56#define LT_A KC_A // A
65#define LT_S KC_S // S 57#define LT_S KC_S // S
66#define LT_D KC_D // D 58#define LT_D KC_D // D
@@ -73,7 +65,6 @@
73#define LT_UOGO KC_SCLN // Ų 65#define LT_UOGO KC_SCLN // Ų
74#define LT_EDOT KC_QUOT // Ė 66#define LT_EDOT KC_QUOT // Ė
75#define LT_Q KC_NUHS // Q 67#define LT_Q KC_NUHS // Q
76// Row 4
77#define LT_LABK KC_NUBS // < 68#define LT_LABK KC_NUBS // <
78#define LT_Z KC_Z // Z 69#define LT_Z KC_Z // Z
79#define LT_UMAC KC_X // Ū 70#define LT_UMAC KC_X // Ū
@@ -85,21 +76,6 @@
85#define LT_CCAR KC_COMM // Č 76#define LT_CCAR KC_COMM // Č
86#define LT_F KC_DOT // F 77#define LT_F KC_DOT // F
87#define LT_EOGO KC_SLSH // Ę 78#define LT_EOGO KC_SLSH // Ę
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ │ │ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define LT_TILD S(LT_GRV) // ~ 79#define LT_TILD S(LT_GRV) // ~
104#define LT_1 S(LT_EXLM) // 1 80#define LT_1 S(LT_EXLM) // 1
105#define LT_2 S(LT_MINS) // 2 81#define LT_2 S(LT_MINS) // 2
@@ -112,23 +88,7 @@
112#define LT_9 S(LT_LPRN) // 9 88#define LT_9 S(LT_LPRN) // 9
113#define LT_0 S(LT_RPRN) // 0 89#define LT_0 S(LT_RPRN) // 0
114#define LT_PLUS S(LT_QUES) // + 90#define LT_PLUS S(LT_QUES) // +
115// Row 4
116#define LT_RABK S(LT_LABK) // > 91#define LT_RABK S(LT_LABK) // >
117
118/* AltGr symbols
119 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
120 * │ ´ │ @ │ _ │ # │ $ │ § │ ^ │ & │ * │ [ │ ] │ ' │ % │ │
121 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
122 * │ │ │ │ € │ │ │ │ │ │ │ │ { │ } │ │
123 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
124 * │ │ │ │ │ │ │ │ │ │ │ │ " │ | │ │
125 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
126 * │ │ – │ │ │ │ │ │ │ │ „ │ “ │ \ │ │
127 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
128 * │ │ │ │ │ │ │ │ │
129 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
130 */
131// Row 1
132#define LT_ACUT ALGR(LT_GRV) // ´ 92#define LT_ACUT ALGR(LT_GRV) // ´
133#define LT_AT ALGR(LT_EXLM) // @ 93#define LT_AT ALGR(LT_EXLM) // @
134#define LT_UNDS ALGR(LT_MINS) // _ 94#define LT_UNDS ALGR(LT_MINS) // _
@@ -142,14 +102,11 @@
142#define LT_RBRC ALGR(LT_RPRN) // ] 102#define LT_RBRC ALGR(LT_RPRN) // ]
143#define LT_QUOT ALGR(LT_QUES) // ' 103#define LT_QUOT ALGR(LT_QUES) // '
144#define LT_PERC ALGR(LT_X) // % 104#define LT_PERC ALGR(LT_X) // %
145// Row 2
146#define LT_EURO ALGR(LT_E) // € 105#define LT_EURO ALGR(LT_E) // €
147#define LT_LCBR ALGR(LT_IOGO) // { 106#define LT_LCBR ALGR(LT_IOGO) // {
148#define LT_RCBR ALGR(LT_W) // } 107#define LT_RCBR ALGR(LT_W) // }
149// Row 3
150#define LT_DQUO ALGR(LT_EDOT) // " 108#define LT_DQUO ALGR(LT_EDOT) // "
151#define LT_PIPE ALGR(LT_Q) // | 109#define LT_PIPE ALGR(LT_Q) // |
152// Row 4
153#define LT_NDSH ALGR(LT_LABK) // – 110#define LT_NDSH ALGR(LT_LABK) // –
154#define LT_DLQU ALGR(LT_CCAR) // „ 111#define LT_DLQU ALGR(LT_CCAR) // „
155#define LT_LDQU ALGR(LT_F) // “ 112#define LT_LDQU ALGR(LT_F) // “
diff --git a/quantum/keymap_extras/keymap_lithuanian_qwerty.h b/quantum/keymap_extras/keymap_lithuanian_qwerty.h
index afca2dc750..97687daceb 100644
--- a/quantum/keymap_extras/keymap_lithuanian_qwerty.h
+++ b/quantum/keymap_extras/keymap_lithuanian_qwerty.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ Ą │ Č │ Ę │ Ė │ Į │ Š │ Ų │ Ū │ 9 │ 0 │ - │ Ž │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define LT_GRV KC_GRV // ` 31#define LT_GRV KC_GRV // `
38#define LT_AOGO KC_1 // Ą 32#define LT_AOGO KC_1 // Ą
39#define LT_CCAR KC_2 // Č 33#define LT_CCAR KC_2 // Č
@@ -47,7 +41,6 @@
47#define LT_0 KC_0 // 0 41#define LT_0 KC_0 // 0
48#define LT_MINS KC_MINS // - 42#define LT_MINS KC_MINS // -
49#define LT_ZCAR KC_EQL // Ž 43#define LT_ZCAR KC_EQL // Ž
50// Row 2
51#define LT_Q KC_Q // Q 44#define LT_Q KC_Q // Q
52#define LT_W KC_W // W 45#define LT_W KC_W // W
53#define LT_E KC_E // E 46#define LT_E KC_E // E
@@ -60,7 +53,6 @@
60#define LT_P KC_P // P 53#define LT_P KC_P // P
61#define LT_LBRC KC_LBRC // [ 54#define LT_LBRC KC_LBRC // [
62#define LT_RBRC KC_RBRC // ] 55#define LT_RBRC KC_RBRC // ]
63// Row 3
64#define LT_A KC_A // A 56#define LT_A KC_A // A
65#define LT_S KC_S // S 57#define LT_S KC_S // S
66#define LT_D KC_D // D 58#define LT_D KC_D // D
@@ -73,7 +65,6 @@
73#define LT_SCLN KC_SCLN // ; 65#define LT_SCLN KC_SCLN // ;
74#define LT_QUOT KC_QUOT // ' 66#define LT_QUOT KC_QUOT // '
75#define LT_BSLS KC_BSLS // (backslash) 67#define LT_BSLS KC_BSLS // (backslash)
76// Row 4
77#define LT_Z KC_Z // Z 68#define LT_Z KC_Z // Z
78#define LT_X KC_X // X 69#define LT_X KC_X // X
79#define LT_C KC_C // C 70#define LT_C KC_C // C
@@ -84,51 +75,18 @@
84#define LT_COMM KC_COMM // , 75#define LT_COMM KC_COMM // ,
85#define LT_DOT KC_DOT // . 76#define LT_DOT KC_DOT // .
86#define LT_SLSH KC_SLSH // / 77#define LT_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ │ │ │ │ │ │ │ │ ( │ ) │ _ │ │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define LT_TILD S(LT_GRV) // ~ 78#define LT_TILD S(LT_GRV) // ~
103#define LT_LPRN S(LT_9) // ( 79#define LT_LPRN S(LT_9) // (
104#define LT_RPRN S(LT_0) // ) 80#define LT_RPRN S(LT_0) // )
105#define LT_UNDS S(LT_MINS) // _ 81#define LT_UNDS S(LT_MINS) // _
106// Row 2
107#define LT_LCBR S(LT_LBRC) // { 82#define LT_LCBR S(LT_LBRC) // {
108#define LT_RCBR S(LT_RBRC) // } 83#define LT_RCBR S(LT_RBRC) // }
109// Row 3
110#define LT_COLN S(LT_SCLN) // : 84#define LT_COLN S(LT_SCLN) // :
111#define LT_DQUO S(LT_QUOT) // " 85#define LT_DQUO S(LT_QUOT) // "
112#define LT_PIPE S(LT_BSLS) // | 86#define LT_PIPE S(LT_BSLS) // |
113// Row 4
114#define LT_LABK S(LT_COMM) // < 87#define LT_LABK S(LT_COMM) // <
115#define LT_RABK S(LT_DOT) // > 88#define LT_RABK S(LT_DOT) // >
116#define LT_QUES S(LT_SLSH) // ? 89#define LT_QUES S(LT_SLSH) // ?
117
118/* AltGr symbols
119 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
120 * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ │ │ │ = │ │
121 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
122 * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
123 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
124 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
125 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
126 * │ │ │ │ │ │ │ │ │ │ │ │ │
127 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
128 * │ │ │ │ │ │ │ │ │
129 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
130 */
131// Row 1
132#define LT_1 ALGR(LT_AOGO) // 1 90#define LT_1 ALGR(LT_AOGO) // 1
133#define LT_2 ALGR(LT_CCAR) // 2 91#define LT_2 ALGR(LT_CCAR) // 2
134#define LT_3 ALGR(LT_EOGO) // 3 92#define LT_3 ALGR(LT_EOGO) // 3
@@ -138,23 +96,7 @@
138#define LT_7 ALGR(LT_UOGO) // 7 96#define LT_7 ALGR(LT_UOGO) // 7
139#define LT_8 ALGR(LT_UMAC) // 8 97#define LT_8 ALGR(LT_UMAC) // 8
140#define LT_EQL ALGR(LT_ZCAR) // = 98#define LT_EQL ALGR(LT_ZCAR) // =
141// Row 2
142#define LT_EURO ALGR(LT_E) // € 99#define LT_EURO ALGR(LT_E) // €
143
144/* Shift+AltGr symbols
145 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
146 * │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ │ │ │ + │ │
147 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
148 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
149 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
150 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
151 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
152 * │ │ │ │ │ │ │ │ │ │ │ │ │
153 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
154 * │ │ │ │ │ │ │ │ │
155 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
156 */
157// Row 1
158#define LT_EXLM S(ALGR(LT_AOGO)) // ! 100#define LT_EXLM S(ALGR(LT_AOGO)) // !
159#define LT_AT S(ALGR(LT_CCAR)) // @ 101#define LT_AT S(ALGR(LT_CCAR)) // @
160#define LT_HASH S(ALGR(LT_EOGO)) // # 102#define LT_HASH S(ALGR(LT_EOGO)) // #
diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h
index f9fc00d794..8b4b81bd7b 100644
--- a/quantum/keymap_extras/keymap_neo2.h
+++ b/quantum/keymap_extras/keymap_neo2.h
@@ -1,39 +1,33 @@
1/* Copyright 2016 Matthias Schmitt 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ` │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ X │ V │ L │ C │ W │ K │ H │ G │ F │ Q │ ß │ ´ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ L3 │ U │ I │ A │ E │ O │ S │ N │ R │ T │ D │ Y │ L3│ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │L4 │ Ü │ Ö │ Ä │ P │ Z │ B │ M │ , │ . │ J │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ L4 │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define NE_CIRC KC_GRV // ^ (dead) 31#define NE_CIRC KC_GRV // ^ (dead)
38#define NE_1 KC_1 // 1 32#define NE_1 KC_1 // 1
39#define NE_2 KC_2 // 2 33#define NE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define NE_0 KC_0 // 0 41#define NE_0 KC_0 // 0
48#define NE_MINS KC_MINS // - 42#define NE_MINS KC_MINS // -
49#define NE_GRV KC_EQL // ` (dead) 43#define NE_GRV KC_EQL // ` (dead)
50// Row 2
51#define NE_X KC_Q // X 44#define NE_X KC_Q // X
52#define NE_V KC_W // V 45#define NE_V KC_W // V
53#define NE_L KC_E // L 46#define NE_L KC_E // L
@@ -60,7 +53,6 @@
60#define NE_Q KC_P // Q 53#define NE_Q KC_P // Q
61#define NE_SS KC_LBRC // ß 54#define NE_SS KC_LBRC // ß
62#define NE_ACUT KC_RBRC // ´ (dead) 55#define NE_ACUT KC_RBRC // ´ (dead)
63// Row 3
64#define NE_L3L KC_CAPS // (layer 3) 56#define NE_L3L KC_CAPS // (layer 3)
65#define NE_U KC_A // U 57#define NE_U KC_A // U
66#define NE_I KC_S // I 58#define NE_I KC_S // I
@@ -74,7 +66,6 @@
74#define NE_D KC_SCLN // D 66#define NE_D KC_SCLN // D
75#define NE_Y KC_QUOT // Y 67#define NE_Y KC_QUOT // Y
76#define NE_L3R KC_NUHS // (layer 3) 68#define NE_L3R KC_NUHS // (layer 3)
77// Row 4
78#define NE_L4L KC_NUBS // (layer 4) 69#define NE_L4L KC_NUBS // (layer 4)
79#define NE_UDIA KC_Z // Ü 70#define NE_UDIA KC_Z // Ü
80#define NE_ODIA KC_X // Ö 71#define NE_ODIA KC_X // Ö
@@ -86,5 +77,4 @@
86#define NE_COMM KC_COMM // , 77#define NE_COMM KC_COMM // ,
87#define NE_DOT KC_DOT // . 78#define NE_DOT KC_DOT // .
88#define NE_J KC_SLSH // J 79#define NE_J KC_SLSH // J
89// Row 5
90#define NE_L4R KC_ALGR // (layer 4) 80#define NE_L4R KC_ALGR // (layer 4)
diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h
index 55a58a25b0..36f1cc4c2f 100644
--- a/quantum/keymap_extras/keymap_nordic.h
+++ b/quantum/keymap_extras/keymap_nordic.h
@@ -1,38 +1,43 @@
1/* Copyright 2015-2016 Jack Humbert 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
28// clang-format off
20 29
21// Normal characters 30// Aliases
22#define NO_HALF KC_GRV 31#define NO_HALF KC_GRV
23#define NO_PLUS KC_MINS 32#define NO_PLUS KC_MINS
24#define NO_ACUT KC_EQL 33#define NO_ACUT KC_EQL
25 34#define NO_AM KC_LBRC
26#define NO_AM KC_LBRC
27#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout 35#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
28#define NO_AE KC_SCLN 36#define NO_AE KC_SCLN
29#define NO_OSLH KC_QUOT 37#define NO_OSLH KC_QUOT
30#define NO_APOS KC_NUHS 38#define NO_APOS KC_NUHS
31
32#define NO_LESS KC_NUBS 39#define NO_LESS KC_NUBS
33#define NO_MINS KC_SLSH 40#define NO_MINS KC_SLSH
34
35// Shifted characters
36#define NO_SECT LSFT(NO_HALF) 41#define NO_SECT LSFT(NO_HALF)
37#define NO_QUO2 LSFT(KC_2) 42#define NO_QUO2 LSFT(KC_2)
38#define NO_BULT LSFT(KC_4) 43#define NO_BULT LSFT(KC_4)
@@ -40,29 +45,23 @@
40#define NO_SLSH LSFT(KC_7) 45#define NO_SLSH LSFT(KC_7)
41#define NO_LPRN LSFT(KC_8) 46#define NO_LPRN LSFT(KC_8)
42#define NO_RPRN LSFT(KC_9) 47#define NO_RPRN LSFT(KC_9)
43#define NO_EQL LSFT(KC_0) 48#define NO_EQL LSFT(KC_0)
44#define NO_QUES LSFT(NO_PLUS) 49#define NO_QUES LSFT(NO_PLUS)
45#define NO_GRV LSFT(NO_ACUT) 50#define NO_GRV LSFT(NO_ACUT)
46
47#define NO_CIRC LSFT(NO_QUOT) 51#define NO_CIRC LSFT(NO_QUOT)
48
49#define NO_GRTR LSFT(NO_LESS) 52#define NO_GRTR LSFT(NO_LESS)
50#define NO_SCLN LSFT(KC_COMM) 53#define NO_SCLN LSFT(KC_COMM)
51#define NO_COLN LSFT(KC_DOT) 54#define NO_COLN LSFT(KC_DOT)
52#define NO_UNDS LSFT(NO_MINS) 55#define NO_UNDS LSFT(NO_MINS)
53 56#define NO_AT ALGR(KC_2)
54// Alt Gr-ed characters 57#define NO_PND ALGR(KC_3)
55#define NO_AT ALGR(KC_2) 58#define NO_DLR ALGR(KC_4)
56#define NO_PND ALGR(KC_3) 59#define NO_LCBR ALGR(KC_7)
57#define NO_DLR ALGR(KC_4) 60#define NO_LBRC ALGR(KC_8)
58#define NO_LCBR ALGR(KC_7) 61#define NO_RBRC ALGR(KC_9)
59#define NO_LBRC ALGR(KC_8) 62#define NO_RCBR ALGR(KC_0)
60#define NO_RBRC ALGR(KC_9)
61#define NO_RCBR ALGR(KC_0)
62#define NO_PIPE ALGR(KC_NUBS) 63#define NO_PIPE ALGR(KC_NUBS)
63 64#define NO_EURO ALGR(KC_E)
64#define NO_EURO ALGR(KC_E)
65#define NO_TILD ALGR(NO_QUOT) 65#define NO_TILD ALGR(NO_QUOT)
66
67#define NO_BSLS ALGR(KC_MINS) 66#define NO_BSLS ALGR(KC_MINS)
68#define NO_MU ALGR(KC_M) 67#define NO_MU ALGR(KC_M)
diff --git a/quantum/keymap_extras/keymap_norman.h b/quantum/keymap_extras/keymap_norman.h
index 9f20f66873..6096ac6bff 100644
--- a/quantum/keymap_extras/keymap_norman.h
+++ b/quantum/keymap_extras/keymap_norman.h
@@ -1,39 +1,33 @@
1/* Copyright 2019 Torben Hoffmann 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ D │ F │ K │ J │ U │ R │ L │ ; │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ E │ T │ G │ Y │ N │ I │ O │ H │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ P │ M │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define NM_GRV KC_GRV // ` 31#define NM_GRV KC_GRV // `
38#define NM_1 KC_1 // 1 32#define NM_1 KC_1 // 1
39#define NM_2 KC_2 // 2 33#define NM_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define NM_0 KC_0 // 0 41#define NM_0 KC_0 // 0
48#define NM_MINS KC_MINS // - 42#define NM_MINS KC_MINS // -
49#define NM_EQL KC_EQL // = 43#define NM_EQL KC_EQL // =
50// Row 2
51#define NM_Q KC_Q // Q 44#define NM_Q KC_Q // Q
52#define NM_W KC_W // W 45#define NM_W KC_W // W
53#define NM_D KC_E // D 46#define NM_D KC_E // D
@@ -61,7 +54,6 @@
61#define NM_LBRC KC_LBRC // [ 54#define NM_LBRC KC_LBRC // [
62#define NM_RBRC KC_RBRC // ] 55#define NM_RBRC KC_RBRC // ]
63#define NM_BSLS KC_BSLS // (backslash) 56#define NM_BSLS KC_BSLS // (backslash)
64// Row 3
65#define NM_A KC_A // A 57#define NM_A KC_A // A
66#define NM_S KC_S // S 58#define NM_S KC_S // S
67#define NM_E KC_D // E 59#define NM_E KC_D // E
@@ -73,7 +65,6 @@
73#define NM_O KC_L // O 65#define NM_O KC_L // O
74#define NM_H KC_SCLN // H 66#define NM_H KC_SCLN // H
75#define NM_QUOT KC_QUOT // ' 67#define NM_QUOT KC_QUOT // '
76// Row 4
77#define NM_Z KC_Z // Z 68#define NM_Z KC_Z // Z
78#define NM_X KC_X // X 69#define NM_X KC_X // X
79#define NM_C KC_C // C 70#define NM_C KC_C // C
@@ -84,21 +75,6 @@
84#define NM_COMM KC_COMM // , 75#define NM_COMM KC_COMM // ,
85#define NM_DOT KC_DOT // . 76#define NM_DOT KC_DOT // .
86#define NM_SLSH KC_SLSH // / 77#define NM_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define NM_TILD S(NM_GRV) // ~ 78#define NM_TILD S(NM_GRV) // ~
103#define NM_EXLM S(NM_1) // ! 79#define NM_EXLM S(NM_1) // !
104#define NM_AT S(NM_2) // @ 80#define NM_AT S(NM_2) // @
@@ -112,14 +88,11 @@
112#define NM_RPRN S(NM_0) // ) 88#define NM_RPRN S(NM_0) // )
113#define NM_UNDS S(NM_MINS) // _ 89#define NM_UNDS S(NM_MINS) // _
114#define NM_PLUS S(NM_EQL) // + 90#define NM_PLUS S(NM_EQL) // +
115// Row 2
116#define NM_COLN S(NM_SCLN) // : 91#define NM_COLN S(NM_SCLN) // :
117#define NM_LCBR S(NM_LBRC) // { 92#define NM_LCBR S(NM_LBRC) // {
118#define NM_RCBR S(NM_RBRC) // } 93#define NM_RCBR S(NM_RBRC) // }
119#define NM_PIPE S(NM_BSLS) // | 94#define NM_PIPE S(NM_BSLS) // |
120// Row 3
121#define NM_DQUO S(NM_QUOT) // " 95#define NM_DQUO S(NM_QUOT) // "
122// Row 4
123#define NM_LABK S(NM_COMM) // < 96#define NM_LABK S(NM_COMM) // <
124#define NM_RABK S(NM_DOT) // > 97#define NM_RABK S(NM_DOT) // >
125#define NM_QUES S(NM_SLSH) // ? 98#define NM_QUES S(NM_SLSH) // ?
diff --git a/quantum/keymap_extras/keymap_norwegian.h b/quantum/keymap_extras/keymap_norwegian.h
index b2499f4fda..45b0c1c56e 100644
--- a/quantum/keymap_extras/keymap_norwegian.h
+++ b/quantum/keymap_extras/keymap_norwegian.h
@@ -1,39 +1,33 @@
1/* Copyright 2016 Jack Humbert 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ \ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ø │ Æ │ ' │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define NO_PIPE KC_GRV // | 31#define NO_PIPE KC_GRV // |
38#define NO_1 KC_1 // 1 32#define NO_1 KC_1 // 1
39#define NO_2 KC_2 // 2 33#define NO_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define NO_0 KC_0 // 0 41#define NO_0 KC_0 // 0
48#define NO_PLUS KC_MINS // + 42#define NO_PLUS KC_MINS // +
49#define NO_BSLS KC_EQL // (backslash) 43#define NO_BSLS KC_EQL // (backslash)
50// Row 2
51#define NO_Q KC_Q // Q 44#define NO_Q KC_Q // Q
52#define NO_W KC_W // W 45#define NO_W KC_W // W
53#define NO_E KC_E // E 46#define NO_E KC_E // E
@@ -60,7 +53,6 @@
60#define NO_P KC_P // P 53#define NO_P KC_P // P
61#define NO_ARNG KC_LBRC // Å 54#define NO_ARNG KC_LBRC // Å
62#define NO_DIAE KC_RBRC // ¨ (dead) 55#define NO_DIAE KC_RBRC // ¨ (dead)
63// Row 3
64#define NO_A KC_A // A 56#define NO_A KC_A // A
65#define NO_S KC_S // S 57#define NO_S KC_S // S
66#define NO_D KC_D // D 58#define NO_D KC_D // D
@@ -73,7 +65,6 @@
73#define NO_OSTR KC_SCLN // Ø 65#define NO_OSTR KC_SCLN // Ø
74#define NO_AE KC_QUOT // Æ 66#define NO_AE KC_QUOT // Æ
75#define NO_QUOT KC_NUHS // ' 67#define NO_QUOT KC_NUHS // '
76// Row 4
77#define NO_LABK KC_NUBS // < 68#define NO_LABK KC_NUBS // <
78#define NO_Z KC_Z // Z 69#define NO_Z KC_Z // Z
79#define NO_X KC_X // X 70#define NO_X KC_X // X
@@ -85,21 +76,6 @@
85#define NO_COMM KC_COMM // , 76#define NO_COMM KC_COMM // ,
86#define NO_DOT KC_DOT // . 77#define NO_DOT KC_DOT // .
87#define NO_MINS KC_SLSH // - 78#define NO_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define NO_SECT S(NO_PIPE) // § 79#define NO_SECT S(NO_PIPE) // §
104#define NO_EXLM S(NO_1) // ! 80#define NO_EXLM S(NO_1) // !
105#define NO_DQUO S(NO_2) // " 81#define NO_DQUO S(NO_2) // "
@@ -113,30 +89,12 @@
113#define NO_EQL S(NO_0) // = 89#define NO_EQL S(NO_0) // =
114#define NO_QUES S(NO_PLUS) // ? 90#define NO_QUES S(NO_PLUS) // ?
115#define NO_GRV S(NO_BSLS) // ` (dead) 91#define NO_GRV S(NO_BSLS) // ` (dead)
116// Row 2
117#define NO_CIRC S(NO_DIAE) // ^ (dead) 92#define NO_CIRC S(NO_DIAE) // ^ (dead)
118// Row 3
119#define NO_ASTR S(NO_QUOT) // * 93#define NO_ASTR S(NO_QUOT) // *
120// Row 4
121#define NO_RABK S(NO_LABK) // > 94#define NO_RABK S(NO_LABK) // >
122#define NO_SCLN S(NO_COMM) // ; 95#define NO_SCLN S(NO_COMM) // ;
123#define NO_COLN S(NO_DOT) // : 96#define NO_COLN S(NO_DOT) // :
124#define NO_UNDS S(NO_MINS) // _ 97#define NO_UNDS S(NO_MINS) // _
125
126/* AltGr symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
128 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ ´ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
130 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
134 * │ │ │ │ │ │ │ │ │ µ │ │ │ │ │
135 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
136 * │ │ │ │ │ │ │ │ │
137 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
138 */
139// Row 1
140#define NO_AT ALGR(NO_2) // @ 98#define NO_AT ALGR(NO_2) // @
141#define NO_PND ALGR(NO_3) // £ 99#define NO_PND ALGR(NO_3) // £
142#define NO_DLR ALGR(NO_4) // $ 100#define NO_DLR ALGR(NO_4) // $
@@ -146,7 +104,5 @@
146#define NO_RBRC ALGR(NO_9) // ] 104#define NO_RBRC ALGR(NO_9) // ]
147#define NO_RCBR ALGR(NO_0) // } 105#define NO_RCBR ALGR(NO_0) // }
148#define NO_ACUT ALGR(NO_BSLS) // ´ (dead) 106#define NO_ACUT ALGR(NO_BSLS) // ´ (dead)
149// Row 2
150#define NO_TILD ALGR(NO_DIAE) // ~ (dead) 107#define NO_TILD ALGR(NO_DIAE) // ~ (dead)
151// Row 4
152#define NO_MICR ALGR(NO_M) // µ 108#define NO_MICR ALGR(NO_M) // µ
diff --git a/quantum/keymap_extras/keymap_plover.h b/quantum/keymap_extras/keymap_plover.h
index cd07211bca..fbeee4fc49 100644
--- a/quantum/keymap_extras/keymap_plover.h
+++ b/quantum/keymap_extras/keymap_plover.h
@@ -1,65 +1,53 @@
1/* Copyright 2016 James Kay 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ 31#define PV_NUM KC_1
25 * │ │Num│ │ │ │ │ │ │ │ │ │ │ │ │ 32#define PV_LS KC_Q
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ 33#define PV_LT KC_W
27 * │ │ S │ T │ P │ H │ │ * │ F │ P │ L │ T │ D │ │ │ 34#define PV_LP KC_E
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ 35#define PV_LH KC_R
29 * │ │ │ K │ W │ R │ │ │ R │ B │ G │ S │ Z │ │ 36#define PV_STAR KC_Y
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ 37#define PV_RF KC_U
31 * │ │ │ │ A │ O │ │ E │ U │ │ │ │ │ 38#define PV_RP KC_I
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ 39#define PV_RL KC_O
33 * │ │ │ │ │ │ │ │ │ 40#define PV_RT KC_P
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define PV_NUM KC_1
38
39// Row 2
40#define PV_LS KC_Q
41#define PV_LT KC_W
42#define PV_LP KC_E
43#define PV_LH KC_R
44#define PV_STAR KC_Y
45#define PV_RF KC_U
46#define PV_RP KC_I
47#define PV_RL KC_O
48#define PV_RT KC_P
49#define PV_RD KC_LBRC 41#define PV_RD KC_LBRC
50 42#define PV_LK KC_S
51// Row 3 43#define PV_LW KC_D
52#define PV_LK KC_S 44#define PV_LR KC_F
53#define PV_LW KC_D 45#define PV_RR KC_J
54#define PV_LR KC_F 46#define PV_RB KC_K
55#define PV_RR KC_J 47#define PV_RG KC_L
56#define PV_RB KC_K
57#define PV_RG KC_L
58#define PV_RS KC_SCLN 48#define PV_RS KC_SCLN
59#define PV_RZ KC_QUOT 49#define PV_RZ KC_QUOT
60 50#define PV_A KC_C
61// Row 4 51#define PV_O KC_V
62#define PV_A KC_C 52#define PV_E KC_N
63#define PV_O KC_V 53#define PV_U KC_M
64#define PV_E KC_N
65#define PV_U KC_M
diff --git a/quantum/keymap_extras/keymap_plover_dvorak.h b/quantum/keymap_extras/keymap_plover_dvorak.h
index 445a123151..282ef9848b 100644
--- a/quantum/keymap_extras/keymap_plover_dvorak.h
+++ b/quantum/keymap_extras/keymap_plover_dvorak.h
@@ -1,45 +1,53 @@
1/* Copyright 2016 James Kay 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
18 5 88888888888 888 d8b .d888 d8b 888 d8b
19#include "keymap_dvorak.h" 6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
20 25
21#define PD_NUM DV_1 26#pragma once
22#define PD_LS DV_Q 27#include "keymap.h"
23#define PD_LT DV_W 28// clang-format off
24#define PD_LP DV_E
25#define PD_LH DV_R
26#define PD_LK DV_S
27#define PD_LW DV_D
28#define PD_LR DV_F
29
30#define PD_STAR DV_Y
31#define PD_RF DV_U
32#define PD_RP DV_I
33#define PD_RL DV_O
34#define PD_RT DV_P
35#define PD_RD DV_LBRC
36#define PD_RR DV_J
37#define PD_RB DV_K
38#define PD_RG DV_L
39#define PD_RS DV_SCLN
40#define PD_RZ DV_QUOT
41 29
42#define PD_A DV_C 30// Aliases
43#define PD_O DV_V 31#define PD_NUM DV_1
44#define PD_E DV_N 32#define PD_LS DV_Q
45#define PD_U DV_M 33#define PD_LT DV_W
34#define PD_LP DV_E
35#define PD_LH DV_R
36#define PD_LK DV_S
37#define PD_LW DV_D
38#define PD_LR DV_F
39#define PD_STAR DV_Y
40#define PD_RF DV_U
41#define PD_RP DV_I
42#define PD_RL DV_O
43#define PD_RT DV_P
44#define PD_RD DV_LBRC
45#define PD_RR DV_J
46#define PD_RB DV_K
47#define PD_RG DV_L
48#define PD_RS DV_SCLN
49#define PD_RZ DV_QUOT
50#define PD_A DV_C
51#define PD_O DV_V
52#define PD_E DV_N
53#define PD_U DV_M
diff --git a/quantum/keymap_extras/keymap_polish.h b/quantum/keymap_extras/keymap_polish.h
index e5a32f22db..84cb9cc1b3 100644
--- a/quantum/keymap_extras/keymap_polish.h
+++ b/quantum/keymap_extras/keymap_polish.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define PL_GRV KC_GRV // ` 31#define PL_GRV KC_GRV // `
38#define PL_1 KC_1 // 1 32#define PL_1 KC_1 // 1
39#define PL_2 KC_2 // 2 33#define PL_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define PL_0 KC_0 // 0 41#define PL_0 KC_0 // 0
48#define PL_MINS KC_MINS // - 42#define PL_MINS KC_MINS // -
49#define PL_EQL KC_EQL // = 43#define PL_EQL KC_EQL // =
50// Row 2
51#define PL_Q KC_Q // Q 44#define PL_Q KC_Q // Q
52#define PL_W KC_W // W 45#define PL_W KC_W // W
53#define PL_E KC_E // E 46#define PL_E KC_E // E
@@ -61,7 +54,6 @@
61#define PL_LBRC KC_LBRC // [ 54#define PL_LBRC KC_LBRC // [
62#define PL_RBRC KC_RBRC // ] 55#define PL_RBRC KC_RBRC // ]
63#define PL_BSLS KC_BSLS // (backslash) 56#define PL_BSLS KC_BSLS // (backslash)
64// Row 3
65#define PL_A KC_A // A 57#define PL_A KC_A // A
66#define PL_S KC_S // S 58#define PL_S KC_S // S
67#define PL_D KC_D // D 59#define PL_D KC_D // D
@@ -73,7 +65,6 @@
73#define PL_L KC_L // L 65#define PL_L KC_L // L
74#define PL_SCLN KC_SCLN // ; 66#define PL_SCLN KC_SCLN // ;
75#define PL_QUOT KC_QUOT // ' 67#define PL_QUOT KC_QUOT // '
76// Row 4
77#define PL_Z KC_Z // Z 68#define PL_Z KC_Z // Z
78#define PL_X KC_X // X 69#define PL_X KC_X // X
79#define PL_C KC_C // C 70#define PL_C KC_C // C
@@ -84,21 +75,6 @@
84#define PL_COMM KC_COMM // , 75#define PL_COMM KC_COMM // ,
85#define PL_DOT KC_DOT // . 76#define PL_DOT KC_DOT // .
86#define PL_SLSH KC_SLSH // / 77#define PL_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define PL_TILD S(PL_GRV) // ~ 78#define PL_TILD S(PL_GRV) // ~
103#define PL_EXLM S(PL_1) // ! 79#define PL_EXLM S(PL_1) // !
104#define PL_AT S(PL_2) // @ 80#define PL_AT S(PL_2) // @
@@ -112,41 +88,21 @@
112#define PL_RPRN S(PL_0) // ) 88#define PL_RPRN S(PL_0) // )
113#define PL_UNDS S(PL_MINS) // _ 89#define PL_UNDS S(PL_MINS) // _
114#define PL_PLUS S(PL_EQL) // + 90#define PL_PLUS S(PL_EQL) // +
115// Row 2
116#define PL_LCBR S(PL_LBRC) // { 91#define PL_LCBR S(PL_LBRC) // {
117#define PL_RCBR S(PL_RBRC) // } 92#define PL_RCBR S(PL_RBRC) // }
118#define PL_PIPE S(PL_BSLS) // | 93#define PL_PIPE S(PL_BSLS) // |
119// Row 3
120#define PL_COLN S(PL_SCLN) // : 94#define PL_COLN S(PL_SCLN) // :
121#define PL_DQUO S(PL_QUOT) // " 95#define PL_DQUO S(PL_QUOT) // "
122// Row 4
123#define PL_LABK S(PL_COMM) // < 96#define PL_LABK S(PL_COMM) // <
124#define PL_RABK S(PL_DOT) // > 97#define PL_RABK S(PL_DOT) // >
125#define PL_QUES S(PL_SLSH) // ? 98#define PL_QUES S(PL_SLSH) // ?
126 99#define PL_EOGO ALGR(PL_E) // Ę
127/* AltGr symbols 100#define PL_EURO ALGR(PL_U) // €
128 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ 101#define PL_OACU ALGR(PL_O) // Ó
129 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 102#define PL_AOGO ALGR(PL_A) // Ą
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ 103#define PL_SACU ALGR(PL_S) // Ś
131 * │ │ │ │ Ę │ │ │ │ € │ │ Ó │ │ │ │ │ 104#define PL_LSTR ALGR(PL_L) // Ł
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ 105#define PL_ZDOT ALGR(PL_Z) // Ż
133 * │ │ Ą │ Ś │ │ │ │ │ │ │ Ł │ │ │ │ 106#define PL_ZACU ALGR(PL_X) // Ź
134 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ 107#define PL_CACU ALGR(PL_C) // Ć
135 * │ │ Ż │ Ź │ Ć │ │ │ Ń │ │ │ │ │ │ 108#define PL_NACU ALGR(PL_N) // Ń
136 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
137 * │ │ │ │ │ │ │ │ │
138 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
139 */
140// Row 2
141#define PL_EOGO ALGR(PL_E) // Ę
142#define PL_EURO ALGR(PL_U) // €
143#define PL_OACU ALGR(PL_O) // Ó
144// Row 3
145#define PL_AOGO ALGR(PL_A) // Ą
146#define PL_SACU ALGR(PL_S) // Ś
147#define PL_LSTR ALGR(PL_L) // Ł
148// Row 4
149#define PL_ZDOT ALGR(PL_Z) // Ż
150#define PL_ZACU ALGR(PL_X) // Ź
151#define PL_CACU ALGR(PL_C) // Ć
152#define PL_NACU ALGR(PL_N) // Ń
diff --git a/quantum/keymap_extras/keymap_portuguese.h b/quantum/keymap_extras/keymap_portuguese.h
index 19d7dcd817..6e55838f8d 100644
--- a/quantum/keymap_extras/keymap_portuguese.h
+++ b/quantum/keymap_extras/keymap_portuguese.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ « │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ + │ ´ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ º │ ~ │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define PT_BSLS KC_GRV // (backslash) 31#define PT_BSLS KC_GRV // (backslash)
38#define PT_1 KC_1 // 1 32#define PT_1 KC_1 // 1
39#define PT_2 KC_2 // 2 33#define PT_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define PT_0 KC_0 // 0 41#define PT_0 KC_0 // 0
48#define PT_QUOT KC_MINS // ' 42#define PT_QUOT KC_MINS // '
49#define PT_LDAQ KC_EQL // « 43#define PT_LDAQ KC_EQL // «
50// Row 2
51#define PT_Q KC_Q // Q 44#define PT_Q KC_Q // Q
52#define PT_W KC_W // W 45#define PT_W KC_W // W
53#define PT_E KC_E // E 46#define PT_E KC_E // E
@@ -60,7 +53,6 @@
60#define PT_P KC_P // P 53#define PT_P KC_P // P
61#define PT_PLUS KC_LBRC // + 54#define PT_PLUS KC_LBRC // +
62#define PT_ACUT KC_RBRC // ´ (dead) 55#define PT_ACUT KC_RBRC // ´ (dead)
63// Row 3
64#define PT_A KC_A // A 56#define PT_A KC_A // A
65#define PT_S KC_S // S 57#define PT_S KC_S // S
66#define PT_D KC_D // D 58#define PT_D KC_D // D
@@ -73,7 +65,6 @@
73#define PT_CCED KC_SCLN // Ç 65#define PT_CCED KC_SCLN // Ç
74#define PT_MORD KC_QUOT // º 66#define PT_MORD KC_QUOT // º
75#define PT_TILD KC_NUHS // ~ (dead) 67#define PT_TILD KC_NUHS // ~ (dead)
76// Row 4
77#define PT_LABK KC_NUBS // < 68#define PT_LABK KC_NUBS // <
78#define PT_Z KC_Z // Z 69#define PT_Z KC_Z // Z
79#define PT_X KC_X // X 70#define PT_X KC_X // X
@@ -85,21 +76,6 @@
85#define PT_COMM KC_COMM // , 76#define PT_COMM KC_COMM // ,
86#define PT_DOT KC_DOT // . 77#define PT_DOT KC_DOT // .
87#define PT_MINS KC_SLSH // - 78#define PT_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ | │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ » │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ * │ ` │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ^ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define PT_PIPE S(PT_BSLS) // | 79#define PT_PIPE S(PT_BSLS) // |
104#define PT_EXLM S(PT_1) // ! 80#define PT_EXLM S(PT_1) // !
105#define PT_DQUO S(PT_2) // " 81#define PT_DQUO S(PT_2) // "
@@ -113,32 +89,14 @@
113#define PT_EQL S(PT_0) // = 89#define PT_EQL S(PT_0) // =
114#define PT_QUES S(PT_QUOT) // ? 90#define PT_QUES S(PT_QUOT) // ?
115#define PT_RDAQ S(PT_LDAQ) // » 91#define PT_RDAQ S(PT_LDAQ) // »
116// Row 2
117#define PT_ASTR S(PT_PLUS) // * 92#define PT_ASTR S(PT_PLUS) // *
118#define PT_GRV S(PT_ACUT) // ` (dead) 93#define PT_GRV S(PT_ACUT) // ` (dead)
119// Row 3
120#define PT_FORD S(PT_MORD) // ª 94#define PT_FORD S(PT_MORD) // ª
121#define PT_CIRC S(PT_TILD) // ^ (dead) 95#define PT_CIRC S(PT_TILD) // ^ (dead)
122// Row 4
123#define PT_RABK S(PT_LABK) // > 96#define PT_RABK S(PT_LABK) // >
124#define PT_SCLN S(PT_COMM) // ; 97#define PT_SCLN S(PT_COMM) // ;
125#define PT_COLN S(PT_DOT) // : 98#define PT_COLN S(PT_DOT) // :
126#define PT_UNDS S(PT_MINS) // _ 99#define PT_UNDS S(PT_MINS) // _
127
128/* AltGr symbols
129 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
130 * │ │ │ @ │ £ │ § │ │ │ { │ [ │ ] │ } │ │ │ │
131 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
132 * │ │ │ │ € │ │ │ │ │ │ │ │ ¨ │ │ │
133 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
134 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
135 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
136 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
137 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
138 * │ │ │ │ │ │ │ │ │
139 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
140 */
141// Row 1
142#define PT_AT ALGR(PT_2) // @ 100#define PT_AT ALGR(PT_2) // @
143#define PT_PND ALGR(PT_3) // £ 101#define PT_PND ALGR(PT_3) // £
144#define PT_SECT ALGR(PT_4) // § 102#define PT_SECT ALGR(PT_4) // §
@@ -146,6 +104,5 @@
146#define PT_LBRC ALGR(PT_8) // [ 104#define PT_LBRC ALGR(PT_8) // [
147#define PT_RBRC ALGR(PT_9) // ] 105#define PT_RBRC ALGR(PT_9) // ]
148#define PT_RCBR ALGR(PT_0) // } 106#define PT_RCBR ALGR(PT_0) // }
149// Row 2
150#define PT_DIAE ALGR(PT_PLUS) // ¨ (dead) 107#define PT_DIAE ALGR(PT_PLUS) // ¨ (dead)
151#define PT_EURO ALGR(PT_E) // € 108#define PT_EURO ALGR(PT_E) // €
diff --git a/quantum/keymap_extras/keymap_portuguese_mac_iso.h b/quantum/keymap_extras/keymap_portuguese_mac_iso.h
index 78346af285..65a74ee86c 100644
--- a/quantum/keymap_extras/keymap_portuguese_mac_iso.h
+++ b/quantum/keymap_extras/keymap_portuguese_mac_iso.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ º │ ´ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ \ │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define PT_SECT KC_GRV // § 31#define PT_SECT KC_GRV // §
38#define PT_1 KC_1 // 1 32#define PT_1 KC_1 // 1
39#define PT_2 KC_2 // 2 33#define PT_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define PT_0 KC_0 // 0 41#define PT_0 KC_0 // 0
48#define PT_QUOT KC_MINS // ' 42#define PT_QUOT KC_MINS // '
49#define PT_PLUS KC_EQL // + 43#define PT_PLUS KC_EQL // +
50// Row 2
51#define PT_Q KC_Q // Q 44#define PT_Q KC_Q // Q
52#define PT_W KC_W // W 45#define PT_W KC_W // W
53#define PT_E KC_E // E 46#define PT_E KC_E // E
@@ -60,7 +53,6 @@
60#define PT_P KC_P // P 53#define PT_P KC_P // P
61#define PT_MORD KC_LBRC // º 54#define PT_MORD KC_LBRC // º
62#define PT_ACUT KC_RBRC // ´ (dead) 55#define PT_ACUT KC_RBRC // ´ (dead)
63// Row 3
64#define PT_A KC_A // A 56#define PT_A KC_A // A
65#define PT_S KC_S // S 57#define PT_S KC_S // S
66#define PT_D KC_D // D 58#define PT_D KC_D // D
@@ -73,7 +65,6 @@
73#define PT_CCED KC_SCLN // Ç 65#define PT_CCED KC_SCLN // Ç
74#define PT_TILD KC_QUOT // ~ (dead) 66#define PT_TILD KC_QUOT // ~ (dead)
75#define PT_BSLS KC_NUHS // (backslash) 67#define PT_BSLS KC_NUHS // (backslash)
76// Row 4
77#define PT_LABK KC_NUBS // < 68#define PT_LABK KC_NUBS // <
78#define PT_Z KC_Z // Z 69#define PT_Z KC_Z // Z
79#define PT_X KC_X // X 70#define PT_X KC_X // X
@@ -85,21 +76,6 @@
85#define PT_COMM KC_COMM // , 76#define PT_COMM KC_COMM // ,
86#define PT_DOT KC_DOT // . 77#define PT_DOT KC_DOT // .
87#define PT_MINS KC_SLSH // - 78#define PT_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
91 * │ ± │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ` │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ | │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │ │ │ │ │ │ │ │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define PT_PLMN S(PT_SECT) // ± 79#define PT_PLMN S(PT_SECT) // ±
104#define PT_EXLM S(PT_1) // ! 80#define PT_EXLM S(PT_1) // !
105#define PT_DQUO S(PT_2) // " 81#define PT_DQUO S(PT_2) // "
@@ -113,32 +89,14 @@
113#define PT_EQL S(PT_0) // = 89#define PT_EQL S(PT_0) // =
114#define PT_QUES S(PT_QUOT) // ? 90#define PT_QUES S(PT_QUOT) // ?
115#define PT_ASTR S(PT_PLUS) // * 91#define PT_ASTR S(PT_PLUS) // *
116// Row 2
117#define PT_FORD S(PT_MORD) // ª 92#define PT_FORD S(PT_MORD) // ª
118#define PT_GRV S(PT_ACUT) // ` (dead) 93#define PT_GRV S(PT_ACUT) // ` (dead)
119// Row 3
120#define PT_CIRC S(PT_TILD) // ^ (dead) 94#define PT_CIRC S(PT_TILD) // ^ (dead)
121#define PT_PIPE S(PT_BSLS) // | 95#define PT_PIPE S(PT_BSLS) // |
122// Row 4
123#define PT_RABK S(PT_LABK) // > 96#define PT_RABK S(PT_LABK) // >
124#define PT_SCLN S(PT_COMM) // ; 97#define PT_SCLN S(PT_COMM) // ;
125#define PT_COLN S(PT_DOT) // : 98#define PT_COLN S(PT_DOT) // :
126#define PT_UNDS S(PT_MINS) // _ 99#define PT_UNDS S(PT_MINS) // _
127
128/* Alted symbols
129 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
130 * │ │  │ @ │ € │ £ │ ‰ │ ¶ │ ÷ │ [ │ ] │ ≠ │ │ │ │
131 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
132 * │ │ Œ │ ∑ │ Æ │ ® │ ™ │ ¥ │ † │ ı │ Ø │ π │ ° │ ¨ │ │
133 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
134 * │ │ Å │ ß │ ∂ │ ƒ │ ˙ │ ˇ │ ¯ │ „ │ ‘ │ ¸ │ ˜ │ ‹ │ │
135 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
136 * │ │ ≤ │ Ω │ « │ © │ √ │ ∫ │ ¬ │ µ │ “ │ … │ — │ │
137 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
138 * │ │ │ │ │ │ │ │
139 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
140 */
141// Row 1
142#define PT_APPL A(PT_1) //  (Apple logo) 100#define PT_APPL A(PT_1) //  (Apple logo)
143#define PT_AT A(PT_2) // @ 101#define PT_AT A(PT_2) // @
144#define PT_EURO A(PT_3) // € 102#define PT_EURO A(PT_3) // €
@@ -149,7 +107,6 @@
149#define PT_LBRC A(PT_8) // [ 107#define PT_LBRC A(PT_8) // [
150#define PT_RBRC A(PT_9) // ] 108#define PT_RBRC A(PT_9) // ]
151#define PT_NEQL A(PT_0) // ≠ 109#define PT_NEQL A(PT_0) // ≠
152// Row 2
153#define PT_OE A(PT_Q) // Œ 110#define PT_OE A(PT_Q) // Œ
154#define PT_NARS A(PT_W) // ∑ 111#define PT_NARS A(PT_W) // ∑
155#define PT_AE A(PT_E) // Æ 112#define PT_AE A(PT_E) // Æ
@@ -162,7 +119,6 @@
162#define PT_PI A(PT_P) // π 119#define PT_PI A(PT_P) // π
163#define PT_DEG A(PT_MORD) // ° 120#define PT_DEG A(PT_MORD) // °
164#define PT_DIAE A(PT_ACUT) // ¨ (dead) 121#define PT_DIAE A(PT_ACUT) // ¨ (dead)
165// Row 3
166#define PT_ARNG A(PT_A) // å 122#define PT_ARNG A(PT_A) // å
167#define PT_SS A(PT_S) // ß 123#define PT_SS A(PT_S) // ß
168#define PT_PDIF A(PT_D) // ∂ 124#define PT_PDIF A(PT_D) // ∂
@@ -175,7 +131,6 @@
175#define PT_CEDL A(PT_CCED) // ¸ 131#define PT_CEDL A(PT_CCED) // ¸
176#define PT_STIL A(PT_TILD) // ˜ (dead) 132#define PT_STIL A(PT_TILD) // ˜ (dead)
177#define PT_LSAQ A(PT_BSLS) // ‹ 133#define PT_LSAQ A(PT_BSLS) // ‹
178// Row 4
179#define PT_LTEQ A(PT_LABK) // ≤ 134#define PT_LTEQ A(PT_LABK) // ≤
180#define PT_OMEG A(PT_Z) // Ω 135#define PT_OMEG A(PT_Z) // Ω
181#define PT_LDAQ A(PT_X) // « 136#define PT_LDAQ A(PT_X) // «
@@ -187,21 +142,6 @@
187#define PT_LDQU A(PT_COMM) // “ 142#define PT_LDQU A(PT_COMM) // “
188#define PT_ELLP A(PT_DOT) // … 143#define PT_ELLP A(PT_DOT) // …
189#define PT_MDSH A(PT_MINS) // — 144#define PT_MDSH A(PT_MINS) // —
190
191/* Shift+Alted symbols
192 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
193 * │ │ ¡ │ fi │ fl │ ¢ │ ∞ │ • │ ⁄ │ { │ } │ ≈ │ ¿ │ ◊ │ │
194 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
195 * │ │ │ │ │ │ │ │ ‡ │ ˚ │ │ ∏ │ │ ˝ │ │
196 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
197 * │ │ │ │ ∆ │ │ │ │ │ ‚ │ ’ │ ˛ │ ˆ │ › │ │
198 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
199 * │ │ ≥ │ │ » │ │ │ │ │ │ ” │ · │ – │ │
200 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
201 * │ │ │ │ │ │ │ │
202 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
203 */
204// Row 1
205#define PT_IEXL S(A(PT_1)) // ¡ 145#define PT_IEXL S(A(PT_1)) // ¡
206#define PT_FI S(A(PT_2)) // fi 146#define PT_FI S(A(PT_2)) // fi
207#define PT_FL S(A(PT_3)) // fl 147#define PT_FL S(A(PT_3)) // fl
@@ -214,19 +154,16 @@
214#define PT_AEQL S(A(PT_0)) // ≈ 154#define PT_AEQL S(A(PT_0)) // ≈
215#define PT_IQUE S(A(PT_QUOT)) // ¿ 155#define PT_IQUE S(A(PT_QUOT)) // ¿
216#define PT_LOZN S(A(PT_PLUS)) // ◊ 156#define PT_LOZN S(A(PT_PLUS)) // ◊
217// Row 2
218#define PT_DDAG S(A(PT_U)) // ‡ 157#define PT_DDAG S(A(PT_U)) // ‡
219#define PT_RNGA S(A(PT_I)) // ˚ 158#define PT_RNGA S(A(PT_I)) // ˚
220#define PT_NARP S(A(PT_P)) // ∏ 159#define PT_NARP S(A(PT_P)) // ∏
221#define PT_DACU S(A(PT_ACUT)) // ˝ 160#define PT_DACU S(A(PT_ACUT)) // ˝
222// Row 3
223#define PT_INCR S(A(PT_D)) // ∆ 161#define PT_INCR S(A(PT_D)) // ∆
224#define PT_SLQU S(A(PT_K)) // ‚ 162#define PT_SLQU S(A(PT_K)) // ‚
225#define PT_RSQU S(A(PT_L)) // ’ 163#define PT_RSQU S(A(PT_L)) // ’
226#define PT_OGON S(A(PT_CCED)) // ˛ 164#define PT_OGON S(A(PT_CCED)) // ˛
227#define PT_DCIR S(A(PT_TILD)) // ˆ (dead) 165#define PT_DCIR S(A(PT_TILD)) // ˆ (dead)
228#define PT_RSAQ S(A(PT_BSLS)) // › 166#define PT_RSAQ S(A(PT_BSLS)) // ›
229// Row 4
230#define PT_GTEQ S(A(PT_LABK)) // ≥ 167#define PT_GTEQ S(A(PT_LABK)) // ≥
231#define PT_RDAQ S(A(PT_X)) // » 168#define PT_RDAQ S(A(PT_X)) // »
232#define PT_RDQU S(A(PT_COMM)) // ” 169#define PT_RDQU S(A(PT_COMM)) // ”
diff --git a/quantum/keymap_extras/keymap_romanian.h b/quantum/keymap_extras/keymap_romanian.h
index 27086d684c..01552b3e32 100644
--- a/quantum/keymap_extras/keymap_romanian.h
+++ b/quantum/keymap_extras/keymap_romanian.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ „ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ă │ Î │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ș │ Ț │ Â │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define RO_DLQU KC_GRV // „ 31#define RO_DLQU KC_GRV // „
38#define RO_1 KC_1 // 1 32#define RO_1 KC_1 // 1
39#define RO_2 KC_2 // 2 33#define RO_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define RO_0 KC_0 // 0 41#define RO_0 KC_0 // 0
48#define RO_MINS KC_MINS // - 42#define RO_MINS KC_MINS // -
49#define RO_EQL KC_EQL // = 43#define RO_EQL KC_EQL // =
50// Row 2
51#define RO_Q KC_Q // Q 44#define RO_Q KC_Q // Q
52#define RO_W KC_W // W 45#define RO_W KC_W // W
53#define RO_E KC_E // E 46#define RO_E KC_E // E
@@ -60,7 +53,6 @@
60#define RO_P KC_P // P 53#define RO_P KC_P // P
61#define RO_ABRV KC_LBRC // Ă 54#define RO_ABRV KC_LBRC // Ă
62#define RO_ICIR KC_RBRC // Î 55#define RO_ICIR KC_RBRC // Î
63// Row 3
64#define RO_A KC_A // A 56#define RO_A KC_A // A
65#define RO_S KC_S // S 57#define RO_S KC_S // S
66#define RO_D KC_D // D 58#define RO_D KC_D // D
@@ -73,7 +65,6 @@
73#define RO_SCOM KC_SCLN // Ș 65#define RO_SCOM KC_SCLN // Ș
74#define RO_TCOM KC_QUOT // Ț 66#define RO_TCOM KC_QUOT // Ț
75#define RO_ACIR KC_NUHS // Â 67#define RO_ACIR KC_NUHS // Â
76// Row 4
77#define RO_BSLS KC_NUBS // (backslash) 68#define RO_BSLS KC_NUBS // (backslash)
78#define RO_Z KC_Z // Z 69#define RO_Z KC_Z // Z
79#define RO_X KC_X // X 70#define RO_X KC_X // X
@@ -85,21 +76,6 @@
85#define RO_COMM KC_COMM // , 76#define RO_COMM KC_COMM // ,
86#define RO_DOT KC_DOT // . 77#define RO_DOT KC_DOT // .
87#define RO_SLSH KC_SLSH // / 78#define RO_SLSH KC_SLSH // /
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ” │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ | │ │ │ │ │ │ │ │ ; │ : │ ? │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define RO_RDQU S(RO_DLQU) // ” 79#define RO_RDQU S(RO_DLQU) // ”
104#define RO_EXLM S(RO_1) // ! 80#define RO_EXLM S(RO_1) // !
105#define RO_AT S(RO_2) // @ 81#define RO_AT S(RO_2) // @
@@ -113,26 +89,10 @@
113#define RO_RPRN S(RO_0) // ) 89#define RO_RPRN S(RO_0) // )
114#define RO_UNDS S(RO_MINS) // _ 90#define RO_UNDS S(RO_MINS) // _
115#define RO_PLUS S(RO_EQL) // + 91#define RO_PLUS S(RO_EQL) // +
116// Row 4
117#define RO_PIPE S(RO_BSLS) // | 92#define RO_PIPE S(RO_BSLS) // |
118#define RO_SCLN S(RO_COMM) // ; 93#define RO_SCLN S(RO_COMM) // ;
119#define RO_COLN S(RO_DOT) // : 94#define RO_COLN S(RO_DOT) // :
120#define RO_QUES S(RO_SLSH) // ? 95#define RO_QUES S(RO_SLSH) // ?
121
122/* AltGr symbols
123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
124 * │ ` │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
126 * │ │ │ │ € │ │ │ │ │ │ │ § │ [ │ ] │ │
127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
128 * │ │ │ ß │ Đ │ │ │ │ │ │ Ł │ │ ' │ │ │
129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
130 * │ │ │ │ │ © │ │ │ │ │ < │ > │ │ │
131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
132 * │ │ │ │ │ │ │ │ │
133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
134 */
135// Row 1
136#define RO_GRV ALGR(RO_DLQU) // ` 96#define RO_GRV ALGR(RO_DLQU) // `
137#define RO_DTIL ALGR(RO_1) // ~ (dead) 97#define RO_DTIL ALGR(RO_1) // ~ (dead)
138#define RO_CARN ALGR(RO_2) // ˇ (dead) 98#define RO_CARN ALGR(RO_2) // ˇ (dead)
@@ -146,43 +106,22 @@
146#define RO_DACU ALGR(RO_0) // ˝ (dead) 106#define RO_DACU ALGR(RO_0) // ˝ (dead)
147#define RO_DIAE ALGR(RO_MINS) // ¨ (dead) 107#define RO_DIAE ALGR(RO_MINS) // ¨ (dead)
148#define RO_CEDL ALGR(RO_EQL) // ¸ (dead) 108#define RO_CEDL ALGR(RO_EQL) // ¸ (dead)
149// Row 2
150#define RO_EURO ALGR(RO_E) // € 109#define RO_EURO ALGR(RO_E) // €
151#define RO_SECT ALGR(RO_P) // § 110#define RO_SECT ALGR(RO_P) // §
152#define RO_LBRC ALGR(RO_ABRV) // [ 111#define RO_LBRC ALGR(RO_ABRV) // [
153#define RO_RBRC ALGR(RO_ICIR) // ] 112#define RO_RBRC ALGR(RO_ICIR) // ]
154// Row 3
155#define RO_SS ALGR(RO_S) // ß 113#define RO_SS ALGR(RO_S) // ß
156#define RO_DSTR ALGR(RO_D) // Đ 114#define RO_DSTR ALGR(RO_D) // Đ
157#define RO_LSTR ALGR(RO_L) // Ł 115#define RO_LSTR ALGR(RO_L) // Ł
158#define RO_QUOT ALGR(RO_TCOM) // ' 116#define RO_QUOT ALGR(RO_TCOM) // '
159// Row 4
160#define RO_COPY ALGR(RO_C) // © 117#define RO_COPY ALGR(RO_C) // ©
161#define RO_LABK ALGR(RO_COMM) // < 118#define RO_LABK ALGR(RO_COMM) // <
162#define RO_RABK ALGR(RO_DOT) // > 119#define RO_RABK ALGR(RO_DOT) // >
163
164/* Shift+AltGr symbols
165 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
166 * │ ~ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
167 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
168 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
169 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
170 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │ │
171 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
172 * │ │ │ │ │ │ │ │ │ │ « │ » │ │ │
173 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
174 * │ │ │ │ │ │ │ │ │
175 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
176 */
177// Row 1
178#define RO_TILD S(ALGR(RO_DLQU)) // ~ 120#define RO_TILD S(ALGR(RO_DLQU)) // ~
179#define RO_NDSH S(ALGR(RO_MINS)) // – 121#define RO_NDSH S(ALGR(RO_MINS)) // –
180#define RO_PLMN S(ALGR(RO_EQL)) // ± 122#define RO_PLMN S(ALGR(RO_EQL)) // ±
181// Row 2
182#define RO_LCBR S(ALGR(RO_ABRV)) // { 123#define RO_LCBR S(ALGR(RO_ABRV)) // {
183#define RO_RCBR S(ALGR(RO_ICIR)) // } 124#define RO_RCBR S(ALGR(RO_ICIR)) // }
184// Row 3
185#define RO_DQUO S(ALGR(RO_TCOM)) // " 125#define RO_DQUO S(ALGR(RO_TCOM)) // "
186// Row 4
187#define RO_LDAQ S(ALGR(RO_COMM)) // « 126#define RO_LDAQ S(ALGR(RO_COMM)) // «
188#define RO_RDAQ S(ALGR(RO_DOT)) // » 127#define RO_RDAQ S(ALGR(RO_DOT)) // »
diff --git a/quantum/keymap_extras/keymap_russian.h b/quantum/keymap_extras/keymap_russian.h
index 71aece677d..03978de5fb 100644
--- a/quantum/keymap_extras/keymap_russian.h
+++ b/quantum/keymap_extras/keymap_russian.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ Ё │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define RU_YO KC_GRV // Ё 31#define RU_YO KC_GRV // Ё
38#define RU_1 KC_1 // 1 32#define RU_1 KC_1 // 1
39#define RU_2 KC_2 // 2 33#define RU_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define RU_0 KC_0 // 0 41#define RU_0 KC_0 // 0
48#define RU_MINS KC_MINS // - 42#define RU_MINS KC_MINS // -
49#define RU_EQL KC_EQL // = 43#define RU_EQL KC_EQL // =
50// Row 2
51#define RU_SHTI KC_Q // Й 44#define RU_SHTI KC_Q // Й
52#define RU_TSE KC_W // Ц 45#define RU_TSE KC_W // Ц
53#define RU_U KC_E // У 46#define RU_U KC_E // У
@@ -61,7 +54,6 @@
61#define RU_HA KC_LBRC // Х 54#define RU_HA KC_LBRC // Х
62#define RU_HARD KC_RBRC // Ъ 55#define RU_HARD KC_RBRC // Ъ
63#define RU_BSLS KC_BSLS // (backslash) 56#define RU_BSLS KC_BSLS // (backslash)
64// Row 3
65#define RU_EF KC_A // Ф 57#define RU_EF KC_A // Ф
66#define RU_YERU KC_S // Ы 58#define RU_YERU KC_S // Ы
67#define RU_VE KC_D // В 59#define RU_VE KC_D // В
@@ -73,7 +65,6 @@
73#define RU_DE KC_L // Д 65#define RU_DE KC_L // Д
74#define RU_ZHE KC_SCLN // Ж 66#define RU_ZHE KC_SCLN // Ж
75#define RU_E KC_QUOT // Э 67#define RU_E KC_QUOT // Э
76// Row 4
77#define RU_YA KC_Z // Я 68#define RU_YA KC_Z // Я
78#define RU_CHE KC_X // Ч 69#define RU_CHE KC_X // Ч
79#define RU_ES KC_C // С 70#define RU_ES KC_C // С
@@ -84,21 +75,6 @@
84#define RU_BE KC_COMM // Б 75#define RU_BE KC_COMM // Б
85#define RU_YU KC_DOT // Ю 76#define RU_YU KC_DOT // Ю
86#define RU_DOT KC_SLSH // . 77#define RU_DOT KC_SLSH // .
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ │ │ , │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define RU_EXLM S(RU_1) // ! 78#define RU_EXLM S(RU_1) // !
103#define RU_DQUO S(RU_2) // " 79#define RU_DQUO S(RU_2) // "
104#define RU_NUM S(RU_3) // № 80#define RU_NUM S(RU_3) // №
@@ -111,23 +87,6 @@
111#define RU_RPRN S(RU_0) // ) 87#define RU_RPRN S(RU_0) // )
112#define RU_UNDS S(RU_MINS) // _ 88#define RU_UNDS S(RU_MINS) // _
113#define RU_PLUS S(RU_EQL) // + 89#define RU_PLUS S(RU_EQL) // +
114// Row 2
115#define RU_SLSH S(RU_BSLS) // / 90#define RU_SLSH S(RU_BSLS) // /
116// Row 4
117#define RU_COMM S(RU_DOT) // , 91#define RU_COMM S(RU_DOT) // ,
118 92#define RU_RUBL ALGR(RU_8) // ₽
119/* AltGr symbols
120 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
121 * │ │ │ │ │ │ │ │ │ ₽ │ │ │ │ │ │
122 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
123 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
124 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
125 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
126 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
127 * │ │ │ │ │ │ │ │ │ │ │ │ │
128 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
129 * │ │ │ │ │ │ │ │ │
130 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
131 */
132// Row 1
133#define RU_RUBL ALGR(RU_8) // ₽
diff --git a/quantum/keymap_extras/keymap_serbian.h b/quantum/keymap_extras/keymap_serbian.h
index a17dcc5f34..ff6b4dad02 100644
--- a/quantum/keymap_extras/keymap_serbian.h
+++ b/quantum/keymap_extras/keymap_serbian.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Љ │ Њ │ Е │ Р │ Т │ З │ У │ И │ О │ П │ Ш │ Ђ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ А │ С │ Д │ Ф │ Г │ Х │ Ј │ К │ Л │ Ч │ Ћ │ Ж │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Ѕ │ Џ │ Ц │ В │ Б │ Н │ М │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define RS_GRV KC_GRV // ` 31#define RS_GRV KC_GRV // `
38#define RS_1 KC_1 // 1 32#define RS_1 KC_1 // 1
39#define RS_2 KC_2 // 2 33#define RS_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define RS_0 KC_0 // 0 41#define RS_0 KC_0 // 0
48#define RS_QUOT KC_MINS // ' (dead) 42#define RS_QUOT KC_MINS // ' (dead)
49#define RS_PLUS KC_EQL // + 43#define RS_PLUS KC_EQL // +
50// Row 2
51#define RS_LJE KC_Q // Љ 44#define RS_LJE KC_Q // Љ
52#define RS_NJE KC_W // Њ 45#define RS_NJE KC_W // Њ
53#define RS_IE KC_E // Е 46#define RS_IE KC_E // Е
@@ -60,7 +53,6 @@
60#define RS_PE KC_P // П 53#define RS_PE KC_P // П
61#define RS_SHA KC_LBRC // Ш 54#define RS_SHA KC_LBRC // Ш
62#define RS_DJE KC_RBRC // Ђ 55#define RS_DJE KC_RBRC // Ђ
63// Row 3
64#define RS_A KC_A // А 56#define RS_A KC_A // А
65#define RS_ES KC_S // С 57#define RS_ES KC_S // С
66#define RS_DE KC_D // Д 58#define RS_DE KC_D // Д
@@ -73,7 +65,6 @@
73#define RS_CHE KC_SCLN // Ч 65#define RS_CHE KC_SCLN // Ч
74#define RS_TSHE KC_QUOT // Ћ 66#define RS_TSHE KC_QUOT // Ћ
75#define RS_ZHE KC_NUHS // Ж 67#define RS_ZHE KC_NUHS // Ж
76// Row 4
77#define RS_LABK KC_NUBS // < 68#define RS_LABK KC_NUBS // <
78#define RS_DZE KC_Z // Ѕ 69#define RS_DZE KC_Z // Ѕ
79#define RS_DZHE KC_X // Џ 70#define RS_DZHE KC_X // Џ
@@ -85,21 +76,6 @@
85#define RS_COMM KC_COMM // , 76#define RS_COMM KC_COMM // ,
86#define RS_DOT KC_DOT // . 77#define RS_DOT KC_DOT // .
87#define RS_MINS KC_SLSH // - 78#define RS_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define RS_TILD S(RS_GRV) // ~ 79#define RS_TILD S(RS_GRV) // ~
104#define RS_EXLM S(RS_1) // ! 80#define RS_EXLM S(RS_1) // !
105#define RS_DQUO S(RS_2) // " 81#define RS_DQUO S(RS_2) // "
@@ -113,24 +89,8 @@
113#define RS_EQL S(RS_0) // = 89#define RS_EQL S(RS_0) // =
114#define RS_QUES S(RS_QUOT) // ? 90#define RS_QUES S(RS_QUOT) // ?
115#define RS_ASTR S(RS_PLUS) // * 91#define RS_ASTR S(RS_PLUS) // *
116// Row 4
117#define RS_RABK S(RS_LABK) // > 92#define RS_RABK S(RS_LABK) // >
118#define RS_SCLN S(RS_COMM) // ; 93#define RS_SCLN S(RS_COMM) // ;
119#define RS_COLN S(RS_DOT) // : 94#define RS_COLN S(RS_DOT) // :
120#define RS_UNDS S(RS_MINS) // _ 95#define RS_UNDS S(RS_MINS) // _
121
122/* AltGr symbols
123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
124 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
126 * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
128 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
130 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
132 * │ │ │ │ │ │ │ │ │
133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
134 */
135// Row 2
136#define RS_EURO ALGR(RS_IE) // € 96#define RS_EURO ALGR(RS_IE) // €
diff --git a/quantum/keymap_extras/keymap_serbian_latin.h b/quantum/keymap_extras/keymap_serbian_latin.h
index 13c82eb405..56d468c0cf 100644
--- a/quantum/keymap_extras/keymap_serbian_latin.h
+++ b/quantum/keymap_extras/keymap_serbian_latin.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ‚ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define RS_SLQU KC_GRV // ‚ (dead) 31#define RS_SLQU KC_GRV // ‚ (dead)
38#define RS_1 KC_1 // 1 32#define RS_1 KC_1 // 1
39#define RS_2 KC_2 // 2 33#define RS_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define RS_0 KC_0 // 0 41#define RS_0 KC_0 // 0
48#define RS_QUOT KC_MINS // ' 42#define RS_QUOT KC_MINS // '
49#define RS_PLUS KC_EQL // + 43#define RS_PLUS KC_EQL // +
50// Row 2
51#define RS_Q KC_Q // Q 44#define RS_Q KC_Q // Q
52#define RS_W KC_W // W 45#define RS_W KC_W // W
53#define RS_E KC_E // E 46#define RS_E KC_E // E
@@ -60,7 +53,6 @@
60#define RS_P KC_P // P 53#define RS_P KC_P // P
61#define RS_SCAR KC_LBRC // Š 54#define RS_SCAR KC_LBRC // Š
62#define RS_DSTR KC_RBRC // Đ 55#define RS_DSTR KC_RBRC // Đ
63// Row 3
64#define RS_A KC_A // A 56#define RS_A KC_A // A
65#define RS_S KC_S // S 57#define RS_S KC_S // S
66#define RS_D KC_D // D 58#define RS_D KC_D // D
@@ -73,7 +65,6 @@
73#define RS_CCAR KC_SCLN // Č 65#define RS_CCAR KC_SCLN // Č
74#define RS_CACU KC_QUOT // Ć 66#define RS_CACU KC_QUOT // Ć
75#define RS_ZCAR KC_NUHS // Ž 67#define RS_ZCAR KC_NUHS // Ž
76// Row 4
77#define RS_LABK KC_NUBS // < 68#define RS_LABK KC_NUBS // <
78#define RS_Y KC_Z // Y 69#define RS_Y KC_Z // Y
79#define RS_X KC_X // X 70#define RS_X KC_X // X
@@ -85,21 +76,6 @@
85#define RS_COMM KC_COMM // , 76#define RS_COMM KC_COMM // ,
86#define RS_DOT KC_DOT // . 77#define RS_DOT KC_DOT // .
87#define RS_MINS KC_SLSH // - 78#define RS_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define RS_TILD S(RS_SLQU) // ~ 79#define RS_TILD S(RS_SLQU) // ~
104#define RS_EXLM S(RS_1) // ! 80#define RS_EXLM S(RS_1) // !
105#define RS_DQUO S(RS_2) // " 81#define RS_DQUO S(RS_2) // "
@@ -113,26 +89,10 @@
113#define RS_EQL S(RS_0) // = 89#define RS_EQL S(RS_0) // =
114#define RS_QUES S(RS_QUOT) // ? 90#define RS_QUES S(RS_QUOT) // ?
115#define RS_ASTR S(RS_PLUS) // * 91#define RS_ASTR S(RS_PLUS) // *
116// Row 4
117#define RS_RABK S(RS_LABK) // > 92#define RS_RABK S(RS_LABK) // >
118#define RS_SCLN S(RS_COMM) // ; 93#define RS_SCLN S(RS_COMM) // ;
119#define RS_COLN S(RS_DOT) // : 94#define RS_COLN S(RS_DOT) // :
120#define RS_UNDS S(RS_MINS) // _ 95#define RS_UNDS S(RS_MINS) // _
121
122/* AltGr symbols
123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
124 * │ │ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
126 * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
128 * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
130 * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
132 * │ │ │ │ │ │ │ │ │
133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
134 */
135// Row 1
136#define RS_CARN ALGR(RS_2) // ˇ (dead) 96#define RS_CARN ALGR(RS_2) // ˇ (dead)
137#define RS_CIRC ALGR(RS_3) // ^ (dead) 97#define RS_CIRC ALGR(RS_3) // ^ (dead)
138#define RS_BREV ALGR(RS_4) // ˘ (dead) 98#define RS_BREV ALGR(RS_4) // ˘ (dead)
@@ -144,20 +104,17 @@
144#define RS_DACU ALGR(RS_0) // ˝ (dead) 104#define RS_DACU ALGR(RS_0) // ˝ (dead)
145#define RS_DIAE ALGR(RS_QUOT) // ¨ (dead) 105#define RS_DIAE ALGR(RS_QUOT) // ¨ (dead)
146#define RS_CEDL ALGR(RS_PLUS) // ¸ (dead) 106#define RS_CEDL ALGR(RS_PLUS) // ¸ (dead)
147// Row 2
148#define RS_BSLS ALGR(RS_Q) // (backslash) 107#define RS_BSLS ALGR(RS_Q) // (backslash)
149#define RS_PIPE ALGR(RS_W) // | 108#define RS_PIPE ALGR(RS_W) // |
150#define RS_EURO ALGR(RS_E) // € 109#define RS_EURO ALGR(RS_E) // €
151#define RS_DIV ALGR(RS_SCAR) // ÷ 110#define RS_DIV ALGR(RS_SCAR) // ÷
152#define RS_MUL ALGR(RS_DSTR) // × 111#define RS_MUL ALGR(RS_DSTR) // ×
153// Row 3
154#define RS_LBRC ALGR(RS_F) // [ 112#define RS_LBRC ALGR(RS_F) // [
155#define RS_RBRC ALGR(RS_G) // ] 113#define RS_RBRC ALGR(RS_G) // ]
156#define RS_LLST ALGR(RS_K) // ł 114#define RS_LLST ALGR(RS_K) // ł
157#define RS_CLST ALGR(RS_L) // Ł 115#define RS_CLST ALGR(RS_L) // Ł
158#define RS_SS ALGR(RS_CACU) // ß 116#define RS_SS ALGR(RS_CACU) // ß
159#define RS_CURR ALGR(RS_ZCAR) // ¤ 117#define RS_CURR ALGR(RS_ZCAR) // ¤
160// Row 4
161#define RS_AT ALGR(RS_V) // @ 118#define RS_AT ALGR(RS_V) // @
162#define RS_LCBR ALGR(RS_B) // { 119#define RS_LCBR ALGR(RS_B) // {
163#define RS_RCBR ALGR(RS_N) // } 120#define RS_RCBR ALGR(RS_N) // }
diff --git a/quantum/keymap_extras/keymap_slovak.h b/quantum/keymap_extras/keymap_slovak.h
index bf0b7275ce..5cdf74fb40 100644
--- a/quantum/keymap_extras/keymap_slovak.h
+++ b/quantum/keymap_extras/keymap_slovak.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ; │ + │ ľ │ š │ č │ ť │ ž │ ý │ á │ í │ é │ = │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ä │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ô │ § │ ň │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ & │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define SK_SCLN KC_GRV // ; 31#define SK_SCLN KC_GRV // ;
38#define SK_PLUS KC_1 // + 32#define SK_PLUS KC_1 // +
39#define SK_LCAR KC_2 // ľ 33#define SK_LCAR KC_2 // ľ
@@ -47,7 +41,6 @@
47#define SK_EACU KC_0 // é 41#define SK_EACU KC_0 // é
48#define SK_EQL KC_MINS // = 42#define SK_EQL KC_MINS // =
49#define SK_ACUT KC_EQL // ´ (dead) 43#define SK_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define SK_Q KC_Q // Q 44#define SK_Q KC_Q // Q
52#define SK_W KC_W // W 45#define SK_W KC_W // W
53#define SK_E KC_E // E 46#define SK_E KC_E // E
@@ -60,7 +53,6 @@
60#define SK_P KC_P // P 53#define SK_P KC_P // P
61#define SK_UACU KC_LBRC // ú 54#define SK_UACU KC_LBRC // ú
62#define SK_ADIA KC_RBRC // ä 55#define SK_ADIA KC_RBRC // ä
63// Row 3
64#define SK_A KC_A // A 56#define SK_A KC_A // A
65#define SK_S KC_S // S 57#define SK_S KC_S // S
66#define SK_D KC_D // D 58#define SK_D KC_D // D
@@ -73,7 +65,6 @@
73#define SK_OCIR KC_SCLN // ô 65#define SK_OCIR KC_SCLN // ô
74#define SK_SECT KC_QUOT // § 66#define SK_SECT KC_QUOT // §
75#define SK_NCAR KC_NUHS // ň 67#define SK_NCAR KC_NUHS // ň
76// Row 4
77#define SK_AMPR KC_NUBS // & 68#define SK_AMPR KC_NUBS // &
78#define SK_Y KC_Z // Y 69#define SK_Y KC_Z // Y
79#define SK_X KC_X // X 70#define SK_X KC_X // X
@@ -85,21 +76,6 @@
85#define SK_COMM KC_COMM // , 76#define SK_COMM KC_COMM // ,
86#define SK_DOT KC_DOT // . 77#define SK_DOT KC_DOT // .
87#define SK_MINS KC_SLSH // - 78#define SK_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ) │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ * │ │ │ │ │ │ │ │ ? │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define SK_RNGA S(SK_SCLN) // ° (dead) 79#define SK_RNGA S(SK_SCLN) // ° (dead)
104#define SK_1 S(SK_PLUS) // 1 80#define SK_1 S(SK_PLUS) // 1
105#define SK_2 S(SK_LCAR) // 2 81#define SK_2 S(SK_LCAR) // 2
@@ -113,33 +89,15 @@
113#define SK_0 S(SK_EACU) // 0 89#define SK_0 S(SK_EACU) // 0
114#define SK_PERC S(SK_EQL) // % 90#define SK_PERC S(SK_EQL) // %
115#define SK_CARN S(SK_ACUT) // ˇ (dead) 91#define SK_CARN S(SK_ACUT) // ˇ (dead)
116// Row 2
117#define SK_SLSH S(SK_UACU) // / 92#define SK_SLSH S(SK_UACU) // /
118#define SK_LPRN S(SK_ADIA) // ( 93#define SK_LPRN S(SK_ADIA) // (
119// Row 3
120#define SK_DQUO S(SK_OCIR) // " 94#define SK_DQUO S(SK_OCIR) // "
121#define SK_EXLM S(SK_SECT) // ! 95#define SK_EXLM S(SK_SECT) // !
122#define SK_RPRN S(SK_NCAR) // ) 96#define SK_RPRN S(SK_NCAR) // )
123// Row 4
124#define SK_ASTR S(SK_AMPR) // * 97#define SK_ASTR S(SK_AMPR) // *
125#define SK_QUES S(SK_COMM) // ? 98#define SK_QUES S(SK_COMM) // ?
126#define SK_COLN S(SK_DOT) // : 99#define SK_COLN S(SK_DOT) // :
127#define SK_UNDS S(SK_MINS) // _ 100#define SK_UNDS S(SK_MINS) // _
128
129/* AltGr symbols
130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
131 * │ │ ~ │ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ │ ˝ │ ¨ │ ¸ │ │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
133 * │ │ \ │ | │ € │ │ │ │ │ │ │ ' │ ÷ │ × │ │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
135 * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
137 * │ │ < │ > │ # │ │ @ │ { │ } │ │ │ │ │ │
138 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
139 * │ │ │ │ │ │ │ │ │
140 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
141 */
142// Row 1
143#define SK_TILD ALGR(SK_PLUS) // ~ 101#define SK_TILD ALGR(SK_PLUS) // ~
144#define SK_CIRC ALGR(SK_SCAR) // ^ (dead) 102#define SK_CIRC ALGR(SK_SCAR) // ^ (dead)
145#define SK_BREV ALGR(SK_CCAR) // ˘ (dead) 103#define SK_BREV ALGR(SK_CCAR) // ˘ (dead)
@@ -149,14 +107,12 @@
149#define SK_DACU ALGR(SK_EACU) // ˝ (dead) 107#define SK_DACU ALGR(SK_EACU) // ˝ (dead)
150#define SK_DIAE ALGR(SK_EQL) // ¨ (dead) 108#define SK_DIAE ALGR(SK_EQL) // ¨ (dead)
151#define SK_CEDL ALGR(SK_ACUT) // ¸ (dead) 109#define SK_CEDL ALGR(SK_ACUT) // ¸ (dead)
152// Row 2
153#define SK_BSLS ALGR(SK_Q) // (backslash) 110#define SK_BSLS ALGR(SK_Q) // (backslash)
154#define SK_PIPE ALGR(SK_W) // | 111#define SK_PIPE ALGR(SK_W) // |
155#define SK_EURO ALGR(SK_E) // € 112#define SK_EURO ALGR(SK_E) // €
156#define SK_QUOT ALGR(SK_P) // ' 113#define SK_QUOT ALGR(SK_P) // '
157#define SK_DIV ALGR(SK_UACU) // ÷ 114#define SK_DIV ALGR(SK_UACU) // ÷
158#define SK_MUL ALGR(SK_ADIA) // × 115#define SK_MUL ALGR(SK_ADIA) // ×
159// Row 3
160#define SK_LDST ALGR(SK_S) // đ 116#define SK_LDST ALGR(SK_S) // đ
161#define SK_CDST ALGR(SK_D) // Đ 117#define SK_CDST ALGR(SK_D) // Đ
162#define SK_LBRC ALGR(SK_F) // [ 118#define SK_LBRC ALGR(SK_F) // [
@@ -166,7 +122,6 @@
166#define SK_DLR ALGR(SK_OCIR) // $ 122#define SK_DLR ALGR(SK_OCIR) // $
167#define SK_SS ALGR(SK_SECT) // ß 123#define SK_SS ALGR(SK_SECT) // ß
168#define SK_CURR ALGR(SK_NCAR) // ¤ 124#define SK_CURR ALGR(SK_NCAR) // ¤
169// Row 4
170#define SK_LABK ALGR(SK_AMPR) // < 125#define SK_LABK ALGR(SK_AMPR) // <
171#define SK_RABK ALGR(SK_Y) // > 126#define SK_RABK ALGR(SK_Y) // >
172#define SK_HASH ALGR(SK_X) // # 127#define SK_HASH ALGR(SK_X) // #
diff --git a/quantum/keymap_extras/keymap_slovenian.h b/quantum/keymap_extras/keymap_slovenian.h
index 827fa06c25..bd864c0e55 100644
--- a/quantum/keymap_extras/keymap_slovenian.h
+++ b/quantum/keymap_extras/keymap_slovenian.h
@@ -1,39 +1,33 @@
1/* Copyright 2018 Žan Pevec 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define SI_CEDL KC_GRV // ¸ (dead) 31#define SI_CEDL KC_GRV // ¸ (dead)
38#define SI_1 KC_1 // 1 32#define SI_1 KC_1 // 1
39#define SI_2 KC_2 // 2 33#define SI_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define SI_0 KC_0 // 0 41#define SI_0 KC_0 // 0
48#define SI_QUOT KC_MINS // ' 42#define SI_QUOT KC_MINS // '
49#define SI_PLUS KC_EQL // + 43#define SI_PLUS KC_EQL // +
50// Row 2
51#define SI_Q KC_Q // Q 44#define SI_Q KC_Q // Q
52#define SI_W KC_W // W 45#define SI_W KC_W // W
53#define SI_E KC_E // E 46#define SI_E KC_E // E
@@ -60,7 +53,6 @@
60#define SI_P KC_P // P 53#define SI_P KC_P // P
61#define SI_SCAR KC_LBRC // Š 54#define SI_SCAR KC_LBRC // Š
62#define SI_DSTR KC_RBRC // Đ 55#define SI_DSTR KC_RBRC // Đ
63// Row 3
64#define SI_A KC_A // A 56#define SI_A KC_A // A
65#define SI_S KC_S // S 57#define SI_S KC_S // S
66#define SI_D KC_D // D 58#define SI_D KC_D // D
@@ -73,7 +65,6 @@
73#define SI_CCAR KC_SCLN // Č 65#define SI_CCAR KC_SCLN // Č
74#define SI_CACU KC_QUOT // Ć 66#define SI_CACU KC_QUOT // Ć
75#define SI_ZCAR KC_NUHS // Ž 67#define SI_ZCAR KC_NUHS // Ž
76// Row 4
77#define SI_LABK KC_NUBS // < 68#define SI_LABK KC_NUBS // <
78#define SI_Y KC_Z // Y 69#define SI_Y KC_Z // Y
79#define SI_X KC_X // X 70#define SI_X KC_X // X
@@ -85,21 +76,6 @@
85#define SI_COMM KC_COMM // , 76#define SI_COMM KC_COMM // ,
86#define SI_DOT KC_DOT // . 77#define SI_DOT KC_DOT // .
87#define SI_MINS KC_SLSH // - 78#define SI_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define SI_DIAE S(SI_CEDL) // ¨ (dead) 79#define SI_DIAE S(SI_CEDL) // ¨ (dead)
104#define SI_EXLM S(SI_1) // ! 80#define SI_EXLM S(SI_1) // !
105#define SI_DQUO S(SI_2) // " 81#define SI_DQUO S(SI_2) // "
@@ -113,26 +89,10 @@
113#define SI_EQL S(SI_0) // = 89#define SI_EQL S(SI_0) // =
114#define SI_QUES S(SI_QUOT) // ? 90#define SI_QUES S(SI_QUOT) // ?
115#define SI_ASTR S(SI_PLUS) // * 91#define SI_ASTR S(SI_PLUS) // *
116// Row 4
117#define SI_RABK S(SI_LABK) // > 92#define SI_RABK S(SI_LABK) // >
118#define SI_SCLN S(SI_COMM) // ; 93#define SI_SCLN S(SI_COMM) // ;
119#define SI_COLN S(SI_DOT) // : 94#define SI_COLN S(SI_DOT) // :
120#define SI_UNDS S(SI_MINS) // _ 95#define SI_UNDS S(SI_MINS) // _
121
122/* AltGr symbols
123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
124 * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
126 * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
128 * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
130 * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
132 * │ │ │ │ │ │ │ │ │
133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
134 */
135// Row 1
136#define SI_TILD ALGR(SI_1) // ~ 96#define SI_TILD ALGR(SI_1) // ~
137#define SI_CARN ALGR(SI_2) // ˇ (dead) 97#define SI_CARN ALGR(SI_2) // ˇ (dead)
138#define SI_CIRC ALGR(SI_3) // ^ (dead) 98#define SI_CIRC ALGR(SI_3) // ^ (dead)
@@ -143,20 +103,17 @@
143#define SI_DOTA ALGR(SI_8) // ˙ (dead) 103#define SI_DOTA ALGR(SI_8) // ˙ (dead)
144#define SI_ACUT ALGR(SI_9) // ´ (dead) 104#define SI_ACUT ALGR(SI_9) // ´ (dead)
145#define SI_DACU ALGR(SI_0) // ˝ (dead) 105#define SI_DACU ALGR(SI_0) // ˝ (dead)
146// Row 2
147#define SI_BSLS ALGR(SI_Q) // (backslash) 106#define SI_BSLS ALGR(SI_Q) // (backslash)
148#define SI_PIPE ALGR(SI_W) // | 107#define SI_PIPE ALGR(SI_W) // |
149#define SI_EURO ALGR(SI_E) // € 108#define SI_EURO ALGR(SI_E) // €
150#define SI_DIV ALGR(SI_SCAR) // ÷ 109#define SI_DIV ALGR(SI_SCAR) // ÷
151#define SI_MUL ALGR(SI_DSTR) // × 110#define SI_MUL ALGR(SI_DSTR) // ×
152// Row 3
153#define SI_LBRC ALGR(SI_F) // [ 111#define SI_LBRC ALGR(SI_F) // [
154#define SI_RBRC ALGR(SI_G) // ] 112#define SI_RBRC ALGR(SI_G) // ]
155#define SI_LLST ALGR(SI_K) // ł 113#define SI_LLST ALGR(SI_K) // ł
156#define SI_CLST ALGR(SI_L) // Ł 114#define SI_CLST ALGR(SI_L) // Ł
157#define SI_SS ALGR(SI_CACU) // ß 115#define SI_SS ALGR(SI_CACU) // ß
158#define SI_CURR ALGR(SI_ZCAR) // ¤ 116#define SI_CURR ALGR(SI_ZCAR) // ¤
159// Row 4
160#define SI_AT ALGR(SI_V) // @ 117#define SI_AT ALGR(SI_V) // @
161#define SI_LCBR ALGR(SI_B) // { 118#define SI_LCBR ALGR(SI_B) // {
162#define SI_RCBR ALGR(SI_N) // } 119#define SI_RCBR ALGR(SI_N) // }
diff --git a/quantum/keymap_extras/keymap_spanish.h b/quantum/keymap_extras/keymap_spanish.h
index 8432c56e99..ffdb3f14d3 100644
--- a/quantum/keymap_extras/keymap_spanish.h
+++ b/quantum/keymap_extras/keymap_spanish.h
@@ -1,39 +1,33 @@
1/* Copyright 2015-2016 Jack Humbert 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ` │ + │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ñ │ ´ │ Ç │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define ES_MORD KC_GRV // º 31#define ES_MORD KC_GRV // º
38#define ES_1 KC_1 // 1 32#define ES_1 KC_1 // 1
39#define ES_2 KC_2 // 2 33#define ES_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define ES_0 KC_0 // 0 41#define ES_0 KC_0 // 0
48#define ES_QUOT KC_MINS // ' 42#define ES_QUOT KC_MINS // '
49#define ES_IEXL KC_EQL // ¡ 43#define ES_IEXL KC_EQL // ¡
50// Row 2
51#define ES_Q KC_Q // Q 44#define ES_Q KC_Q // Q
52#define ES_W KC_W // W 45#define ES_W KC_W // W
53#define ES_E KC_E // E 46#define ES_E KC_E // E
@@ -60,7 +53,6 @@
60#define ES_P KC_P // P 53#define ES_P KC_P // P
61#define ES_GRV KC_LBRC // ` (dead) 54#define ES_GRV KC_LBRC // ` (dead)
62#define ES_PLUS KC_RBRC // + 55#define ES_PLUS KC_RBRC // +
63// Row 3
64#define ES_A KC_A // A 56#define ES_A KC_A // A
65#define ES_S KC_S // S 57#define ES_S KC_S // S
66#define ES_D KC_D // D 58#define ES_D KC_D // D
@@ -73,7 +65,6 @@
73#define ES_NTIL KC_SCLN // Ñ 65#define ES_NTIL KC_SCLN // Ñ
74#define ES_ACUT KC_QUOT // ´ (dead) 66#define ES_ACUT KC_QUOT // ´ (dead)
75#define ES_CCED KC_NUHS // Ç 67#define ES_CCED KC_NUHS // Ç
76// Row 4
77#define ES_LABK KC_NUBS // < 68#define ES_LABK KC_NUBS // <
78#define ES_Z KC_Z // Z 69#define ES_Z KC_Z // Z
79#define ES_X KC_X // X 70#define ES_X KC_X // X
@@ -85,21 +76,6 @@
85#define ES_COMM KC_COMM // , 76#define ES_COMM KC_COMM // ,
86#define ES_DOT KC_DOT // . 77#define ES_DOT KC_DOT // .
87#define ES_MINS KC_SLSH // - 78#define ES_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define ES_FORD S(ES_MORD) // ª 79#define ES_FORD S(ES_MORD) // ª
104#define ES_EXLM S(ES_1) // ! 80#define ES_EXLM S(ES_1) // !
105#define ES_DQUO S(ES_2) // " 81#define ES_DQUO S(ES_2) // "
@@ -113,31 +89,13 @@
113#define ES_EQL S(ES_0) // = 89#define ES_EQL S(ES_0) // =
114#define ES_QUES S(ES_QUOT) // ? 90#define ES_QUES S(ES_QUOT) // ?
115#define ES_IQUE S(ES_IEXL) // ¿ 91#define ES_IQUE S(ES_IEXL) // ¿
116// Row 2
117#define ES_CIRC S(ES_GRV) // ^ (dead) 92#define ES_CIRC S(ES_GRV) // ^ (dead)
118#define ES_ASTR S(ES_PLUS) // * 93#define ES_ASTR S(ES_PLUS) // *
119// Row 3
120#define ES_DIAE S(ES_ACUT) // ¨ (dead) 94#define ES_DIAE S(ES_ACUT) // ¨ (dead)
121// Row 4
122#define ES_RABK S(ES_LABK) // > 95#define ES_RABK S(ES_LABK) // >
123#define ES_SCLN S(KC_COMM) // ; 96#define ES_SCLN S(KC_COMM) // ;
124#define ES_COLN S(KC_DOT) // : 97#define ES_COLN S(KC_DOT) // :
125#define ES_UNDS S(ES_MINS) // _ 98#define ES_UNDS S(ES_MINS) // _
126
127/* AltGr symbols
128 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
129 * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
131 * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
133 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
134 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
135 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
136 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
137 * │ │ │ │ │ │ │ │ │
138 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
139 */
140// Row 1
141#define ES_BSLS ALGR(ES_MORD) // (backslash) 99#define ES_BSLS ALGR(ES_MORD) // (backslash)
142#define ES_PIPE ALGR(ES_1) // | 100#define ES_PIPE ALGR(ES_1) // |
143#define ES_AT ALGR(ES_2) // @ 101#define ES_AT ALGR(ES_2) // @
@@ -145,9 +103,7 @@
145#define ES_TILD ALGR(ES_4) // ~ 103#define ES_TILD ALGR(ES_4) // ~
146#define ES_EURO ALGR(ES_5) // € 104#define ES_EURO ALGR(ES_5) // €
147#define ES_NOT ALGR(ES_6) // ¬ 105#define ES_NOT ALGR(ES_6) // ¬
148// Row 2
149#define ES_LBRC ALGR(ES_GRV) // [ 106#define ES_LBRC ALGR(ES_GRV) // [
150#define ES_RBRC ALGR(ES_PLUS) // ] 107#define ES_RBRC ALGR(ES_PLUS) // ]
151// Row 3
152#define ES_LCBR ALGR(ES_ACUT) // { 108#define ES_LCBR ALGR(ES_ACUT) // {
153#define ES_RCBR ALGR(ES_CCED) // } 109#define ES_RCBR ALGR(ES_CCED) // }
diff --git a/quantum/keymap_extras/keymap_spanish_dvorak.h b/quantum/keymap_extras/keymap_spanish_dvorak.h
index ea0c93f86a..b7dfce923e 100644
--- a/quantum/keymap_extras/keymap_spanish_dvorak.h
+++ b/quantum/keymap_extras/keymap_spanish_dvorak.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 José Andrés García 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ . │ , │ Ñ │ P │ Y │ F │ G │ C │ H │ L │ ` │ + │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ O │ E │ U │ I │ D │ R │ T │ N │ S │ ´ │ Ç │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ - │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define DV_MORD KC_GRV // º 31#define DV_MORD KC_GRV // º
38#define DV_1 KC_1 // 1 32#define DV_1 KC_1 // 1
39#define DV_2 KC_2 // 2 33#define DV_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define DV_0 KC_0 // 0 41#define DV_0 KC_0 // 0
48#define DV_QUOT KC_MINS // ' 42#define DV_QUOT KC_MINS // '
49#define DV_IEXL KC_EQL // ¡ 43#define DV_IEXL KC_EQL // ¡
50// Row 2
51#define DV_DOT KC_Q // . 44#define DV_DOT KC_Q // .
52#define DV_COMM KC_W // , 45#define DV_COMM KC_W // ,
53#define DV_NTIL KC_E // Ñ 46#define DV_NTIL KC_E // Ñ
@@ -60,7 +53,6 @@
60#define DV_L KC_P // L 53#define DV_L KC_P // L
61#define DV_GRV KC_LBRC // ` (dead) 54#define DV_GRV KC_LBRC // ` (dead)
62#define DV_PLUS KC_RBRC // + 55#define DV_PLUS KC_RBRC // +
63// Row 3
64#define DV_A KC_A // A 56#define DV_A KC_A // A
65#define DV_O KC_S // O 57#define DV_O KC_S // O
66#define DV_E KC_D // E 58#define DV_E KC_D // E
@@ -73,7 +65,6 @@
73#define DV_S KC_SCLN // S 65#define DV_S KC_SCLN // S
74#define DV_ACUT KC_QUOT // ´ (dead) 66#define DV_ACUT KC_QUOT // ´ (dead)
75#define DV_CCED KC_NUHS // Ç 67#define DV_CCED KC_NUHS // Ç
76// Row 4
77#define DV_LABK KC_NUBS // < 68#define DV_LABK KC_NUBS // <
78#define DV_MINS KC_Z // - 69#define DV_MINS KC_Z // -
79#define DV_Q KC_X // Q 70#define DV_Q KC_X // Q
@@ -85,21 +76,6 @@
85#define DV_W KC_COMM // W 76#define DV_W KC_COMM // W
86#define DV_V KC_DOT // V 77#define DV_V KC_DOT // V
87#define DV_Z KC_SLSH // Z 78#define DV_Z KC_SLSH // Z
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ : │ ; │ │ │ │ │ │ │ │ │ ^ │ * │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ _ │ │ │ │ │ │ │ │ │ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define DV_FORD S(DV_MORD) // ª 79#define DV_FORD S(DV_MORD) // ª
104#define DV_EXLM S(DV_1) // ! 80#define DV_EXLM S(DV_1) // !
105#define DV_DQUO S(DV_2) // " 81#define DV_DQUO S(DV_2) // "
@@ -113,31 +89,13 @@
113#define DV_EQL S(DV_0) // = 89#define DV_EQL S(DV_0) // =
114#define DV_QUES S(DV_QUOT) // ? 90#define DV_QUES S(DV_QUOT) // ?
115#define DV_IQUE S(DV_IEXL) // ¿ 91#define DV_IQUE S(DV_IEXL) // ¿
116// Row 2
117#define DV_COLN S(DV_DOT) // : 92#define DV_COLN S(DV_DOT) // :
118#define DV_SCLN S(DV_COMM) // ; 93#define DV_SCLN S(DV_COMM) // ;
119#define DV_CIRC S(DV_GRV) // ^ (dead) 94#define DV_CIRC S(DV_GRV) // ^ (dead)
120#define DV_ASTR S(DV_PLUS) // * 95#define DV_ASTR S(DV_PLUS) // *
121// Row 3
122#define DV_DIAE S(DV_ACUT) // ¨ (dead) 96#define DV_DIAE S(DV_ACUT) // ¨ (dead)
123// Row 4
124#define DV_RABK S(DV_LABK) // > 97#define DV_RABK S(DV_LABK) // >
125#define DV_UNDS S(DV_MINS) // _ 98#define DV_UNDS S(DV_MINS) // _
126
127/* AltGr symbols
128 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
129 * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
131 * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
133 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
134 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
135 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
136 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
137 * │ │ │ │ │ │ │ │ │
138 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
139 */
140// Row 1
141#define DV_BSLS ALGR(DV_MORD) // (backslash) 99#define DV_BSLS ALGR(DV_MORD) // (backslash)
142#define DV_PIPE ALGR(DV_1) // | 100#define DV_PIPE ALGR(DV_1) // |
143#define DV_AT ALGR(DV_2) // @ 101#define DV_AT ALGR(DV_2) // @
@@ -145,9 +103,7 @@
145#define DV_TILD ALGR(DV_4) // ~ 103#define DV_TILD ALGR(DV_4) // ~
146#define DV_EURO ALGR(DV_5) // € 104#define DV_EURO ALGR(DV_5) // €
147#define DV_NOT ALGR(DV_6) // ¬ 105#define DV_NOT ALGR(DV_6) // ¬
148// Row 2
149#define DV_LBRC ALGR(DV_GRV) // [ 106#define DV_LBRC ALGR(DV_GRV) // [
150#define DV_RBRC ALGR(DV_PLUS) // ] 107#define DV_RBRC ALGR(DV_PLUS) // ]
151// Row 3
152#define DV_LCBR ALGR(DV_ACUT) // { 108#define DV_LCBR ALGR(DV_ACUT) // {
153#define DV_RCBR ALGR(DV_CCED) // } 109#define DV_RCBR ALGR(DV_CCED) // }
diff --git a/quantum/keymap_extras/keymap_steno.h b/quantum/keymap_extras/keymap_steno.h
index 07d96b7465..733446e660 100644
--- a/quantum/keymap_extras/keymap_steno.h
+++ b/quantum/keymap_extras/keymap_steno.h
@@ -1,119 +1,30 @@
1/* Copyright 2017 Joseph Wasson 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
28// clang-format off
20 29
21// List of keycodes for the steno keyboard. To prevent 30// Aliases
22// errors, this must be <= 42 total entries in order to
23// support the GeminiPR protocol.
24enum steno_keycodes {
25 STN__MIN = QK_STENO,
26 STN_FN = STN__MIN,
27 STN_NUM,
28 STN_N1 = STN_NUM,
29 STN_N2,
30 STN_N3,
31 STN_N4,
32 STN_N5,
33 STN_N6,
34 STN_SL,
35 STN_S1 = STN_SL,
36 STN_S2,
37 STN_TL,
38 STN_KL,
39 STN_PL,
40 STN_WL,
41 STN_HL,
42 STN_RL,
43 STN_A,
44 STN_O,
45 STN_STR,
46 STN_ST1 = STN_STR,
47 STN_ST2,
48 STN_RES1,
49 STN_RE1 = STN_RES1,
50 STN_RES2,
51 STN_RE2 = STN_RES2,
52 STN_PWR,
53 STN_ST3,
54 STN_ST4,
55 STN_E,
56 STN_U,
57 STN_FR,
58 STN_RR,
59 STN_PR,
60 STN_BR,
61 STN_LR,
62 STN_GR,
63 STN_TR,
64 STN_SR,
65 STN_DR,
66 STN_N7,
67 STN_N8,
68 STN_N9,
69 STN_NA,
70 STN_NB,
71 STN_NC,
72 STN_ZR,
73 STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT
74};
75
76#ifdef STENO_COMBINEDMAP
77enum steno_combined_keycodes {
78 STN_S3 = QK_STENO_COMB,
79 STN_TKL,
80 STN_PWL,
81 STN_HRL,
82 STN_FRR,
83 STN_PBR,
84 STN_LGR,
85 STN_TSR,
86 STN_DZR,
87 STN_AO,
88 STN_EU,
89 STN_COMB_MAX = STN_EU,
90};
91#endif
92
93#ifdef STENO_ENABLE_BOLT
94// TxBolt Codes
95# define TXB_NUL 0
96# define TXB_S_L 0b00000001
97# define TXB_T_L 0b00000010
98# define TXB_K_L 0b00000100
99# define TXB_P_L 0b00001000
100# define TXB_W_L 0b00010000
101# define TXB_H_L 0b00100000
102# define TXB_R_L 0b01000001
103# define TXB_A_L 0b01000010
104# define TXB_O_L 0b01000100
105# define TXB_STR 0b01001000
106# define TXB_E_R 0b01010000
107# define TXB_U_R 0b01100000
108# define TXB_F_R 0b10000001
109# define TXB_R_R 0b10000010
110# define TXB_P_R 0b10000100
111# define TXB_B_R 0b10001000
112# define TXB_L_R 0b10010000
113# define TXB_G_R 0b10100000
114# define TXB_T_R 0b11000001
115# define TXB_S_R 0b11000010
116# define TXB_D_R 0b11000100
117# define TXB_Z_R 0b11001000
118# define TXB_NUM 0b11010000
119#endif // STENO_ENABLE_BOLT
diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h
index cadb66d3bd..262ed2bcfc 100644
--- a/quantum/keymap_extras/keymap_swedish.h
+++ b/quantum/keymap_extras/keymap_swedish.h
@@ -1,39 +1,33 @@
1/* Copyright 2017 Andreas Lindhé 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define SE_SECT KC_GRV // § 31#define SE_SECT KC_GRV // §
38#define SE_1 KC_1 // 1 32#define SE_1 KC_1 // 1
39#define SE_2 KC_2 // 2 33#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define SE_0 KC_0 // 0 41#define SE_0 KC_0 // 0
48#define SE_PLUS KC_MINS // + 42#define SE_PLUS KC_MINS // +
49#define SE_ACUT KC_EQL // ´ (dead) 43#define SE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define SE_Q KC_Q // Q 44#define SE_Q KC_Q // Q
52#define SE_W KC_W // W 45#define SE_W KC_W // W
53#define SE_E KC_E // E 46#define SE_E KC_E // E
@@ -60,7 +53,6 @@
60#define SE_P KC_P // P 53#define SE_P KC_P // P
61#define SE_ARNG KC_LBRC // Å 54#define SE_ARNG KC_LBRC // Å
62#define SE_DIAE KC_RBRC // ¨ (dead) 55#define SE_DIAE KC_RBRC // ¨ (dead)
63// Row 3
64#define SE_A KC_A // A 56#define SE_A KC_A // A
65#define SE_S KC_S // S 57#define SE_S KC_S // S
66#define SE_D KC_D // D 58#define SE_D KC_D // D
@@ -73,7 +65,6 @@
73#define SE_ODIA KC_SCLN // Ö 65#define SE_ODIA KC_SCLN // Ö
74#define SE_ADIA KC_QUOT // Ä 66#define SE_ADIA KC_QUOT // Ä
75#define SE_QUOT KC_NUHS // ' 67#define SE_QUOT KC_NUHS // '
76// Row 4
77#define SE_LABK KC_NUBS // < 68#define SE_LABK KC_NUBS // <
78#define SE_Z KC_Z // Z 69#define SE_Z KC_Z // Z
79#define SE_X KC_X // X 70#define SE_X KC_X // X
@@ -85,21 +76,6 @@
85#define SE_COMM KC_COMM // , 76#define SE_COMM KC_COMM // ,
86#define SE_DOT KC_DOT // . 77#define SE_DOT KC_DOT // .
87#define SE_MINS KC_SLSH // - 78#define SE_MINS KC_SLSH // -
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define SE_HALF S(SE_SECT) // ½ 79#define SE_HALF S(SE_SECT) // ½
104#define SE_EXLM S(SE_1) // ! 80#define SE_EXLM S(SE_1) // !
105#define SE_DQUO S(SE_2) // " 81#define SE_DQUO S(SE_2) // "
@@ -113,30 +89,12 @@
113#define SE_EQL S(SE_0) // = 89#define SE_EQL S(SE_0) // =
114#define SE_QUES S(SE_PLUS) // ? 90#define SE_QUES S(SE_PLUS) // ?
115#define SE_GRV S(SE_ACUT) // ` (dead) 91#define SE_GRV S(SE_ACUT) // ` (dead)
116// Row 2
117#define SE_CIRC S(SE_DIAE) // ^ (dead) 92#define SE_CIRC S(SE_DIAE) // ^ (dead)
118// Row 3
119#define SE_ASTR S(SE_QUOT) // * 93#define SE_ASTR S(SE_QUOT) // *
120// Row 4
121#define SE_RABK S(SE_LABK) // > 94#define SE_RABK S(SE_LABK) // >
122#define SE_SCLN S(SE_COMM) // ; 95#define SE_SCLN S(SE_COMM) // ;
123#define SE_COLN S(SE_DOT) // : 96#define SE_COLN S(SE_DOT) // :
124#define SE_UNDS S(SE_MINS) // _ 97#define SE_UNDS S(SE_MINS) // _
125
126/* AltGr symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
128 * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
130 * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
134 * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
135 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
136 * │ │ │ │ │ │ │ │ │
137 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
138 */
139// Row 1
140#define SE_AT ALGR(SE_2) // @ 98#define SE_AT ALGR(SE_2) // @
141#define SE_PND ALGR(SE_3) // £ 99#define SE_PND ALGR(SE_3) // £
142#define SE_DLR ALGR(SE_4) // $ 100#define SE_DLR ALGR(SE_4) // $
@@ -146,11 +104,6 @@
146#define SE_RBRC ALGR(SE_9) // ] 104#define SE_RBRC ALGR(SE_9) // ]
147#define SE_RCBR ALGR(SE_0) // } 105#define SE_RCBR ALGR(SE_0) // }
148#define SE_BSLS ALGR(SE_PLUS) // (backslash) 106#define SE_BSLS ALGR(SE_PLUS) // (backslash)
149// Row 2
150#define SE_TILD ALGR(SE_DIAE) // ~ (dead) 107#define SE_TILD ALGR(SE_DIAE) // ~ (dead)
151// Row 4
152#define SE_PIPE ALGR(SE_LABK) // | 108#define SE_PIPE ALGR(SE_LABK) // |
153#define SE_MICR ALGR(SE_M) // µ 109#define SE_MICR ALGR(SE_M) // µ
154
155// DEPRECATED
156#include "keymap_nordic.h"
diff --git a/quantum/keymap_extras/keymap_swedish_mac_ansi.h b/quantum/keymap_extras/keymap_swedish_mac_ansi.h
index 0d0426f866..195d46c980 100644
--- a/quantum/keymap_extras/keymap_swedish_mac_ansi.h
+++ b/quantum/keymap_extras/keymap_swedish_mac_ansi.h
@@ -1,39 +1,33 @@
1/* Copyright 2021 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define SE_LABK KC_GRV // < 31#define SE_LABK KC_GRV // <
38#define SE_1 KC_1 // 1 32#define SE_1 KC_1 // 1
39#define SE_2 KC_2 // 2 33#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define SE_0 KC_0 // 0 41#define SE_0 KC_0 // 0
48#define SE_PLUS KC_MINS // + 42#define SE_PLUS KC_MINS // +
49#define SE_ACUT KC_EQL // ´ (dead) 43#define SE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define SE_Q KC_Q // Q 44#define SE_Q KC_Q // Q
52#define SE_W KC_W // W 45#define SE_W KC_W // W
53#define SE_E KC_E // E 46#define SE_E KC_E // E
@@ -61,7 +54,6 @@
61#define SE_ARNG KC_LBRC // Å 54#define SE_ARNG KC_LBRC // Å
62#define SE_DIAE KC_RBRC // ¨ (dead) 55#define SE_DIAE KC_RBRC // ¨ (dead)
63#define SE_QUOT KC_NUHS // ' 56#define SE_QUOT KC_NUHS // '
64// Row 3
65#define SE_A KC_A // A 57#define SE_A KC_A // A
66#define SE_S KC_S // S 58#define SE_S KC_S // S
67#define SE_D KC_D // D 59#define SE_D KC_D // D
@@ -73,7 +65,6 @@
73#define SE_L KC_L // L 65#define SE_L KC_L // L
74#define SE_ODIA KC_SCLN // Ö 66#define SE_ODIA KC_SCLN // Ö
75#define SE_ADIA KC_QUOT // Ä 67#define SE_ADIA KC_QUOT // Ä
76// Row 4
77#define SE_Z KC_Z // Z 68#define SE_Z KC_Z // Z
78#define SE_X KC_X // X 69#define SE_X KC_X // X
79#define SE_C KC_C // C 70#define SE_C KC_C // C
@@ -84,21 +75,6 @@
84#define SE_COMM KC_COMM // , 75#define SE_COMM KC_COMM // ,
85#define SE_DOT KC_DOT // . 76#define SE_DOT KC_DOT // .
86#define SE_MINS KC_SLSH // - 77#define SE_MINS KC_SLSH // -
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
90 * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
96 * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
97 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
98 * │ │ │ │ │ │ │ │
99 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
100 */
101// Row 1
102#define SE_RABK S(SE_LABK) // > 78#define SE_RABK S(SE_LABK) // >
103#define SE_EXLM S(SE_1) // ! 79#define SE_EXLM S(SE_1) // !
104#define SE_DQUO S(SE_2) // " 80#define SE_DQUO S(SE_2) // "
@@ -112,29 +88,11 @@
112#define SE_EQL S(SE_0) // = 88#define SE_EQL S(SE_0) // =
113#define SE_QUES S(SE_PLUS) // ? 89#define SE_QUES S(SE_PLUS) // ?
114#define SE_GRV S(SE_ACUT) // ` 90#define SE_GRV S(SE_ACUT) // `
115// Row 2
116#define SE_CIRC S(SE_DIAE) // ^ (dead) 91#define SE_CIRC S(SE_DIAE) // ^ (dead)
117#define SE_ASTR S(SE_QUOT) // * 92#define SE_ASTR S(SE_QUOT) // *
118// Row 4
119#define SE_SCLN S(SE_COMM) // ; 93#define SE_SCLN S(SE_COMM) // ;
120#define SE_COLN S(SE_DOT) // : 94#define SE_COLN S(SE_DOT) // :
121#define SE_UNDS S(SE_MINS) // _ 95#define SE_UNDS S(SE_MINS) // _
122
123/* Alted symbols
124 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
125 * │ ≤ │ © │ ™ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
126 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
127 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ @ │
128 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
129 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
130 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
131 * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
132 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
133 * │ │ │ │ │ │ │ │
134 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
135 *
136 */
137// Row 1
138#define SE_LTEQ A(SE_LABK) // ≤ 96#define SE_LTEQ A(SE_LABK) // ≤
139#define SE_COPY A(SE_1) // © 97#define SE_COPY A(SE_1) // ©
140#define SE_TM A(SE_2) // ™ 98#define SE_TM A(SE_2) // ™
@@ -147,7 +105,6 @@
147#define SE_RBRC A(SE_9) // ] 105#define SE_RBRC A(SE_9) // ]
148#define SE_AEQL A(SE_0) // ≈ 106#define SE_AEQL A(SE_0) // ≈
149#define SE_PLMN A(SE_PLUS) // ± 107#define SE_PLMN A(SE_PLUS) // ±
150// Row 2
151#define SE_BULT A(SE_Q) // • 108#define SE_BULT A(SE_Q) // •
152#define SE_OMEG A(SE_W) // Ω 109#define SE_OMEG A(SE_W) // Ω
153#define SE_EACU A(SE_E) // É 110#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
161#define SE_DOTA A(SE_ARNG) // ˙ 118#define SE_DOTA A(SE_ARNG) // ˙
162#define SE_TILD A(SE_DIAE) // ~ (dead) 119#define SE_TILD A(SE_DIAE) // ~ (dead)
163#define SE_AT A(SE_QUOT) // @ 120#define SE_AT A(SE_QUOT) // @
164// Row 3
165#define SE_APPL A(SE_A) //  (Apple logo) 121#define SE_APPL A(SE_A) //  (Apple logo)
166#define SE_SS A(SE_S) // ß 122#define SE_SS A(SE_S) // ß
167#define SE_PDIF A(SE_D) // ∂ 123#define SE_PDIF A(SE_D) // ∂
@@ -173,7 +129,6 @@
173#define SE_FI A(SE_L) // fi 129#define SE_FI A(SE_L) // fi
174#define SE_OSTR A(SE_ODIA) // Ø 130#define SE_OSTR A(SE_ODIA) // Ø
175#define SE_AE A(SE_ADIA) // Æ 131#define SE_AE A(SE_ADIA) // Æ
176// Row 4
177#define SE_DIV A(SE_Z) // ÷ 132#define SE_DIV A(SE_Z) // ÷
178#define SE_CCED A(SE_C) // Ç 133#define SE_CCED A(SE_C) // Ç
179#define SE_LSAQ A(SE_V) // ‹ 134#define SE_LSAQ A(SE_V) // ‹
@@ -183,22 +138,6 @@
183#define SE_SLQU A(SE_COMM) // ‚ 138#define SE_SLQU A(SE_COMM) // ‚
184#define SE_ELLP A(SE_DOT) // … 139#define SE_ELLP A(SE_DOT) // …
185#define SE_NDSH A(SE_MINS) // – 140#define SE_NDSH A(SE_MINS) // –
186
187/* Shift+Alted symbols
188 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
189 * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
190 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
191 * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
192 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
193 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
194 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
195 * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
196 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
197 * │ │ │ │ │ │ │ │
198 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
199 *
200 */
201// Row 1
202#define SE_GTEQ S(A(SE_LABK)) // ≥ 141#define SE_GTEQ S(A(SE_LABK)) // ≥
203#define SE_IEXL S(A(SE_1)) // ¡ 142#define SE_IEXL S(A(SE_1)) // ¡
204#define SE_YEN S(A(SE_3)) // ¥ 143#define SE_YEN S(A(SE_3)) // ¥
@@ -210,7 +149,6 @@
210#define SE_RCBR S(A(SE_9)) // } 149#define SE_RCBR S(A(SE_9)) // }
211#define SE_NEQL S(A(SE_0)) // ≠ 150#define SE_NEQL S(A(SE_0)) // ≠
212#define SE_IQUE S(A(SE_PLUS)) // ¿ 151#define SE_IQUE S(A(SE_PLUS)) // ¿
213// Row 2
214#define SE_DEG S(A(SE_Q)) // ° 152#define SE_DEG S(A(SE_Q)) // °
215#define SE_DACU S(A(SE_W)) // ˝ 153#define SE_DACU S(A(SE_W)) // ˝
216#define SE_DDAG S(A(SE_T)) // ‡ 154#define SE_DDAG S(A(SE_T)) // ‡
@@ -218,7 +156,6 @@
218#define SE_DCIR S(A(SE_I)) // ˆ 156#define SE_DCIR S(A(SE_I)) // ˆ
219#define SE_NARP S(A(SE_P)) // ∏ 157#define SE_NARP S(A(SE_P)) // ∏
220#define SE_RNGA S(A(SE_ARNG)) // ˚ 158#define SE_RNGA S(A(SE_ARNG)) // ˚
221// Row 3
222#define SE_LOZN S(A(SE_A)) // ◊ 159#define SE_LOZN S(A(SE_A)) // ◊
223#define SE_NARS S(A(SE_S)) // ∑ 160#define SE_NARS S(A(SE_S)) // ∑
224#define SE_INCR S(A(SE_D)) // ∆ 161#define SE_INCR S(A(SE_D)) // ∆
@@ -228,7 +165,6 @@
228#define SE_NOT S(A(SE_J)) // ¬ 165#define SE_NOT S(A(SE_J)) // ¬
229#define SE_MORD S(A(SE_K)) // º 166#define SE_MORD S(A(SE_K)) // º
230#define SE_FL S(A(SE_L)) // fl 167#define SE_FL S(A(SE_L)) // fl
231// Row 4
232#define SE_FRSL S(A(SE_Z)) // ⁄ 168#define SE_FRSL S(A(SE_Z)) // ⁄
233#define SE_CARN S(A(SE_X)) // ˇ 169#define SE_CARN S(A(SE_X)) // ˇ
234#define SE_LDAQ S(A(SE_V)) // « 170#define SE_LDAQ S(A(SE_V)) // «
diff --git a/quantum/keymap_extras/keymap_swedish_mac_iso.h b/quantum/keymap_extras/keymap_swedish_mac_iso.h
index ab155530ae..06c3470b3b 100644
--- a/quantum/keymap_extras/keymap_swedish_mac_iso.h
+++ b/quantum/keymap_extras/keymap_swedish_mac_iso.h
@@ -1,39 +1,33 @@
1/* Copyright 2021 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define SE_SECT KC_GRV // § 31#define SE_SECT KC_GRV // §
38#define SE_1 KC_1 // 1 32#define SE_1 KC_1 // 1
39#define SE_2 KC_2 // 2 33#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define SE_0 KC_0 // 0 41#define SE_0 KC_0 // 0
48#define SE_PLUS KC_MINS // + 42#define SE_PLUS KC_MINS // +
49#define SE_ACUT KC_EQL // ´ (dead) 43#define SE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define SE_Q KC_Q // Q 44#define SE_Q KC_Q // Q
52#define SE_W KC_W // W 45#define SE_W KC_W // W
53#define SE_E KC_E // E 46#define SE_E KC_E // E
@@ -60,7 +53,6 @@
60#define SE_P KC_P // P 53#define SE_P KC_P // P
61#define SE_ARNG KC_LBRC // Å 54#define SE_ARNG KC_LBRC // Å
62#define SE_DIAE KC_RBRC // ¨ (dead) 55#define SE_DIAE KC_RBRC // ¨ (dead)
63// Row 3
64#define SE_A KC_A // A 56#define SE_A KC_A // A
65#define SE_S KC_S // S 57#define SE_S KC_S // S
66#define SE_D KC_D // D 58#define SE_D KC_D // D
@@ -73,7 +65,6 @@
73#define SE_ODIA KC_SCLN // Ö 65#define SE_ODIA KC_SCLN // Ö
74#define SE_ADIA KC_QUOT // Ä 66#define SE_ADIA KC_QUOT // Ä
75#define SE_QUOT KC_NUHS // ' 67#define SE_QUOT KC_NUHS // '
76// Row 4
77#define SE_LABK KC_NUBS // < 68#define SE_LABK KC_NUBS // <
78#define SE_Z KC_Z // Z 69#define SE_Z KC_Z // Z
79#define SE_X KC_X // X 70#define SE_X KC_X // X
@@ -85,22 +76,7 @@
85#define SE_COMM KC_COMM // , 76#define SE_COMM KC_COMM // ,
86#define SE_DOT KC_DOT // . 77#define SE_DOT KC_DOT // .
87#define SE_MINS KC_SLSH // - 78#define SE_MINS KC_SLSH // -
88 79#define SE_DEG S(SE_SECT) // °
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
91 * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │ │ │ │ │ │ │ │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define SE_DEG S(SE_SECT) // °
104#define SE_EXLM S(SE_1) // ! 80#define SE_EXLM S(SE_1) // !
105#define SE_DQUO S(SE_2) // " 81#define SE_DQUO S(SE_2) // "
106#define SE_HASH S(SE_3) // # 82#define SE_HASH S(SE_3) // #
@@ -113,30 +89,12 @@
113#define SE_EQL S(SE_0) // = 89#define SE_EQL S(SE_0) // =
114#define SE_QUES S(SE_PLUS) // ? 90#define SE_QUES S(SE_PLUS) // ?
115#define SE_GRV S(SE_ACUT) // ` 91#define SE_GRV S(SE_ACUT) // `
116// Row 2
117#define SE_CIRC S(SE_DIAE) // ^ (dead) 92#define SE_CIRC S(SE_DIAE) // ^ (dead)
118// Row 3
119#define SE_ASTR S(SE_QUOT) // * 93#define SE_ASTR S(SE_QUOT) // *
120// Row 4
121#define SE_RABK S(SE_LABK) // > 94#define SE_RABK S(SE_LABK) // >
122#define SE_SCLN S(SE_COMM) // ; 95#define SE_SCLN S(SE_COMM) // ;
123#define SE_COLN S(SE_DOT) // : 96#define SE_COLN S(SE_DOT) // :
124#define SE_UNDS S(SE_MINS) // _ 97#define SE_UNDS S(SE_MINS) // _
125
126/* Alted symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
128 * │ ¶ │ © │ ™ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
130 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ @ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
134 * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
135 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
136 * │ │ │ │ │ │ │ │
137 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
138 */
139// Row 1
140#define SE_PILC A(SE_SECT) // ¶ 98#define SE_PILC A(SE_SECT) // ¶
141#define SE_COPY A(SE_1) // © 99#define SE_COPY A(SE_1) // ©
142#define SE_TM A(SE_2) // ™ 100#define SE_TM A(SE_2) // ™
@@ -148,7 +106,6 @@
148#define SE_RBRC A(SE_9) // ] 106#define SE_RBRC A(SE_9) // ]
149#define SE_AEQL A(SE_0) // ≈ 107#define SE_AEQL A(SE_0) // ≈
150#define SE_PLMN A(SE_PLUS) // ± 108#define SE_PLMN A(SE_PLUS) // ±
151// Row 2
152#define SE_BULT A(SE_Q) // • 109#define SE_BULT A(SE_Q) // •
153#define SE_OMEG A(SE_W) // Ω 110#define SE_OMEG A(SE_W) // Ω
154#define SE_EACU A(SE_E) // É 111#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
161#define SE_PI A(SE_P) // π 118#define SE_PI A(SE_P) // π
162#define SE_DOTA A(SE_ARNG) // ˙ 119#define SE_DOTA A(SE_ARNG) // ˙
163#define SE_TILD A(SE_DIAE) // ~ (dead) 120#define SE_TILD A(SE_DIAE) // ~ (dead)
164// Row 3
165#define SE_APPL A(SE_A) //  (Apple logo) 121#define SE_APPL A(SE_A) //  (Apple logo)
166#define SE_SS A(SE_S) // ß 122#define SE_SS A(SE_S) // ß
167#define SE_PDIF A(SE_D) // ∂ 123#define SE_PDIF A(SE_D) // ∂
@@ -174,7 +130,6 @@
174#define SE_OSTR A(SE_ODIA) // Ø 130#define SE_OSTR A(SE_ODIA) // Ø
175#define SE_AE A(SE_ADIA) // Æ 131#define SE_AE A(SE_ADIA) // Æ
176#define SE_AT A(SE_QUOT) // @ 132#define SE_AT A(SE_QUOT) // @
177// Row 4
178#define SE_LTEQ A(SE_LABK) // ≤ 133#define SE_LTEQ A(SE_LABK) // ≤
179#define SE_DIV A(SE_Z) // ÷ 134#define SE_DIV A(SE_Z) // ÷
180#define SE_CCED A(SE_C) // Ç 135#define SE_CCED A(SE_C) // Ç
@@ -185,21 +140,6 @@
185#define SE_SLQU A(SE_COMM) // ‚ 140#define SE_SLQU A(SE_COMM) // ‚
186#define SE_ELLP A(SE_DOT) // … 141#define SE_ELLP A(SE_DOT) // …
187#define SE_NDSH A(SE_MINS) // – 142#define SE_NDSH A(SE_MINS) // –
188
189/* Shift+Alted symbols
190 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
191 * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
192 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
193 * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
194 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
195 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
196 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
197 * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
198 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
199 * │ │ │ │ │ │ │ │
200 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
201 */
202// Row 1
203#define SE_IEXL S(A(SE_1)) // ¡ 143#define SE_IEXL S(A(SE_1)) // ¡
204#define SE_YEN S(A(SE_3)) // ¥ 144#define SE_YEN S(A(SE_3)) // ¥
205#define SE_CENT S(A(SE_4)) // ¢ 145#define SE_CENT S(A(SE_4)) // ¢
@@ -209,14 +149,12 @@
209#define SE_RCBR S(A(SE_9)) // } 149#define SE_RCBR S(A(SE_9)) // }
210#define SE_NEQL S(A(SE_0)) // ≠ 150#define SE_NEQL S(A(SE_0)) // ≠
211#define SE_IQUE S(A(SE_PLUS)) // ¿ 151#define SE_IQUE S(A(SE_PLUS)) // ¿
212// Row 2
213#define SE_DACU S(A(SE_W)) // ˝ 152#define SE_DACU S(A(SE_W)) // ˝
214#define SE_DDAG S(A(SE_T)) // ‡ 153#define SE_DDAG S(A(SE_T)) // ‡
215#define SE_STIL S(A(SE_Y)) // ˜ 154#define SE_STIL S(A(SE_Y)) // ˜
216#define SE_DCIR S(A(SE_I)) // ˆ 155#define SE_DCIR S(A(SE_I)) // ˆ
217#define SE_NARP S(A(SE_P)) // ∏ 156#define SE_NARP S(A(SE_P)) // ∏
218#define SE_RNGA S(A(SE_ARNG)) // ˚ 157#define SE_RNGA S(A(SE_ARNG)) // ˚
219// Row 3
220#define SE_LOZN S(A(SE_A)) // ◊ 158#define SE_LOZN S(A(SE_A)) // ◊
221#define SE_NARS S(A(SE_S)) // ∑ 159#define SE_NARS S(A(SE_S)) // ∑
222#define SE_INCR S(A(SE_D)) // ∆ 160#define SE_INCR S(A(SE_D)) // ∆
@@ -226,7 +164,6 @@
226#define SE_NOT S(A(SE_J)) // ¬ 164#define SE_NOT S(A(SE_J)) // ¬
227#define SE_MORD S(A(SE_K)) // º 165#define SE_MORD S(A(SE_K)) // º
228#define SE_FL S(A(SE_L)) // fl 166#define SE_FL S(A(SE_L)) // fl
229// Row 4
230#define SE_GTEQ S(A(SE_LABK)) // ≥ 167#define SE_GTEQ S(A(SE_LABK)) // ≥
231#define SE_FRSL S(A(SE_Z)) // ⁄ 168#define SE_FRSL S(A(SE_Z)) // ⁄
232#define SE_CARN S(A(SE_X)) // ˇ 169#define SE_CARN S(A(SE_X)) // ˇ
diff --git a/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h b/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h
index 9b44517625..4d4d7fcd81 100644
--- a/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h
+++ b/quantum/keymap_extras/keymap_swedish_pro_mac_ansi.h
@@ -1,39 +1,33 @@
1/* Copyright 2021 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define SE_LABK KC_GRV // < 31#define SE_LABK KC_GRV // <
38#define SE_1 KC_1 // 1 32#define SE_1 KC_1 // 1
39#define SE_2 KC_2 // 2 33#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define SE_0 KC_0 // 0 41#define SE_0 KC_0 // 0
48#define SE_PLUS KC_MINS // + 42#define SE_PLUS KC_MINS // +
49#define SE_ACUT KC_EQL // ´ (dead) 43#define SE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define SE_Q KC_Q // Q 44#define SE_Q KC_Q // Q
52#define SE_W KC_W // W 45#define SE_W KC_W // W
53#define SE_E KC_E // E 46#define SE_E KC_E // E
@@ -61,7 +54,6 @@
61#define SE_ARNG KC_LBRC // Å 54#define SE_ARNG KC_LBRC // Å
62#define SE_DIAE KC_RBRC // ¨ (dead) 55#define SE_DIAE KC_RBRC // ¨ (dead)
63#define SE_QUOT KC_NUHS // ' 56#define SE_QUOT KC_NUHS // '
64// Row 3
65#define SE_A KC_A // A 57#define SE_A KC_A // A
66#define SE_S KC_S // S 58#define SE_S KC_S // S
67#define SE_D KC_D // D 59#define SE_D KC_D // D
@@ -73,7 +65,6 @@
73#define SE_L KC_L // L 65#define SE_L KC_L // L
74#define SE_ODIA KC_SCLN // Ö 66#define SE_ODIA KC_SCLN // Ö
75#define SE_ADIA KC_QUOT // Ä 67#define SE_ADIA KC_QUOT // Ä
76// Row 4
77#define SE_Z KC_Z // Z 68#define SE_Z KC_Z // Z
78#define SE_X KC_X // X 69#define SE_X KC_X // X
79#define SE_C KC_C // C 70#define SE_C KC_C // C
@@ -84,21 +75,6 @@
84#define SE_COMM KC_COMM // , 75#define SE_COMM KC_COMM // ,
85#define SE_DOT KC_DOT // . 76#define SE_DOT KC_DOT // .
86#define SE_MINS KC_SLSH // - 77#define SE_MINS KC_SLSH // -
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
90 * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
96 * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
97 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
98 * │ │ │ │ │ │ │ │
99 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
100 */
101// Row 1
102#define SE_RABK S(SE_LABK) // > 78#define SE_RABK S(SE_LABK) // >
103#define SE_EXLM S(SE_1) // ! 79#define SE_EXLM S(SE_1) // !
104#define SE_DQUO S(SE_2) // " 80#define SE_DQUO S(SE_2) // "
@@ -112,29 +88,11 @@
112#define SE_EQL S(SE_0) // = 88#define SE_EQL S(SE_0) // =
113#define SE_QUES S(SE_PLUS) // ? 89#define SE_QUES S(SE_PLUS) // ?
114#define SE_GRV S(SE_ACUT) // ` 90#define SE_GRV S(SE_ACUT) // `
115// Row 2
116#define SE_CIRC S(SE_DIAE) // ^ (dead) 91#define SE_CIRC S(SE_DIAE) // ^ (dead)
117#define SE_ASTR S(SE_QUOT) // * 92#define SE_ASTR S(SE_QUOT) // *
118// Row 4
119#define SE_SCLN S(SE_COMM) // ; 93#define SE_SCLN S(SE_COMM) // ;
120#define SE_COLN S(SE_DOT) // : 94#define SE_COLN S(SE_DOT) // :
121#define SE_UNDS S(SE_MINS) // _ 95#define SE_UNDS S(SE_MINS) // _
122
123/* Alted symbols
124 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
125 * │ ≤ │ © │ @ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
126 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
127 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ ™ │
128 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
129 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
130 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
131 * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
132 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
133 * │ │ │ │ │ │ │ │
134 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
135 *
136 */
137// Row 1
138#define SE_LTEQ A(SE_LABK) // ≤ 96#define SE_LTEQ A(SE_LABK) // ≤
139#define SE_COPY A(SE_1) // © 97#define SE_COPY A(SE_1) // ©
140#define SE_AT A(SE_2) // @ 98#define SE_AT A(SE_2) // @
@@ -147,7 +105,6 @@
147#define SE_RBRC A(SE_9) // ] 105#define SE_RBRC A(SE_9) // ]
148#define SE_AEQL A(SE_0) // ≈ 106#define SE_AEQL A(SE_0) // ≈
149#define SE_PLMN A(SE_PLUS) // ± 107#define SE_PLMN A(SE_PLUS) // ±
150// Row 2
151#define SE_BULT A(SE_Q) // • 108#define SE_BULT A(SE_Q) // •
152#define SE_OMEG A(SE_W) // Ω 109#define SE_OMEG A(SE_W) // Ω
153#define SE_EACU A(SE_E) // É 110#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
161#define SE_DOTA A(SE_ARNG) // ˙ 118#define SE_DOTA A(SE_ARNG) // ˙
162#define SE_TILD A(SE_DIAE) // ~ (dead) 119#define SE_TILD A(SE_DIAE) // ~ (dead)
163#define SE_TM A(SE_QUOT) // ™ 120#define SE_TM A(SE_QUOT) // ™
164// Row 3
165#define SE_APPL A(SE_A) //  (Apple logo) 121#define SE_APPL A(SE_A) //  (Apple logo)
166#define SE_SS A(SE_S) // ß 122#define SE_SS A(SE_S) // ß
167#define SE_PDIF A(SE_D) // ∂ 123#define SE_PDIF A(SE_D) // ∂
@@ -173,7 +129,6 @@
173#define SE_FI A(SE_L) // fi 129#define SE_FI A(SE_L) // fi
174#define SE_OSTR A(SE_ODIA) // Ø 130#define SE_OSTR A(SE_ODIA) // Ø
175#define SE_AE A(SE_ADIA) // Æ 131#define SE_AE A(SE_ADIA) // Æ
176// Row 4
177#define SE_DIV A(SE_Z) // ÷ 132#define SE_DIV A(SE_Z) // ÷
178#define SE_CCED A(SE_C) // Ç 133#define SE_CCED A(SE_C) // Ç
179#define SE_LSAQ A(SE_V) // ‹ 134#define SE_LSAQ A(SE_V) // ‹
@@ -183,22 +138,6 @@
183#define SE_SLQU A(SE_COMM) // ‚ 138#define SE_SLQU A(SE_COMM) // ‚
184#define SE_ELLP A(SE_DOT) // … 139#define SE_ELLP A(SE_DOT) // …
185#define SE_NDSH A(SE_MINS) // – 140#define SE_NDSH A(SE_MINS) // –
186
187/* Shift+Alted symbols
188 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
189 * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
190 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
191 * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
192 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
193 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
194 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
195 * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
196 * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
197 * │ │ │ │ │ │ │ │
198 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
199 *
200 */
201// Row 1
202#define SE_GTEQ S(A(SE_LABK)) // ≥ 141#define SE_GTEQ S(A(SE_LABK)) // ≥
203#define SE_IEXL S(A(SE_1)) // ¡ 142#define SE_IEXL S(A(SE_1)) // ¡
204#define SE_YEN S(A(SE_3)) // ¥ 143#define SE_YEN S(A(SE_3)) // ¥
@@ -210,7 +149,6 @@
210#define SE_RCBR S(A(SE_9)) // } 149#define SE_RCBR S(A(SE_9)) // }
211#define SE_NEQL S(A(SE_0)) // ≠ 150#define SE_NEQL S(A(SE_0)) // ≠
212#define SE_IQUE S(A(SE_PLUS)) // ¿ 151#define SE_IQUE S(A(SE_PLUS)) // ¿
213// Row 2
214#define SE_DEG S(A(SE_Q)) // ° 152#define SE_DEG S(A(SE_Q)) // °
215#define SE_DACU S(A(SE_W)) // ˝ 153#define SE_DACU S(A(SE_W)) // ˝
216#define SE_DDAG S(A(SE_T)) // ‡ 154#define SE_DDAG S(A(SE_T)) // ‡
@@ -218,7 +156,6 @@
218#define SE_DCIR S(A(SE_I)) // ˆ 156#define SE_DCIR S(A(SE_I)) // ˆ
219#define SE_NARP S(A(SE_P)) // ∏ 157#define SE_NARP S(A(SE_P)) // ∏
220#define SE_RNGA S(A(SE_ARNG)) // ˚ 158#define SE_RNGA S(A(SE_ARNG)) // ˚
221// Row 3
222#define SE_LOZN S(A(SE_A)) // ◊ 159#define SE_LOZN S(A(SE_A)) // ◊
223#define SE_NARS S(A(SE_S)) // ∑ 160#define SE_NARS S(A(SE_S)) // ∑
224#define SE_INCR S(A(SE_D)) // ∆ 161#define SE_INCR S(A(SE_D)) // ∆
@@ -228,7 +165,6 @@
228#define SE_NOT S(A(SE_J)) // ¬ 165#define SE_NOT S(A(SE_J)) // ¬
229#define SE_MORD S(A(SE_K)) // º 166#define SE_MORD S(A(SE_K)) // º
230#define SE_FL S(A(SE_L)) // fl 167#define SE_FL S(A(SE_L)) // fl
231// Row 4
232#define SE_FRSL S(A(SE_Z)) // ⁄ 168#define SE_FRSL S(A(SE_Z)) // ⁄
233#define SE_CARN S(A(SE_X)) // ˇ 169#define SE_CARN S(A(SE_X)) // ˇ
234#define SE_LDAQ S(A(SE_V)) // « 170#define SE_LDAQ S(A(SE_V)) // «
diff --git a/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h b/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h
index f2d6605865..ea43ed5c12 100644
--- a/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h
+++ b/quantum/keymap_extras/keymap_swedish_pro_mac_iso.h
@@ -1,39 +1,33 @@
1/* Copyright 2021 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
32 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
33 * │ │ │ │ │ │ │ │
34 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
35 */
36// Row 1
37#define SE_SECT KC_GRV // § 31#define SE_SECT KC_GRV // §
38#define SE_1 KC_1 // 1 32#define SE_1 KC_1 // 1
39#define SE_2 KC_2 // 2 33#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define SE_0 KC_0 // 0 41#define SE_0 KC_0 // 0
48#define SE_PLUS KC_MINS // + 42#define SE_PLUS KC_MINS // +
49#define SE_ACUT KC_EQL // ´ (dead) 43#define SE_ACUT KC_EQL // ´ (dead)
50// Row 2
51#define SE_Q KC_Q // Q 44#define SE_Q KC_Q // Q
52#define SE_W KC_W // W 45#define SE_W KC_W // W
53#define SE_E KC_E // E 46#define SE_E KC_E // E
@@ -60,7 +53,6 @@
60#define SE_P KC_P // P 53#define SE_P KC_P // P
61#define SE_ARNG KC_LBRC // Å 54#define SE_ARNG KC_LBRC // Å
62#define SE_DIAE KC_RBRC // ¨ (dead) 55#define SE_DIAE KC_RBRC // ¨ (dead)
63// Row 3
64#define SE_A KC_A // A 56#define SE_A KC_A // A
65#define SE_S KC_S // S 57#define SE_S KC_S // S
66#define SE_D KC_D // D 58#define SE_D KC_D // D
@@ -73,7 +65,6 @@
73#define SE_ODIA KC_SCLN // Ö 65#define SE_ODIA KC_SCLN // Ö
74#define SE_ADIA KC_QUOT // Ä 66#define SE_ADIA KC_QUOT // Ä
75#define SE_QUOT KC_NUHS // ' 67#define SE_QUOT KC_NUHS // '
76// Row 4
77#define SE_LABK KC_NUBS // < 68#define SE_LABK KC_NUBS // <
78#define SE_Z KC_Z // Z 69#define SE_Z KC_Z // Z
79#define SE_X KC_X // X 70#define SE_X KC_X // X
@@ -85,22 +76,7 @@
85#define SE_COMM KC_COMM // , 76#define SE_COMM KC_COMM // ,
86#define SE_DOT KC_DOT // . 77#define SE_DOT KC_DOT // .
87#define SE_MINS KC_SLSH // - 78#define SE_MINS KC_SLSH // -
88 79#define SE_DEG S(SE_SECT) // °
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
91 * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
97 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
98 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │ │ │ │ │ │ │ │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define SE_DEG S(SE_SECT) // °
104#define SE_EXLM S(SE_1) // ! 80#define SE_EXLM S(SE_1) // !
105#define SE_DQUO S(SE_2) // " 81#define SE_DQUO S(SE_2) // "
106#define SE_HASH S(SE_3) // # 82#define SE_HASH S(SE_3) // #
@@ -113,30 +89,12 @@
113#define SE_EQL S(SE_0) // = 89#define SE_EQL S(SE_0) // =
114#define SE_QUES S(SE_PLUS) // ? 90#define SE_QUES S(SE_PLUS) // ?
115#define SE_GRV S(SE_ACUT) // ` 91#define SE_GRV S(SE_ACUT) // `
116// Row 2
117#define SE_CIRC S(SE_DIAE) // ^ (dead) 92#define SE_CIRC S(SE_DIAE) // ^ (dead)
118// Row 3
119#define SE_ASTR S(SE_QUOT) // * 93#define SE_ASTR S(SE_QUOT) // *
120// Row 4
121#define SE_RABK S(SE_LABK) // > 94#define SE_RABK S(SE_LABK) // >
122#define SE_SCLN S(SE_COMM) // ; 95#define SE_SCLN S(SE_COMM) // ;
123#define SE_COLN S(SE_DOT) // : 96#define SE_COLN S(SE_DOT) // :
124#define SE_UNDS S(SE_MINS) // _ 97#define SE_UNDS S(SE_MINS) // _
125
126/* Alted symbols
127 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
128 * │ ¶ │ © │ @ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
129 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
130 * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
131 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
132 * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ ™ │ │
133 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
134 * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
135 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
136 * │ │ │ │ │ │ │ │
137 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
138 */
139// Row 1
140#define SE_PILC A(SE_SECT) // ¶ 98#define SE_PILC A(SE_SECT) // ¶
141#define SE_COPY A(SE_1) // © 99#define SE_COPY A(SE_1) // ©
142#define SE_AT A(SE_2) // @ 100#define SE_AT A(SE_2) // @
@@ -148,7 +106,6 @@
148#define SE_RBRC A(SE_9) // ] 106#define SE_RBRC A(SE_9) // ]
149#define SE_AEQL A(SE_0) // ≈ 107#define SE_AEQL A(SE_0) // ≈
150#define SE_PLMN A(SE_PLUS) // ± 108#define SE_PLMN A(SE_PLUS) // ±
151// Row 2
152#define SE_BULT A(SE_Q) // • 109#define SE_BULT A(SE_Q) // •
153#define SE_OMEG A(SE_W) // Ω 110#define SE_OMEG A(SE_W) // Ω
154#define SE_EACU A(SE_E) // É 111#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
161#define SE_PI A(SE_P) // π 118#define SE_PI A(SE_P) // π
162#define SE_DOTA A(SE_ARNG) // ˙ 119#define SE_DOTA A(SE_ARNG) // ˙
163#define SE_TILD A(SE_DIAE) // ~ (dead) 120#define SE_TILD A(SE_DIAE) // ~ (dead)
164// Row 3
165#define SE_APPL A(SE_A) //  (Apple logo) 121#define SE_APPL A(SE_A) //  (Apple logo)
166#define SE_SS A(SE_S) // ß 122#define SE_SS A(SE_S) // ß
167#define SE_PDIF A(SE_D) // ∂ 123#define SE_PDIF A(SE_D) // ∂
@@ -174,7 +130,6 @@
174#define SE_OSTR A(SE_ODIA) // Ø 130#define SE_OSTR A(SE_ODIA) // Ø
175#define SE_AE A(SE_ADIA) // Æ 131#define SE_AE A(SE_ADIA) // Æ
176#define SE_TM A(SE_QUOT) // ™ 132#define SE_TM A(SE_QUOT) // ™
177// Row 4
178#define SE_LTEQ A(SE_LABK) // ≤ 133#define SE_LTEQ A(SE_LABK) // ≤
179#define SE_DIV A(SE_Z) // ÷ 134#define SE_DIV A(SE_Z) // ÷
180#define SE_CCED A(SE_C) // Ç 135#define SE_CCED A(SE_C) // Ç
@@ -185,21 +140,6 @@
185#define SE_SLQU A(SE_COMM) // ‚ 140#define SE_SLQU A(SE_COMM) // ‚
186#define SE_ELLP A(SE_DOT) // … 141#define SE_ELLP A(SE_DOT) // …
187#define SE_NDSH A(SE_MINS) // – 142#define SE_NDSH A(SE_MINS) // –
188
189/* Shift+Alted symbols
190 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
191 * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
192 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
193 * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
194 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
195 * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
196 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
197 * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
198 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
199 * │ │ │ │ │ │ │ │
200 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
201 */
202// Row 1
203#define SE_IEXL S(A(SE_1)) // ¡ 143#define SE_IEXL S(A(SE_1)) // ¡
204#define SE_YEN S(A(SE_3)) // ¥ 144#define SE_YEN S(A(SE_3)) // ¥
205#define SE_CENT S(A(SE_4)) // ¢ 145#define SE_CENT S(A(SE_4)) // ¢
@@ -209,14 +149,12 @@
209#define SE_RCBR S(A(SE_9)) // } 149#define SE_RCBR S(A(SE_9)) // }
210#define SE_NEQL S(A(SE_0)) // ≠ 150#define SE_NEQL S(A(SE_0)) // ≠
211#define SE_IQUE S(A(SE_PLUS)) // ¿ 151#define SE_IQUE S(A(SE_PLUS)) // ¿
212// Row 2
213#define SE_DACU S(A(SE_W)) // ˝ 152#define SE_DACU S(A(SE_W)) // ˝
214#define SE_DDAG S(A(SE_T)) // ‡ 153#define SE_DDAG S(A(SE_T)) // ‡
215#define SE_STIL S(A(SE_Y)) // ˜ 154#define SE_STIL S(A(SE_Y)) // ˜
216#define SE_DCIR S(A(SE_I)) // ˆ 155#define SE_DCIR S(A(SE_I)) // ˆ
217#define SE_NARP S(A(SE_P)) // ∏ 156#define SE_NARP S(A(SE_P)) // ∏
218#define SE_RNGA S(A(SE_ARNG)) // ˚ 157#define SE_RNGA S(A(SE_ARNG)) // ˚
219// Row 3
220#define SE_LOZN S(A(SE_A)) // ◊ 158#define SE_LOZN S(A(SE_A)) // ◊
221#define SE_NARS S(A(SE_S)) // ∑ 159#define SE_NARS S(A(SE_S)) // ∑
222#define SE_INCR S(A(SE_D)) // ∆ 160#define SE_INCR S(A(SE_D)) // ∆
@@ -226,7 +164,6 @@
226#define SE_NOT S(A(SE_J)) // ¬ 164#define SE_NOT S(A(SE_J)) // ¬
227#define SE_MORD S(A(SE_K)) // º 165#define SE_MORD S(A(SE_K)) // º
228#define SE_FL S(A(SE_L)) // fl 166#define SE_FL S(A(SE_L)) // fl
229// Row 4
230#define SE_GTEQ S(A(SE_LABK)) // ≥ 167#define SE_GTEQ S(A(SE_LABK)) // ≥
231#define SE_FRSL S(A(SE_Z)) // ⁄ 168#define SE_FRSL S(A(SE_Z)) // ⁄
232#define SE_CARN S(A(SE_X)) // ˇ 169#define SE_CARN S(A(SE_X)) // ˇ
diff --git a/quantum/keymap_extras/keymap_swiss_de.h b/quantum/keymap_extras/keymap_swiss_de.h
index 6723836870..366d85d3d4 100644
--- a/quantum/keymap_extras/keymap_swiss_de.h
+++ b/quantum/keymap_extras/keymap_swiss_de.h
@@ -1,44 +1,33 @@
1/* Copyright 2016 heartsekai 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23#ifdef CH_H 30// Aliases
24// The ChibiOS ch.h file defines this...
25# undef CH_H
26#endif
27
28/*
29 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
30 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
31 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
32 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ü │ ¨ │ │
33 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
34 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ö │ ä │ $ │ │
35 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
36 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
37 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
38 * │ │ │ │ │ │ │ │ │
39 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
40 */
41// Row 1
42#define CH_SECT KC_GRV // § 31#define CH_SECT KC_GRV // §
43#define CH_1 KC_1 // 1 32#define CH_1 KC_1 // 1
44#define CH_2 KC_2 // 2 33#define CH_2 KC_2 // 2
@@ -52,7 +41,6 @@
52#define CH_0 KC_0 // 0 41#define CH_0 KC_0 // 0
53#define CH_QUOT KC_MINS // ' 42#define CH_QUOT KC_MINS // '
54#define CH_CIRC KC_EQL // ^ (dead) 43#define CH_CIRC KC_EQL // ^ (dead)
55// Row 2
56#define CH_Q KC_Q // Q 44#define CH_Q KC_Q // Q
57#define CH_W KC_W // W 45#define CH_W KC_W // W
58#define CH_E KC_E // E 46#define CH_E KC_E // E
@@ -65,7 +53,6 @@
65#define CH_P KC_P // P 53#define CH_P KC_P // P
66#define CH_UDIA KC_LBRC // ü 54#define CH_UDIA KC_LBRC // ü
67#define CH_DIAE KC_RBRC // ¨ (dead) 55#define CH_DIAE KC_RBRC // ¨ (dead)
68// Row 3
69#define CH_A KC_A // A 56#define CH_A KC_A // A
70#define CH_S KC_S // S 57#define CH_S KC_S // S
71#define CH_D KC_D // D 58#define CH_D KC_D // D
@@ -78,7 +65,6 @@
78#define CH_ODIA KC_SCLN // ö 65#define CH_ODIA KC_SCLN // ö
79#define CH_ADIA KC_QUOT // ä 66#define CH_ADIA KC_QUOT // ä
80#define CH_DLR KC_NUHS // $ 67#define CH_DLR KC_NUHS // $
81// Row 4
82#define CH_LABK KC_NUBS // < 68#define CH_LABK KC_NUBS // <
83#define CH_Y KC_Z // Y 69#define CH_Y KC_Z // Y
84#define CH_X KC_X // X 70#define CH_X KC_X // X
@@ -90,21 +76,6 @@
90#define CH_COMM KC_COMM // , 76#define CH_COMM KC_COMM // ,
91#define CH_DOT KC_DOT // . 77#define CH_DOT KC_DOT // .
92#define CH_MINS KC_SLSH // - 78#define CH_MINS KC_SLSH // -
93
94/* Shifted symbols
95 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
96 * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
97 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
98 * │ │ │ │ │ │ │ │ │ │ │ │ è │ ! │ │
99 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
100 * │ │ │ │ │ │ │ │ │ │ │ é │ à │ £ │ │
101 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
102 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
103 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
104 * │ │ │ │ │ │ │ │ │
105 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
106 */
107// Row 1
108#define CH_DEG S(CH_SECT) // ° 79#define CH_DEG S(CH_SECT) // °
109#define CH_PLUS S(CH_1) // + 80#define CH_PLUS S(CH_1) // +
110#define CH_DQUO S(CH_2) // " 81#define CH_DQUO S(CH_2) // "
@@ -118,33 +89,15 @@
118#define CH_EQL S(CH_0) // = 89#define CH_EQL S(CH_0) // =
119#define CH_QUES S(CH_QUOT) // ? 90#define CH_QUES S(CH_QUOT) // ?
120#define CH_GRV S(CH_CIRC) // ` (dead) 91#define CH_GRV S(CH_CIRC) // ` (dead)
121// Row 2
122#define CH_EGRV S(CH_UDIA) // è 92#define CH_EGRV S(CH_UDIA) // è
123#define CH_EXLM S(CH_DIAE) // ! 93#define CH_EXLM S(CH_DIAE) // !
124// Row 3
125#define CH_EACU S(CH_ODIA) // é 94#define CH_EACU S(CH_ODIA) // é
126#define CH_AGRV S(CH_ADIA) // à 95#define CH_AGRV S(CH_ADIA) // à
127#define CH_PND S(CH_DLR) // £ 96#define CH_PND S(CH_DLR) // £
128// Row 4
129#define CH_RABK S(CH_LABK) // > 97#define CH_RABK S(CH_LABK) // >
130#define CH_SCLN S(CH_COMM) // ; 98#define CH_SCLN S(CH_COMM) // ;
131#define CH_COLN S(CH_DOT) // : 99#define CH_COLN S(CH_DOT) // :
132#define CH_UNDS S(CH_MINS) // _ 100#define CH_UNDS S(CH_MINS) // _
133
134/* AltGr symbols
135 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
136 * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
137 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
138 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
139 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
140 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
141 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
142 * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
143 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
144 * │ │ │ │ │ │ │ │ │
145 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
146 */
147// Row 1
148#define CH_BRKP ALGR(CH_1) // ¦ 101#define CH_BRKP ALGR(CH_1) // ¦
149#define CH_AT ALGR(CH_2) // @ 102#define CH_AT ALGR(CH_2) // @
150#define CH_HASH ALGR(CH_3) // # 103#define CH_HASH ALGR(CH_3) // #
@@ -153,12 +106,9 @@
153#define CH_CENT ALGR(CH_8) // ¢ 106#define CH_CENT ALGR(CH_8) // ¢
154#define CH_ACUT ALGR(CH_QUOT) // ´ (dead) 107#define CH_ACUT ALGR(CH_QUOT) // ´ (dead)
155#define CH_TILD ALGR(CH_CIRC) // ~ (dead) 108#define CH_TILD ALGR(CH_CIRC) // ~ (dead)
156// Row 2
157#define CH_EURO ALGR(CH_E) // € 109#define CH_EURO ALGR(CH_E) // €
158#define CH_LBRC ALGR(CH_UDIA) // [ 110#define CH_LBRC ALGR(CH_UDIA) // [
159#define CH_RBRC ALGR(CH_DIAE) // ] 111#define CH_RBRC ALGR(CH_DIAE) // ]
160// Row 3
161#define CH_LCBR ALGR(CH_ADIA) // { 112#define CH_LCBR ALGR(CH_ADIA) // {
162#define CH_RCBR ALGR(CH_DLR) // } 113#define CH_RCBR ALGR(CH_DLR) // }
163// Row 4
164#define CH_BSLS ALGR(CH_LABK) // (backslash) 114#define CH_BSLS ALGR(CH_LABK) // (backslash)
diff --git a/quantum/keymap_extras/keymap_swiss_fr.h b/quantum/keymap_extras/keymap_swiss_fr.h
index b1f2455a68..49fd4a0458 100644
--- a/quantum/keymap_extras/keymap_swiss_fr.h
+++ b/quantum/keymap_extras/keymap_swiss_fr.h
@@ -1,44 +1,33 @@
1/* Copyright 2016 Vincent Pochet 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23#ifdef CH_H 30// Aliases
24// The ChibiOS ch.h file defines this...
25# undef CH_H
26#endif
27
28/*
29 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
30 * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
31 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
32 * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ è │ ¨ │ │
33 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
34 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ é │ à │ $ │ │
35 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
36 * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
37 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
38 * │ │ │ │ │ │ │ │ │
39 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
40 */
41// Row 1
42#define CH_SECT KC_GRV // § 31#define CH_SECT KC_GRV // §
43#define CH_1 KC_1 // 1 32#define CH_1 KC_1 // 1
44#define CH_2 KC_2 // 2 33#define CH_2 KC_2 // 2
@@ -52,7 +41,6 @@
52#define CH_0 KC_0 // 0 41#define CH_0 KC_0 // 0
53#define CH_QUOT KC_MINS // ' 42#define CH_QUOT KC_MINS // '
54#define CH_CIRC KC_EQL // ^ (dead) 43#define CH_CIRC KC_EQL // ^ (dead)
55// Row 2
56#define CH_Q KC_Q // Q 44#define CH_Q KC_Q // Q
57#define CH_W KC_W // W 45#define CH_W KC_W // W
58#define CH_E KC_E // E 46#define CH_E KC_E // E
@@ -65,7 +53,6 @@
65#define CH_P KC_P // P 53#define CH_P KC_P // P
66#define CH_EGRV KC_LBRC // è 54#define CH_EGRV KC_LBRC // è
67#define CH_DIAE KC_RBRC // ¨ (dead) 55#define CH_DIAE KC_RBRC // ¨ (dead)
68// Row 3
69#define CH_A KC_A // A 56#define CH_A KC_A // A
70#define CH_S KC_S // S 57#define CH_S KC_S // S
71#define CH_D KC_D // D 58#define CH_D KC_D // D
@@ -78,7 +65,6 @@
78#define CH_EACU KC_SCLN // é 65#define CH_EACU KC_SCLN // é
79#define CH_AGRV KC_QUOT // à 66#define CH_AGRV KC_QUOT // à
80#define CH_DLR KC_NUHS // $ 67#define CH_DLR KC_NUHS // $
81// Row 4
82#define CH_LABK KC_NUBS // < 68#define CH_LABK KC_NUBS // <
83#define CH_Y KC_Z // Y 69#define CH_Y KC_Z // Y
84#define CH_X KC_X // X 70#define CH_X KC_X // X
@@ -90,21 +76,6 @@
90#define CH_COMM KC_COMM // , 76#define CH_COMM KC_COMM // ,
91#define CH_DOT KC_DOT // . 77#define CH_DOT KC_DOT // .
92#define CH_MINS KC_SLSH // - 78#define CH_MINS KC_SLSH // -
93
94/* Shifted symbols
95 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
96 * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
97 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
98 * │ │ │ │ │ │ │ │ │ │ │ │ ü │ ! │ │
99 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
100 * │ │ │ │ │ │ │ │ │ │ │ ö │ ä │ £ │ │
101 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
102 * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
103 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
104 * │ │ │ │ │ │ │ │ │
105 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
106 */
107// Row 1
108#define CH_DEG S(CH_SECT) // ° 79#define CH_DEG S(CH_SECT) // °
109#define CH_PLUS S(CH_1) // + 80#define CH_PLUS S(CH_1) // +
110#define CH_DQUO S(CH_2) // " 81#define CH_DQUO S(CH_2) // "
@@ -118,33 +89,15 @@
118#define CH_EQL S(CH_0) // = 89#define CH_EQL S(CH_0) // =
119#define CH_QUES S(CH_QUOT) // ? 90#define CH_QUES S(CH_QUOT) // ?
120#define CH_GRV S(CH_CIRC) // ` (dead) 91#define CH_GRV S(CH_CIRC) // ` (dead)
121// Row 2
122#define CH_UDIA S(CH_EGRV) // ü 92#define CH_UDIA S(CH_EGRV) // ü
123#define CH_EXLM S(CH_DIAE) // ! 93#define CH_EXLM S(CH_DIAE) // !
124// Row 3
125#define CH_ODIA S(CH_EACU) // ö 94#define CH_ODIA S(CH_EACU) // ö
126#define CH_ADIA S(CH_AGRV) // ä 95#define CH_ADIA S(CH_AGRV) // ä
127#define CH_PND S(CH_DLR) // £ 96#define CH_PND S(CH_DLR) // £
128// Row 4
129#define CH_RABK S(CH_LABK) // > 97#define CH_RABK S(CH_LABK) // >
130#define CH_SCLN S(CH_COMM) // ; 98#define CH_SCLN S(CH_COMM) // ;
131#define CH_COLN S(CH_DOT) // : 99#define CH_COLN S(CH_DOT) // :
132#define CH_UNDS S(CH_MINS) // _ 100#define CH_UNDS S(CH_MINS) // _
133
134/* AltGr symbols
135 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
136 * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
137 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
138 * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
139 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
140 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
141 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
142 * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
143 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
144 * │ │ │ │ │ │ │ │ │
145 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
146 */
147// Row 1
148#define CH_BRKP ALGR(CH_1) // ¦ 101#define CH_BRKP ALGR(CH_1) // ¦
149#define CH_AT ALGR(CH_2) // @ 102#define CH_AT ALGR(CH_2) // @
150#define CH_HASH ALGR(CH_3) // # 103#define CH_HASH ALGR(CH_3) // #
@@ -153,12 +106,9 @@
153#define CH_CENT ALGR(CH_8) // ¢ 106#define CH_CENT ALGR(CH_8) // ¢
154#define CH_ACUT ALGR(CH_QUOT) // ´ (dead) 107#define CH_ACUT ALGR(CH_QUOT) // ´ (dead)
155#define CH_TILD ALGR(CH_CIRC) // ~ (dead) 108#define CH_TILD ALGR(CH_CIRC) // ~ (dead)
156// Row 2
157#define CH_EURO ALGR(CH_E) // € 109#define CH_EURO ALGR(CH_E) // €
158#define CH_LBRC ALGR(CH_EGRV) // [ 110#define CH_LBRC ALGR(CH_EGRV) // [
159#define CH_RBRC ALGR(CH_DIAE) // ] 111#define CH_RBRC ALGR(CH_DIAE) // ]
160// Row 3
161#define CH_LCBR ALGR(CH_AGRV) // { 112#define CH_LCBR ALGR(CH_AGRV) // {
162#define CH_RCBR ALGR(CH_DLR) // } 113#define CH_RCBR ALGR(CH_DLR) // }
163// Row 4
164#define CH_BSLS ALGR(CH_LABK) // (backslash) 114#define CH_BSLS ALGR(CH_LABK) // (backslash)
diff --git a/quantum/keymap_extras/keymap_turkish_f.h b/quantum/keymap_extras/keymap_turkish_f.h
index aaee2aa480..78dae35ce5 100644
--- a/quantum/keymap_extras/keymap_turkish_f.h
+++ b/quantum/keymap_extras/keymap_turkish_f.h
@@ -1,39 +1,33 @@
1/* Copyright 2019 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ + │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ / │ - │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ F │ G │ Ğ │ I │ O │ D │ R │ N │ H │ P │ Q │ W │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ U │ İ │ E │ A │ Ü │ T │ K │ M │ L │ Y │ Ş │ X │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ J │ Ö │ V │ C │ Ç │ Z │ S │ B │ . │ , │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define TR_PLUS KC_GRV // + 31#define TR_PLUS KC_GRV // +
38#define TR_1 KC_1 // 1 32#define TR_1 KC_1 // 1
39#define TR_2 KC_2 // 2 33#define TR_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define TR_0 KC_0 // 0 41#define TR_0 KC_0 // 0
48#define TR_SLSH KC_MINS // / 42#define TR_SLSH KC_MINS // /
49#define TR_MINS KC_EQL // - 43#define TR_MINS KC_EQL // -
50// Row 2
51#define TR_F KC_Q // F 44#define TR_F KC_Q // F
52#define TR_G KC_W // G 45#define TR_G KC_W // G
53#define TR_GBRV KC_E // Ğ 46#define TR_GBRV KC_E // Ğ
@@ -60,7 +53,6 @@
60#define TR_P KC_P // P 53#define TR_P KC_P // P
61#define TR_Q KC_LBRC // Q 54#define TR_Q KC_LBRC // Q
62#define TR_W KC_RBRC // W 55#define TR_W KC_RBRC // W
63// Row 3
64#define TR_U KC_A // U 56#define TR_U KC_A // U
65#define TR_IDOT KC_S // İ 57#define TR_IDOT KC_S // İ
66#define TR_E KC_D // E 58#define TR_E KC_D // E
@@ -73,7 +65,6 @@
73#define TR_Y KC_SCLN // Y 65#define TR_Y KC_SCLN // Y
74#define TR_SCED KC_QUOT // Ş 66#define TR_SCED KC_QUOT // Ş
75#define TR_X KC_NUHS // X 67#define TR_X KC_NUHS // X
76// Row 4
77#define TR_LABK KC_NUBS // < 68#define TR_LABK KC_NUBS // <
78#define TR_J KC_Z // J 69#define TR_J KC_Z // J
79#define TR_ODIA KC_X // Ö 70#define TR_ODIA KC_X // Ö
@@ -85,21 +76,6 @@
85#define TR_B KC_COMM // B 76#define TR_B KC_COMM // B
86#define TR_DOT KC_DOT // . 77#define TR_DOT KC_DOT // .
87#define TR_COMM KC_SLSH // , 78#define TR_COMM KC_SLSH // ,
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ * │ ! │ " │ ^ │ $ │ % │ & │ ' │ ( │ ) │ = │ ? │ _ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ │ : │ ; │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define TR_ASTR S(TR_PLUS) // * 79#define TR_ASTR S(TR_PLUS) // *
104#define TR_EXLM S(TR_1) // ! 80#define TR_EXLM S(TR_1) // !
105#define TR_DQUO S(TR_2) // " 81#define TR_DQUO S(TR_2) // "
@@ -113,25 +89,9 @@
113#define TR_EQL S(TR_0) // = 89#define TR_EQL S(TR_0) // =
114#define TR_QUES S(TR_SLSH) // ? 90#define TR_QUES S(TR_SLSH) // ?
115#define TR_UNDS S(TR_MINS) // _ 91#define TR_UNDS S(TR_MINS) // _
116// Row 4
117#define TR_RABK S(TR_LABK) // > 92#define TR_RABK S(TR_LABK) // >
118#define TR_COLN S(TR_DOT) // : 93#define TR_COLN S(TR_DOT) // :
119#define TR_SCLN S(TR_COMM) // ; 94#define TR_SCLN S(TR_COMM) // ;
120
121/* AltGr symbols
122 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
123 * │ ¬ │ ¹ │ ² │ # │ ¼ │ ½ │ ¾ │ { │ [ │ ] │ } │ \ │ | │ │
124 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
125 * │ │ @ │ │ │ ¶ │ │ ¥ │ │ │ Ø │ £ │ ¨ │ ~ │ │
126 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
127 * │ │ Æ │ ß │ € │ │ │ ₺ │ │ │ │ ´ │ │ ` │ │
128 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
129 * │ │ │ « │ » │ ¢ │ │ │ │ µ │ × │ ÷ │ - │ │
130 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
131 * │ │ │ │ │ │ │ │ │
132 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
133 */
134// Row 1
135#define TR_NOT ALGR(TR_PLUS) // ¬ 95#define TR_NOT ALGR(TR_PLUS) // ¬
136#define TR_SUP1 ALGR(TR_1) // ¹ 96#define TR_SUP1 ALGR(TR_1) // ¹
137#define TR_SUP2 ALGR(TR_2) // ² 97#define TR_SUP2 ALGR(TR_2) // ²
@@ -145,7 +105,6 @@
145#define TR_RCBR ALGR(TR_0) // } 105#define TR_RCBR ALGR(TR_0) // }
146#define TR_BSLS ALGR(TR_SLSH) // (backslash) 106#define TR_BSLS ALGR(TR_SLSH) // (backslash)
147#define TR_PIPE ALGR(TR_MINS) // | 107#define TR_PIPE ALGR(TR_MINS) // |
148// Row 2
149#define TR_AT ALGR(TR_F) // @ 108#define TR_AT ALGR(TR_F) // @
150#define TR_PILC ALGR(TR_I) // ¶ 109#define TR_PILC ALGR(TR_I) // ¶
151#define TR_YEN ALGR(TR_D) // ¥ 110#define TR_YEN ALGR(TR_D) // ¥
@@ -153,14 +112,12 @@
153#define TR_PND ALGR(TR_P) // £ 112#define TR_PND ALGR(TR_P) // £
154#define TR_DIAE ALGR(TR_Q) // ¨ (dead) 113#define TR_DIAE ALGR(TR_Q) // ¨ (dead)
155#define TR_TILD ALGR(TR_W) // ~ (dead) 114#define TR_TILD ALGR(TR_W) // ~ (dead)
156// Row 3
157#define TR_AE ALGR(TR_U) // Æ 115#define TR_AE ALGR(TR_U) // Æ
158#define TR_SS ALGR(TR_IDOT) // ß 116#define TR_SS ALGR(TR_IDOT) // ß
159#define TR_EURO ALGR(TR_E) // € 117#define TR_EURO ALGR(TR_E) // €
160#define TR_LIRA ALGR(TR_T) // ₺ 118#define TR_LIRA ALGR(TR_T) // ₺
161#define TR_ACUT ALGR(TR_Y) // ´ (dead) 119#define TR_ACUT ALGR(TR_Y) // ´ (dead)
162#define TR_GRV ALGR(TR_X) // ` (dead) 120#define TR_GRV ALGR(TR_X) // ` (dead)
163// Row 4
164#define TR_LDAQ ALGR(TR_J) // « 121#define TR_LDAQ ALGR(TR_J) // «
165#define TR_RDAQ ALGR(TR_ODIA) // » 122#define TR_RDAQ ALGR(TR_ODIA) // »
166#define TR_CENT ALGR(TR_V) // ¢ 123#define TR_CENT ALGR(TR_V) // ¢
@@ -168,30 +125,12 @@
168#define TR_MUL ALGR(TR_B) // × 125#define TR_MUL ALGR(TR_B) // ×
169#define TR_DIV ALGR(TR_DOT) // ÷ 126#define TR_DIV ALGR(TR_DOT) // ÷
170#define TR_SHYP ALGR(TR_COMM) // ­ (soft hyphen) 127#define TR_SHYP ALGR(TR_COMM) // ­ (soft hyphen)
171
172/* Shift+AltGr symbols
173 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
174 * │ │ │ │ ³ │ ¤ │ │ │ │ │ │ │ ¿ │ │ │
175 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
176 * │ │ │ │ │ ® │ │ │ │ │ │ │ │ │ │
177 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
178 * │ │ │ § │ │ ª │ │ │ │ │ │ │ │ │ │
179 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
180 * │ │ ¦ │ │ │ © │ │ │ │ º │ │ │ │ │
181 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
182 * │ │ │ │ │ │ │ │ │
183 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
184 */
185// Row 1
186#define TR_SUP3 S(ALGR(TR_3)) // ³ 128#define TR_SUP3 S(ALGR(TR_3)) // ³
187#define TR_CURR S(ALGR(TR_4)) // ¤ 129#define TR_CURR S(ALGR(TR_4)) // ¤
188#define TR_IQUE S(ALGR(TR_SLSH)) // ¿ 130#define TR_IQUE S(ALGR(TR_SLSH)) // ¿
189// Row 2
190#define TR_REGD S(ALGR(TR_I)) // ® 131#define TR_REGD S(ALGR(TR_I)) // ®
191// Row 3
192#define TR_SECT S(ALGR(TR_IDOT)) // § 132#define TR_SECT S(ALGR(TR_IDOT)) // §
193#define TR_FORD S(ALGR(TR_A)) // ª 133#define TR_FORD S(ALGR(TR_A)) // ª
194// Row 4
195#define TR_BRKP S(ALGR(TR_LABK)) // ¦ 134#define TR_BRKP S(ALGR(TR_LABK)) // ¦
196#define TR_COPY S(ALGR(TR_V)) // © 135#define TR_COPY S(ALGR(TR_V)) // ©
197#define TR_MORD S(ALGR(TR_S)) // º 136#define TR_MORD S(ALGR(TR_S)) // º
diff --git a/quantum/keymap_extras/keymap_turkish_q.h b/quantum/keymap_extras/keymap_turkish_q.h
index 120e2b8d92..9f291df051 100644
--- a/quantum/keymap_extras/keymap_turkish_q.h
+++ b/quantum/keymap_extras/keymap_turkish_q.h
@@ -1,39 +1,33 @@
1/* Copyright 2019 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ " │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ * │ - │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ğ │ Ü │ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ş │ İ │ , │ │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ Ö │ Ç │ . │ │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define TR_DQUO KC_GRV // " 31#define TR_DQUO KC_GRV // "
38#define TR_1 KC_1 // 1 32#define TR_1 KC_1 // 1
39#define TR_2 KC_2 // 2 33#define TR_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define TR_0 KC_0 // 0 41#define TR_0 KC_0 // 0
48#define TR_ASTR KC_MINS // * 42#define TR_ASTR KC_MINS // *
49#define TR_MINS KC_EQL // - 43#define TR_MINS KC_EQL // -
50// Row 2
51#define TR_Q KC_Q // Q 44#define TR_Q KC_Q // Q
52#define TR_W KC_W // W 45#define TR_W KC_W // W
53#define TR_E KC_E // E 46#define TR_E KC_E // E
@@ -60,7 +53,6 @@
60#define TR_P KC_P // P 53#define TR_P KC_P // P
61#define TR_GBRV KC_LBRC // Ğ 54#define TR_GBRV KC_LBRC // Ğ
62#define TR_UDIA KC_RBRC // Ü 55#define TR_UDIA KC_RBRC // Ü
63// Row 3
64#define TR_A KC_A // A 56#define TR_A KC_A // A
65#define TR_S KC_S // S 57#define TR_S KC_S // S
66#define TR_D KC_D // D 58#define TR_D KC_D // D
@@ -73,7 +65,6 @@
73#define TR_SCED KC_SCLN // Ş 65#define TR_SCED KC_SCLN // Ş
74#define TR_IDOT KC_QUOT // İ 66#define TR_IDOT KC_QUOT // İ
75#define TR_COMM KC_NUHS // , 67#define TR_COMM KC_NUHS // ,
76// Row 4
77#define TR_LABK KC_NUBS // < 68#define TR_LABK KC_NUBS // <
78#define TR_Z KC_Z // Z 69#define TR_Z KC_Z // Z
79#define TR_X KC_X // X 70#define TR_X KC_X // X
@@ -85,21 +76,6 @@
85#define TR_ODIA KC_COMM // Ö 76#define TR_ODIA KC_COMM // Ö
86#define TR_CCED KC_DOT // Ç 77#define TR_CCED KC_DOT // Ç
87#define TR_DOT KC_SLSH // . 78#define TR_DOT KC_SLSH // .
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ é │ ! │ ' │ ^ │ + │ % │ & │ / │ ( │ ) │ = │ ? │ _ │ │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
95 * │ │ │ │ │ │ │ │ │ │ │ │ │ ; │ │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │ │ > │ │ │ │ │ │ │ │ │ │ : │ │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │ │ │ │ │ │ │ │ │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define TR_EACU S(TR_DQUO) // é 79#define TR_EACU S(TR_DQUO) // é
104#define TR_EXLM S(TR_1) // ! 80#define TR_EXLM S(TR_1) // !
105#define TR_QUOT S(TR_2) // ' 81#define TR_QUOT S(TR_2) // '
@@ -113,26 +89,9 @@
113#define TR_EQL S(TR_0) // = 89#define TR_EQL S(TR_0) // =
114#define TR_QUES S(TR_ASTR) // ? 90#define TR_QUES S(TR_ASTR) // ?
115#define TR_UNDS S(TR_MINS) // _ 91#define TR_UNDS S(TR_MINS) // _
116// Row 3
117#define TR_SCLN S(TR_COMM) // ; 92#define TR_SCLN S(TR_COMM) // ;
118// Row 4
119#define TR_RABK S(TR_LABK) // > 93#define TR_RABK S(TR_LABK) // >
120#define TR_COLN S(TR_DOT) // : 94#define TR_COLN S(TR_DOT) // :
121
122/* AltGr symbols
123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
124 * │ │ │ £ │ # │ $ │ ½ │ │ { │ [ │ ] │ } │ \ │ | │ │
125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
126 * │ │ @ │ │ € │ │ ₺ │ │ │ │ │ │ ¨ │ ~ │ │
127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
128 * │ │ Æ │ ß │ │ │ │ │ │ │ │ ´ │ │ ` │ │
129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
130 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
132 * │ │ │ │ │ │ │ │ │
133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
134 */
135// Row 1
136#define TR_PND ALGR(TR_2) // £ 95#define TR_PND ALGR(TR_2) // £
137#define TR_HASH ALGR(TR_3) // # 96#define TR_HASH ALGR(TR_3) // #
138#define TR_DLR ALGR(TR_4) // $ 97#define TR_DLR ALGR(TR_4) // $
@@ -143,13 +102,11 @@
143#define TR_RCBR ALGR(TR_0) // } 102#define TR_RCBR ALGR(TR_0) // }
144#define TR_BSLS ALGR(TR_ASTR) // (backslash) 103#define TR_BSLS ALGR(TR_ASTR) // (backslash)
145#define TR_PIPE ALGR(TR_MINS) // | 104#define TR_PIPE ALGR(TR_MINS) // |
146// Row 2
147#define TR_AT ALGR(TR_Q) // @ 105#define TR_AT ALGR(TR_Q) // @
148#define TR_EURO ALGR(TR_E) // € 106#define TR_EURO ALGR(TR_E) // €
149#define TR_LIRA ALGR(TR_T) // ₺ 107#define TR_LIRA ALGR(TR_T) // ₺
150#define TR_DIAE ALGR(TR_GBRV) // ¨ (dead) 108#define TR_DIAE ALGR(TR_GBRV) // ¨ (dead)
151#define TR_TILD ALGR(TR_UDIA) // ~ (dead) 109#define TR_TILD ALGR(TR_UDIA) // ~ (dead)
152// Row 3
153#define TR_AE ALGR(TR_A) // Æ 110#define TR_AE ALGR(TR_A) // Æ
154#define TR_SS ALGR(TR_S) // ß 111#define TR_SS ALGR(TR_S) // ß
155#define TR_ACUT ALGR(TR_SCED) // ´ (dead) 112#define TR_ACUT ALGR(TR_SCED) // ´ (dead)
diff --git a/quantum/keymap_extras/keymap_uk.h b/quantum/keymap_extras/keymap_uk.h
index a6c42eafbf..f527f2bc3d 100644
--- a/quantum/keymap_extras/keymap_uk.h
+++ b/quantum/keymap_extras/keymap_uk.h
@@ -105,5 +105,3 @@
105#define UK_IACU ALGR(KC_I) // Í 105#define UK_IACU ALGR(KC_I) // Í
106#define UK_OACU ALGR(KC_O) // Ó 106#define UK_OACU ALGR(KC_O) // Ó
107#define UK_AACU ALGR(KC_A) // Á 107#define UK_AACU ALGR(KC_A) // Á
108
109
diff --git a/quantum/keymap_extras/keymap_ukrainian.h b/quantum/keymap_extras/keymap_ukrainian.h
index e5cd80f3d2..a83f2dbceb 100644
--- a/quantum/keymap_extras/keymap_ukrainian.h
+++ b/quantum/keymap_extras/keymap_ukrainian.h
@@ -1,39 +1,33 @@
1/* Copyright 2022 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ї │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ Ф │ І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Є │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define UA_QUOT KC_GRV // ' 31#define UA_QUOT KC_GRV // '
38#define UA_1 KC_1 // 1 32#define UA_1 KC_1 // 1
39#define UA_2 KC_2 // 2 33#define UA_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define UA_0 KC_0 // 0 41#define UA_0 KC_0 // 0
48#define UA_MINS KC_MINS // - 42#define UA_MINS KC_MINS // -
49#define UA_EQL KC_EQL // = 43#define UA_EQL KC_EQL // =
50// Row 2
51#define UA_YOT KC_Q // Й 44#define UA_YOT KC_Q // Й
52#define UA_TSE KC_W // Ц 45#define UA_TSE KC_W // Ц
53#define UA_U KC_E // У 46#define UA_U KC_E // У
@@ -61,7 +54,6 @@
61#define UA_KHA KC_LBRC // Х 54#define UA_KHA KC_LBRC // Х
62#define UA_YI KC_RBRC // Ї 55#define UA_YI KC_RBRC // Ї
63#define UA_BSLS KC_BSLS // (backslash) 56#define UA_BSLS KC_BSLS // (backslash)
64// Row 3
65#define UA_EF KC_A // Ф 57#define UA_EF KC_A // Ф
66#define UA_I KC_S // І 58#define UA_I KC_S // І
67#define UA_VE KC_D // В 59#define UA_VE KC_D // В
@@ -73,7 +65,6 @@
73#define UA_DE KC_L // Д 65#define UA_DE KC_L // Д
74#define UA_ZHE KC_SCLN // Ж 66#define UA_ZHE KC_SCLN // Ж
75#define UA_YE KC_QUOT // Є 67#define UA_YE KC_QUOT // Є
76// Row 4
77#define UA_YA KC_Z // Я 68#define UA_YA KC_Z // Я
78#define UA_CHE KC_X // Ч 69#define UA_CHE KC_X // Ч
79#define UA_ES KC_C // С 70#define UA_ES KC_C // С
@@ -84,21 +75,6 @@
84#define UA_BE KC_COMM // Б 75#define UA_BE KC_COMM // Б
85#define UA_YU KC_DOT // Ю 76#define UA_YU KC_DOT // Ю
86#define UA_DOT KC_SLSH // . 77#define UA_DOT KC_SLSH // .
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ₴ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ │ │ , │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define UA_HRYV S(UA_QUOT) // ₴ 78#define UA_HRYV S(UA_QUOT) // ₴
103#define UA_EXLM S(UA_1) // ! 79#define UA_EXLM S(UA_1) // !
104#define UA_DQUO S(UA_2) // " 80#define UA_DQUO S(UA_2) // "
@@ -112,23 +88,6 @@
112#define UA_RPRN S(UA_0) // ) 88#define UA_RPRN S(UA_0) // )
113#define UA_UNDS S(UA_MINS) // _ 89#define UA_UNDS S(UA_MINS) // _
114#define UA_PLUS S(UA_EQL) // + 90#define UA_PLUS S(UA_EQL) // +
115// Row 2
116#define UA_SLSH S(UA_BSLS) // / 91#define UA_SLSH S(UA_BSLS) // /
117// Row 4
118#define UA_COMM S(UA_DOT) // , 92#define UA_COMM S(UA_DOT) // ,
119 93#define UA_GE ALGR(UA_HE) // ґ
120/* AltGr symbols
121 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
122 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
123 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
124 * │ │ │ │ │ │ │ │ ґ │ │ │ │ │ │ │
125 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
126 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
127 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
128 * │ │ │ │ │ │ │ │ │ │ │ │ │
129 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
130 * │ │ │ │ │ │ │ │ │
131 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
132 */
133// Row 2
134#define UA_GE ALGR(UA_HE) // ґ
diff --git a/quantum/keymap_extras/keymap_us.h b/quantum/keymap_extras/keymap_us.h
index c5c5285848..9c7fef4c7d 100644
--- a/quantum/keymap_extras/keymap_us.h
+++ b/quantum/keymap_extras/keymap_us.h
@@ -70,4 +70,3 @@
70#define KC_RIGHT_ANGLE_BRACKET KC_RABK 70#define KC_RIGHT_ANGLE_BRACKET KC_RABK
71#define KC_GT KC_RABK 71#define KC_GT KC_RABK
72#define KC_QUESTION KC_QUES 72#define KC_QUESTION KC_QUES
73
diff --git a/quantum/keymap_extras/keymap_us_extended.h b/quantum/keymap_extras/keymap_us_extended.h
index 8e71a8de25..c3c9b79181 100644
--- a/quantum/keymap_extras/keymap_us_extended.h
+++ b/quantum/keymap_extras/keymap_us_extended.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define US_GRV KC_GRV // ` 31#define US_GRV KC_GRV // `
38#define US_1 KC_1 // 1 32#define US_1 KC_1 // 1
39#define US_2 KC_2 // 2 33#define US_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define US_0 KC_0 // 0 41#define US_0 KC_0 // 0
48#define US_MINS KC_MINS // - 42#define US_MINS KC_MINS // -
49#define US_EQL KC_EQL // = 43#define US_EQL KC_EQL // =
50// Row 2
51#define US_Q KC_Q // Q 44#define US_Q KC_Q // Q
52#define US_W KC_W // W 45#define US_W KC_W // W
53#define US_E KC_E // E 46#define US_E KC_E // E
@@ -61,7 +54,6 @@
61#define US_LBRC KC_LBRC // [ 54#define US_LBRC KC_LBRC // [
62#define US_RBRC KC_RBRC // ] 55#define US_RBRC KC_RBRC // ]
63#define US_BSLS KC_BSLS // (backslash) 56#define US_BSLS KC_BSLS // (backslash)
64// Row 3
65#define US_A KC_A // A 57#define US_A KC_A // A
66#define US_S KC_S // S 58#define US_S KC_S // S
67#define US_D KC_D // D 59#define US_D KC_D // D
@@ -73,7 +65,6 @@
73#define US_L KC_L // L 65#define US_L KC_L // L
74#define US_SCLN KC_SCLN // ; 66#define US_SCLN KC_SCLN // ;
75#define US_QUOT KC_QUOT // ' 67#define US_QUOT KC_QUOT // '
76// Row 4
77#define US_Z KC_Z // Z 68#define US_Z KC_Z // Z
78#define US_X KC_X // X 69#define US_X KC_X // X
79#define US_C KC_C // C 70#define US_C KC_C // C
@@ -84,21 +75,6 @@
84#define US_COMM KC_COMM // , 75#define US_COMM KC_COMM // ,
85#define US_DOT KC_DOT // . 76#define US_DOT KC_DOT // .
86#define US_SLSH KC_SLSH // / 77#define US_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define US_TILD S(US_GRV) // ~ 78#define US_TILD S(US_GRV) // ~
103#define US_EXLM S(US_1) // ! 79#define US_EXLM S(US_1) // !
104#define US_AT S(US_2) // @ 80#define US_AT S(US_2) // @
@@ -112,32 +88,14 @@
112#define US_RPRN S(US_0) // ) 88#define US_RPRN S(US_0) // )
113#define US_UNDS S(US_MINS) // _ 89#define US_UNDS S(US_MINS) // _
114#define US_PLUS S(US_EQL) // + 90#define US_PLUS S(US_EQL) // +
115// Row 2
116#define US_LCBR S(US_LBRC) // { 91#define US_LCBR S(US_LBRC) // {
117#define US_RCBR S(US_RBRC) // } 92#define US_RCBR S(US_RBRC) // }
118#define US_PIPE S(US_BSLS) // | 93#define US_PIPE S(US_BSLS) // |
119// Row 3
120#define US_COLN S(US_SCLN) // : 94#define US_COLN S(US_SCLN) // :
121#define US_DQUO S(US_QUOT) // " 95#define US_DQUO S(US_QUOT) // "
122// Row 4
123#define US_LABK S(US_COMM) // < 96#define US_LABK S(US_COMM) // <
124#define US_RABK S(US_DOT) // > 97#define US_RABK S(US_DOT) // >
125#define US_QUES S(US_SLSH) // ? 98#define US_QUES S(US_SLSH) // ?
126
127/* AltGr symbols
128 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
129 * │ ` │ ¹ │ ² │ ³ │ ¤ │ € │ ^ │ ̛ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
131 * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
133 * │ │ Á │ ß │ Ð │ │ │ │ Ï │ Œ │ Ø │ ¶ │ ' │ │
134 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
135 * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
136 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
137 * │ │ │ │ │ │ │ │ │
138 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
139 */
140// Row 1
141#define US_DGRV ALGR(US_GRV) // ` (dead) 99#define US_DGRV ALGR(US_GRV) // ` (dead)
142#define US_SUP1 ALGR(US_1) // ¹ 100#define US_SUP1 ALGR(US_1) // ¹
143#define US_SUP2 ALGR(US_2) // ² 101#define US_SUP2 ALGR(US_2) // ²
@@ -145,13 +103,12 @@
145#define US_CURR ALGR(US_4) // ¤ 103#define US_CURR ALGR(US_4) // ¤
146#define US_EURO ALGR(US_5) // € 104#define US_EURO ALGR(US_5) // €
147#define US_DCIR ALGR(US_6) // ^ (dead) 105#define US_DCIR ALGR(US_6) // ^ (dead)
148#define US_HORN ALGR(US_7) // ̛ (dead) 106#define US_HORN ALGR(US_7) // ̛ (dead)
149#define US_OGON ALGR(US_8) // ˛ (dead) 107#define US_OGON ALGR(US_8) // ˛ (dead)
150#define US_LSQU ALGR(US_9) // ‘ 108#define US_LSQU ALGR(US_9) // ‘
151#define US_RSQU ALGR(US_0) // ’ 109#define US_RSQU ALGR(US_0) // ’
152#define US_YEN ALGR(US_MINS) // ¥ 110#define US_YEN ALGR(US_MINS) // ¥
153#define US_MUL ALGR(US_EQL) // × 111#define US_MUL ALGR(US_EQL) // ×
154// Row 2
155#define US_ADIA ALGR(US_Q) // Ä 112#define US_ADIA ALGR(US_Q) // Ä
156#define US_ARNG ALGR(US_W) // Å 113#define US_ARNG ALGR(US_W) // Å
157#define US_EACU ALGR(US_E) // É 114#define US_EACU ALGR(US_E) // É
@@ -165,7 +122,6 @@
165#define US_LDAQ ALGR(US_LBRC) // « 122#define US_LDAQ ALGR(US_LBRC) // «
166#define US_RDAQ ALGR(US_RBRC) // » 123#define US_RDAQ ALGR(US_RBRC) // »
167#define US_NOT ALGR(US_BSLS) // ¬ 124#define US_NOT ALGR(US_BSLS) // ¬
168// Row 3
169#define US_AACU ALGR(US_A) // Á 125#define US_AACU ALGR(US_A) // Á
170#define US_SS ALGR(US_S) // ß 126#define US_SS ALGR(US_S) // ß
171#define US_ETH ALGR(US_D) // Ð 127#define US_ETH ALGR(US_D) // Ð
@@ -174,7 +130,6 @@
174#define US_OSTR ALGR(US_L) // Ø 130#define US_OSTR ALGR(US_L) // Ø
175#define US_PILC ALGR(US_SCLN) // ¶ 131#define US_PILC ALGR(US_SCLN) // ¶
176#define US_ACUT ALGR(US_QUOT) // ´ (dead) 132#define US_ACUT ALGR(US_QUOT) // ´ (dead)
177// Row 4
178#define US_AE ALGR(US_Z) // Æ 133#define US_AE ALGR(US_Z) // Æ
179#define US_OE_2 ALGR(US_X) // Œ 134#define US_OE_2 ALGR(US_X) // Œ
180#define US_COPY ALGR(US_C) // © 135#define US_COPY ALGR(US_C) // ©
@@ -184,21 +139,6 @@
184#define US_CCED ALGR(US_COMM) // Ç 139#define US_CCED ALGR(US_COMM) // Ç
185#define US_DOTA ALGR(US_DOT) // ˙ (dead) 140#define US_DOTA ALGR(US_DOT) // ˙ (dead)
186#define US_IQUE ALGR(US_SLSH) // ¿ 141#define US_IQUE ALGR(US_SLSH) // ¿
187
188/* Shift+AltGr symbols
189 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
190 * │ ~ │ ¡ │ ˝ │ ¯ │ £ │ ¸ │ ¼ │ ½ │ ¾ │ ˘ │ ° │ ̣ │ ÷ │ │
191 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
192 * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
193 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
194 * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
195 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
196 * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
197 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
198 * │ │ │ │ │ │ │ │ │
199 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
200 */
201// Row 1
202#define US_DTIL S(ALGR(US_GRV)) // ~ (dead) 142#define US_DTIL S(ALGR(US_GRV)) // ~ (dead)
203#define US_IEXL S(ALGR(US_1)) // ¡ 143#define US_IEXL S(ALGR(US_1)) // ¡
204#define US_DACU S(ALGR(US_2)) // ˝ (dead) 144#define US_DACU S(ALGR(US_2)) // ˝ (dead)
@@ -210,18 +150,14 @@
210#define US_TQTR S(ALGR(US_8)) // ¾ 150#define US_TQTR S(ALGR(US_8)) // ¾
211#define US_BREV S(ALGR(US_9)) // ˘ (dead) 151#define US_BREV S(ALGR(US_9)) // ˘ (dead)
212#define US_RNGA S(ALGR(US_0)) // ° (dead) 152#define US_RNGA S(ALGR(US_0)) // ° (dead)
213#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead) 153#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead)
214#define US_DIV S(ALGR(US_EQL)) // ÷ 154#define US_DIV S(ALGR(US_EQL)) // ÷
215// Row 2
216#define US_LDQU S(ALGR(US_LBRC)) // “ 155#define US_LDQU S(ALGR(US_LBRC)) // “
217#define US_RDQU S(ALGR(US_RBRC)) // ” 156#define US_RDQU S(ALGR(US_RBRC)) // ”
218#define US_BRKP S(ALGR(US_BSLS)) // ¦ 157#define US_BRKP S(ALGR(US_BSLS)) // ¦
219// Row 3
220#define US_SECT S(ALGR(US_S)) // § 158#define US_SECT S(ALGR(US_S)) // §
221#define US_DEG S(ALGR(US_SCLN)) // ° 159#define US_DEG S(ALGR(US_SCLN)) // °
222#define US_DIAE S(ALGR(US_QUOT)) // ¨ (dead) 160#define US_DIAE S(ALGR(US_QUOT)) // ¨ (dead)
223// Row 4
224#define US_CENT S(ALGR(US_C)) // ¢ 161#define US_CENT S(ALGR(US_C)) // ¢
225#define US_CARN S(ALGR(US_DOT)) // ˇ (dead) 162#define US_CARN S(ALGR(US_DOT)) // ˇ (dead)
226#define US_HOKA S(ALGR(US_SLSH)) // ̉ (dead) 163#define US_HOKA S(ALGR(US_SLSH)) // ̉ (dead)
227
diff --git a/quantum/keymap_extras/keymap_us_international.h b/quantum/keymap_extras/keymap_us_international.h
index d491a38f52..c87dc6d544 100644
--- a/quantum/keymap_extras/keymap_us_international.h
+++ b/quantum/keymap_extras/keymap_us_international.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define US_DGRV KC_GRV // ` (dead) 31#define US_DGRV KC_GRV // ` (dead)
38#define US_1 KC_1 // 1 32#define US_1 KC_1 // 1
39#define US_2 KC_2 // 2 33#define US_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define US_0 KC_0 // 0 41#define US_0 KC_0 // 0
48#define US_MINS KC_MINS // - 42#define US_MINS KC_MINS // -
49#define US_EQL KC_EQL // = 43#define US_EQL KC_EQL // =
50// Row 2
51#define US_Q KC_Q // Q 44#define US_Q KC_Q // Q
52#define US_W KC_W // W 45#define US_W KC_W // W
53#define US_E KC_E // E 46#define US_E KC_E // E
@@ -61,7 +54,6 @@
61#define US_LBRC KC_LBRC // [ 54#define US_LBRC KC_LBRC // [
62#define US_RBRC KC_RBRC // ] 55#define US_RBRC KC_RBRC // ]
63#define US_BSLS KC_BSLS // (backslash) 56#define US_BSLS KC_BSLS // (backslash)
64// Row 3
65#define US_A KC_A // A 57#define US_A KC_A // A
66#define US_S KC_S // S 58#define US_S KC_S // S
67#define US_D KC_D // D 59#define US_D KC_D // D
@@ -73,7 +65,6 @@
73#define US_L KC_L // L 65#define US_L KC_L // L
74#define US_SCLN KC_SCLN // ; 66#define US_SCLN KC_SCLN // ;
75#define US_ACUT KC_QUOT // ´ (dead) 67#define US_ACUT KC_QUOT // ´ (dead)
76// Row 4
77#define US_Z KC_Z // Z 68#define US_Z KC_Z // Z
78#define US_X KC_X // X 69#define US_X KC_X // X
79#define US_C KC_C // C 70#define US_C KC_C // C
@@ -84,21 +75,6 @@
84#define US_COMM KC_COMM // , 75#define US_COMM KC_COMM // ,
85#define US_DOT KC_DOT // . 76#define US_DOT KC_DOT // .
86#define US_SLSH KC_SLSH // / 77#define US_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define US_DTIL S(US_DGRV) // ~ (dead) 78#define US_DTIL S(US_DGRV) // ~ (dead)
103#define US_EXLM S(US_1) // ! 79#define US_EXLM S(US_1) // !
104#define US_AT S(US_2) // @ 80#define US_AT S(US_2) // @
@@ -112,32 +88,14 @@
112#define US_RPRN S(US_0) // ) 88#define US_RPRN S(US_0) // )
113#define US_UNDS S(US_MINS) // _ 89#define US_UNDS S(US_MINS) // _
114#define US_PLUS S(US_EQL) // + 90#define US_PLUS S(US_EQL) // +
115// Row 2
116#define US_LCBR S(US_LBRC) // { 91#define US_LCBR S(US_LBRC) // {
117#define US_RCBR S(US_RBRC) // } 92#define US_RCBR S(US_RBRC) // }
118#define US_PIPE S(US_BSLS) // | 93#define US_PIPE S(US_BSLS) // |
119// Row 3
120#define US_COLN S(US_SCLN) // : 94#define US_COLN S(US_SCLN) // :
121#define US_DIAE S(US_ACUT) // ¨ (dead) 95#define US_DIAE S(US_ACUT) // ¨ (dead)
122// Row 4
123#define US_LABK S(US_COMM) // < 96#define US_LABK S(US_COMM) // <
124#define US_RABK S(US_DOT) // > 97#define US_RABK S(US_DOT) // >
125#define US_QUES S(US_SLSH) // ? 98#define US_QUES S(US_SLSH) // ?
126
127/* AltGr symbols
128 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
129 * │ │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
131 * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
133 * │ │ Á │ ß │ Ð │ │ │ │ │ │ Ø │ ¶ │ ´ │ │
134 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
135 * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ │ ¿ │ │
136 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
137 * │ │ │ │ │ │ │ │ │
138 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
139 */
140// Row 1
141#define US_IEXL ALGR(US_1) // ¡ 99#define US_IEXL ALGR(US_1) // ¡
142#define US_SUP2 ALGR(US_2) // ² 100#define US_SUP2 ALGR(US_2) // ²
143#define US_SUP3 ALGR(US_3) // ³ 101#define US_SUP3 ALGR(US_3) // ³
@@ -150,7 +108,6 @@
150#define US_RSQU ALGR(US_0) // ’ 108#define US_RSQU ALGR(US_0) // ’
151#define US_YEN ALGR(US_MINS) // ¥ 109#define US_YEN ALGR(US_MINS) // ¥
152#define US_MUL ALGR(US_EQL) // × 110#define US_MUL ALGR(US_EQL) // ×
153// Row 2
154#define US_ADIA ALGR(US_Q) // Ä 111#define US_ADIA ALGR(US_Q) // Ä
155#define US_ARNG ALGR(US_W) // Å 112#define US_ARNG ALGR(US_W) // Å
156#define US_EACU ALGR(US_E) // É 113#define US_EACU ALGR(US_E) // É
@@ -164,43 +121,23 @@
164#define US_LDAQ ALGR(US_LBRC) // « 121#define US_LDAQ ALGR(US_LBRC) // «
165#define US_RDAQ ALGR(US_RBRC) // » 122#define US_RDAQ ALGR(US_RBRC) // »
166#define US_NOT ALGR(US_BSLS) // ¬ 123#define US_NOT ALGR(US_BSLS) // ¬
167// Row 3
168#define US_AACU ALGR(US_A) // Á 124#define US_AACU ALGR(US_A) // Á
169#define US_SS ALGR(US_S) // ß 125#define US_SS ALGR(US_S) // ß
170#define US_ETH ALGR(US_D) // Ð 126#define US_ETH ALGR(US_D) // Ð
171#define US_OSTR ALGR(US_L) // Ø 127#define US_OSTR ALGR(US_L) // Ø
172#define US_PILC ALGR(US_SCLN) // ¶ 128#define US_PILC ALGR(US_SCLN) // ¶
173#define US_NDAC ALGR(US_ACUT) // ´ 129#define US_NDAC ALGR(US_ACUT) // ´
174// Row 4
175#define US_AE ALGR(US_Z) // Æ 130#define US_AE ALGR(US_Z) // Æ
176#define US_COPY ALGR(US_C) // © 131#define US_COPY ALGR(US_C) // ©
177#define US_NTIL ALGR(US_N) // Ñ 132#define US_NTIL ALGR(US_N) // Ñ
178#define US_MICR ALGR(US_M) // µ 133#define US_MICR ALGR(US_M) // µ
179#define US_CCED ALGR(US_COMM) // Ç 134#define US_CCED ALGR(US_COMM) // Ç
180#define US_IQUE ALGR(US_SLSH) // ¿ 135#define US_IQUE ALGR(US_SLSH) // ¿
181
182/* Shift+AltGr symbols
183 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
184 * │ │ ¹ │ │ │ £ │ │ │ │ │ │ │ │ ÷ │ │
185 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
186 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ¦ │
187 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
188 * │ │ │ § │ │ │ │ │ │ │ │ ° │ ¨ │ │
189 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
190 * │ │ │ │ ¢ │ │ │ │ │ │ │ │ │
191 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
192 * │ │ │ │ │ │ │ │ │
193 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
194 */
195// Row 1
196#define US_SUP1 S(ALGR(US_1)) // ¹ 136#define US_SUP1 S(ALGR(US_1)) // ¹
197#define US_PND S(ALGR(US_4)) // £ 137#define US_PND S(ALGR(US_4)) // £
198#define US_DIV S(ALGR(US_EQL)) // ÷ 138#define US_DIV S(ALGR(US_EQL)) // ÷
199// Row 2
200#define US_BRKP S(ALGR(US_BSLS)) // ¦ 139#define US_BRKP S(ALGR(US_BSLS)) // ¦
201// Row 3
202#define US_SECT S(ALGR(US_S)) // § 140#define US_SECT S(ALGR(US_S)) // §
203#define US_DEG S(ALGR(US_SCLN)) // ° 141#define US_DEG S(ALGR(US_SCLN)) // °
204#define US_NDDR S(ALGR(US_ACUT)) // ¨ 142#define US_NDDR S(ALGR(US_ACUT)) // ¨
205// Row 4
206#define US_CENT S(ALGR(US_C)) // ¢ 143#define US_CENT S(ALGR(US_C)) // ¢
diff --git a/quantum/keymap_extras/keymap_us_international_linux.h b/quantum/keymap_extras/keymap_us_international_linux.h
index e0c08200b9..4d4222f726 100644
--- a/quantum/keymap_extras/keymap_us_international_linux.h
+++ b/quantum/keymap_extras/keymap_us_international_linux.h
@@ -1,39 +1,33 @@
1/* Copyright 2020 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define US_DGRV KC_GRV // ` (dead) 31#define US_DGRV KC_GRV // ` (dead)
38#define US_1 KC_1 // 1 32#define US_1 KC_1 // 1
39#define US_2 KC_2 // 2 33#define US_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define US_0 KC_0 // 0 41#define US_0 KC_0 // 0
48#define US_MINS KC_MINS // - 42#define US_MINS KC_MINS // -
49#define US_EQL KC_EQL // = 43#define US_EQL KC_EQL // =
50// Row 2
51#define US_Q KC_Q // Q 44#define US_Q KC_Q // Q
52#define US_W KC_W // W 45#define US_W KC_W // W
53#define US_E KC_E // E 46#define US_E KC_E // E
@@ -61,7 +54,6 @@
61#define US_LBRC KC_LBRC // [ 54#define US_LBRC KC_LBRC // [
62#define US_RBRC KC_RBRC // ] 55#define US_RBRC KC_RBRC // ]
63#define US_BSLS KC_BSLS // (backslash) 56#define US_BSLS KC_BSLS // (backslash)
64// Row 3
65#define US_A KC_A // A 57#define US_A KC_A // A
66#define US_S KC_S // S 58#define US_S KC_S // S
67#define US_D KC_D // D 59#define US_D KC_D // D
@@ -73,7 +65,6 @@
73#define US_L KC_L // L 65#define US_L KC_L // L
74#define US_SCLN KC_SCLN // ; 66#define US_SCLN KC_SCLN // ;
75#define US_ACUT KC_QUOT // ´ (dead) 67#define US_ACUT KC_QUOT // ´ (dead)
76// Row 4
77#define US_Z KC_Z // Z 68#define US_Z KC_Z // Z
78#define US_X KC_X // X 69#define US_X KC_X // X
79#define US_C KC_C // C 70#define US_C KC_C // C
@@ -84,21 +75,6 @@
84#define US_COMM KC_COMM // , 75#define US_COMM KC_COMM // ,
85#define US_DOT KC_DOT // . 76#define US_DOT KC_DOT // .
86#define US_SLSH KC_SLSH // / 77#define US_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define US_DTIL S(US_DGRV) // ~ (dead) 78#define US_DTIL S(US_DGRV) // ~ (dead)
103#define US_EXLM S(US_1) // ! 79#define US_EXLM S(US_1) // !
104#define US_AT S(US_2) // @ 80#define US_AT S(US_2) // @
@@ -112,33 +88,14 @@
112#define US_RPRN S(US_0) // ) 88#define US_RPRN S(US_0) // )
113#define US_UNDS S(US_MINS) // _ 89#define US_UNDS S(US_MINS) // _
114#define US_PLUS S(US_EQL) // + 90#define US_PLUS S(US_EQL) // +
115// Row 2
116#define US_LCBR S(US_LBRC) // { 91#define US_LCBR S(US_LBRC) // {
117#define US_RCBR S(US_RBRC) // } 92#define US_RCBR S(US_RBRC) // }
118#define US_PIPE S(US_BSLS) // | 93#define US_PIPE S(US_BSLS) // |
119// Row 3
120#define US_COLN S(US_SCLN) // : 94#define US_COLN S(US_SCLN) // :
121#define US_DIAE S(US_ACUT) // ¨ (dead) 95#define US_DIAE S(US_ACUT) // ¨ (dead)
122// Row 4
123#define US_LABK S(US_COMM) // < 96#define US_LABK S(US_COMM) // <
124#define US_RABK S(US_DOT) // > 97#define US_RABK S(US_DOT) // >
125#define US_QUES S(US_SLSH) // ? 98#define US_QUES S(US_SLSH) // ?
126
127/* AltGr symbols
128 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
129 * │ ` │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
130 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
131 * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
132 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
133 * │ │ Á │ ß │ Ð │ │ │ │ │ Œ │ Ø │ ¶ │ ' │ │
134 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
135 * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
136 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
137 * │ │ │ │ │ │ │ │ │
138 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
139 */
140
141// Row 1
142#define US_GRV ALGR(US_DGRV) // ` 99#define US_GRV ALGR(US_DGRV) // `
143#define US_IEXL ALGR(US_1) // ¡ 100#define US_IEXL ALGR(US_1) // ¡
144#define US_SUP2 ALGR(US_2) // ² 101#define US_SUP2 ALGR(US_2) // ²
@@ -152,7 +109,6 @@
152#define US_RSQU ALGR(US_0) // ’ 109#define US_RSQU ALGR(US_0) // ’
153#define US_YEN ALGR(US_MINS) // ¥ 110#define US_YEN ALGR(US_MINS) // ¥
154#define US_MUL ALGR(US_EQL) // × 111#define US_MUL ALGR(US_EQL) // ×
155// Row 2
156#define US_ADIA ALGR(US_Q) // Ä 112#define US_ADIA ALGR(US_Q) // Ä
157#define US_ARNG ALGR(US_W) // Å 113#define US_ARNG ALGR(US_W) // Å
158#define US_EACU ALGR(US_E) // É 114#define US_EACU ALGR(US_E) // É
@@ -166,7 +122,6 @@
166#define US_LDAQ ALGR(US_LBRC) // « 122#define US_LDAQ ALGR(US_LBRC) // «
167#define US_RDAQ ALGR(US_RBRC) // » 123#define US_RDAQ ALGR(US_RBRC) // »
168#define US_NOT ALGR(US_BSLS) // ¬ 124#define US_NOT ALGR(US_BSLS) // ¬
169// Row 3
170#define US_AACU ALGR(US_A) // Á 125#define US_AACU ALGR(US_A) // Á
171#define US_SS ALGR(US_S) // ß 126#define US_SS ALGR(US_S) // ß
172#define US_ETH ALGR(US_D) // Ð 127#define US_ETH ALGR(US_D) // Ð
@@ -174,7 +129,6 @@
174#define US_OSTR ALGR(US_L) // Ø 129#define US_OSTR ALGR(US_L) // Ø
175#define US_PILC ALGR(US_SCLN) // ¶ 130#define US_PILC ALGR(US_SCLN) // ¶
176#define US_QUOT ALGR(US_ACUT) // ' 131#define US_QUOT ALGR(US_ACUT) // '
177// Row 4
178#define US_AE ALGR(US_Z) // Æ 132#define US_AE ALGR(US_Z) // Æ
179#define US_COPY ALGR(US_C) // © 133#define US_COPY ALGR(US_C) // ©
180#define US_NTIL ALGR(US_N) // Ñ 134#define US_NTIL ALGR(US_N) // Ñ
@@ -182,21 +136,6 @@
182#define US_CCED ALGR(US_COMM) // Ç 136#define US_CCED ALGR(US_COMM) // Ç
183#define US_DOTA ALGR(US_DOT) // ˙ (dead) 137#define US_DOTA ALGR(US_DOT) // ˙ (dead)
184#define US_IQUE ALGR(US_SLSH) // ¿ 138#define US_IQUE ALGR(US_SLSH) // ¿
185
186/* Shift+AltGr symbols
187 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
188 * │ ~ │ ¹ │ ˝ │ ¯ │ £ │ ¸ │ ^ │ ̛ │ ˛ │ ˘ │ ° │ ̣ │ ÷ │ │
189 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
190 * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
191 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
192 * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
193 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
194 * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
195 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
196 * │ │ │ │ │ │ │ │ │
197 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
198 */
199// Row 1
200#define US_TILD S(ALGR(US_DGRV)) // ~ 139#define US_TILD S(ALGR(US_DGRV)) // ~
201#define US_SUP1 S(ALGR(US_1)) // ¹ 140#define US_SUP1 S(ALGR(US_1)) // ¹
202#define US_DACU S(ALGR(US_2)) // ˝ (dead) 141#define US_DACU S(ALGR(US_2)) // ˝ (dead)
@@ -204,21 +143,18 @@
204#define US_PND S(ALGR(US_4)) // £ 143#define US_PND S(ALGR(US_4)) // £
205#define US_CEDL S(ALGR(US_5)) // ¸ (dead) 144#define US_CEDL S(ALGR(US_5)) // ¸ (dead)
206#define US_CIRC S(ALGR(US_6)) // ^ 145#define US_CIRC S(ALGR(US_6)) // ^
207#define US_HORN S(ALGR(US_7)) // ̛ (dead) 146#define US_HORN S(ALGR(US_7)) // ̛ (dead)
208#define US_OGON S(ALGR(US_8)) // ˛ (dead) 147#define US_OGON S(ALGR(US_8)) // ˛ (dead)
209#define US_BREV S(ALGR(US_9)) // ˘ (dead) 148#define US_BREV S(ALGR(US_9)) // ˘ (dead)
210#define US_RNGA S(ALGR(US_0)) // ° (dead) 149#define US_RNGA S(ALGR(US_0)) // ° (dead)
211#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead) 150#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead)
212#define US_DIV S(ALGR(US_EQL)) // ÷ 151#define US_DIV S(ALGR(US_EQL)) // ÷
213// Row 2
214#define US_LDQU S(ALGR(US_LBRC)) // “ 152#define US_LDQU S(ALGR(US_LBRC)) // “
215#define US_RDQU S(ALGR(US_RBRC)) // ” 153#define US_RDQU S(ALGR(US_RBRC)) // ”
216#define US_BRKP S(ALGR(US_BSLS)) // ¦ 154#define US_BRKP S(ALGR(US_BSLS)) // ¦
217// Row 3
218#define US_SECT S(ALGR(US_S)) // § 155#define US_SECT S(ALGR(US_S)) // §
219#define US_DEG S(ALGR(US_SCLN)) // ° 156#define US_DEG S(ALGR(US_SCLN)) // °
220#define US_DQUO S(ALGR(US_ACUT)) // " 157#define US_DQUO S(ALGR(US_ACUT)) // "
221// Row 4
222#define US_CENT S(ALGR(US_C)) // ¢ 158#define US_CENT S(ALGR(US_C)) // ¢
223#define US_CARN S(ALGR(US_DOT)) // ˇ (dead) 159#define US_CARN S(ALGR(US_DOT)) // ˇ (dead)
224#define US_HOKA S(ALGR(US_SLSH)) // ̉ (dead) 160#define US_HOKA S(ALGR(US_SLSH)) // ̉ (dead)
diff --git a/quantum/keymap_extras/keymap_workman.h b/quantum/keymap_extras/keymap_workman.h
index 6367d68351..3b0ce7f6d6 100644
--- a/quantum/keymap_extras/keymap_workman.h
+++ b/quantum/keymap_extras/keymap_workman.h
@@ -1,39 +1,33 @@
1/* Copyright 2018 Jacob Jerrell 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define WK_GRV KC_GRV // ` 31#define WK_GRV KC_GRV // `
38#define WK_1 KC_1 // 1 32#define WK_1 KC_1 // 1
39#define WK_2 KC_2 // 2 33#define WK_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define WK_0 KC_0 // 0 41#define WK_0 KC_0 // 0
48#define WK_MINS KC_MINS // - 42#define WK_MINS KC_MINS // -
49#define WK_EQL KC_EQL // = 43#define WK_EQL KC_EQL // =
50// Row 2
51#define WK_Q KC_Q // Q 44#define WK_Q KC_Q // Q
52#define WK_D KC_W // D 45#define WK_D KC_W // D
53#define WK_R KC_E // R 46#define WK_R KC_E // R
@@ -61,7 +54,6 @@
61#define WK_LBRC KC_LBRC // [ 54#define WK_LBRC KC_LBRC // [
62#define WK_RBRC KC_RBRC // ] 55#define WK_RBRC KC_RBRC // ]
63#define WK_BSLS KC_BSLS // (backslash) 56#define WK_BSLS KC_BSLS // (backslash)
64// Row 3
65#define WK_A KC_A // A 57#define WK_A KC_A // A
66#define WK_S KC_S // S 58#define WK_S KC_S // S
67#define WK_H KC_D // H 59#define WK_H KC_D // H
@@ -73,7 +65,6 @@
73#define WK_O KC_L // O 65#define WK_O KC_L // O
74#define WK_I KC_SCLN // I 66#define WK_I KC_SCLN // I
75#define WK_QUOT KC_QUOT // ' 67#define WK_QUOT KC_QUOT // '
76// Row 4
77#define WK_Z KC_Z // Z 68#define WK_Z KC_Z // Z
78#define WK_X KC_X // X 69#define WK_X KC_X // X
79#define WK_M KC_C // M 70#define WK_M KC_C // M
@@ -84,21 +75,6 @@
84#define WK_COMM KC_COMM // , 75#define WK_COMM KC_COMM // ,
85#define WK_DOT KC_DOT // . 76#define WK_DOT KC_DOT // .
86#define WK_SLSH KC_SLSH // / 77#define WK_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define WK_TILD S(WK_GRV) // ~ 78#define WK_TILD S(WK_GRV) // ~
103#define WK_EXLM S(WK_1) // ! 79#define WK_EXLM S(WK_1) // !
104#define WK_AT S(WK_2) // @ 80#define WK_AT S(WK_2) // @
@@ -112,14 +88,11 @@
112#define WK_RPRN S(WK_0) // ) 88#define WK_RPRN S(WK_0) // )
113#define WK_UNDS S(WK_MINS) // _ 89#define WK_UNDS S(WK_MINS) // _
114#define WK_PLUS S(WK_EQL) // + 90#define WK_PLUS S(WK_EQL) // +
115// Row 2
116#define WK_COLN S(WK_SCLN) // : 91#define WK_COLN S(WK_SCLN) // :
117#define WK_LCBR S(WK_LBRC) // { 92#define WK_LCBR S(WK_LBRC) // {
118#define WK_RCBR S(WK_RBRC) // } 93#define WK_RCBR S(WK_RBRC) // }
119#define WK_PIPE S(WK_BSLS) // | 94#define WK_PIPE S(WK_BSLS) // |
120// Row 3
121#define WK_DQUO S(WK_QUOT) // " 95#define WK_DQUO S(WK_QUOT) // "
122// Row 4
123#define WK_LABK S(WK_COMM) // < 96#define WK_LABK S(WK_COMM) // <
124#define WK_RABK S(WK_DOT) // > 97#define WK_RABK S(WK_DOT) // >
125#define WK_QUES S(WK_SLSH) // ? 98#define WK_QUES S(WK_SLSH) // ?
diff --git a/quantum/keymap_extras/keymap_workman_zxcvm.h b/quantum/keymap_extras/keymap_workman_zxcvm.h
index 01eb83c397..252250cb92 100644
--- a/quantum/keymap_extras/keymap_workman_zxcvm.h
+++ b/quantum/keymap_extras/keymap_workman_zxcvm.h
@@ -1,39 +1,33 @@
1/* Copyright 2018 Jacob Jerrell 1// Copyright 2022 QMK
2 * 2// SPDX-License-Identifier: GPL-2.0-or-later
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 3
17#pragma once 4/*******************************************************************************
5 88888888888 888 d8b .d888 d8b 888 d8b
6 888 888 Y8P d88P" Y8P 888 Y8P
7 888 888 888 888
8 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
9 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
10 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
11 888 888 888 888 X88 888 888 888 Y8b. 888 X88
12 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
13 888 888
14 888 888
15 888 888
16 .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
17 d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
18 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
19 Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
20 "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
21 888
22 Y8b d88P
23 "Y88P"
24*******************************************************************************/
18 25
26#pragma once
19#include "keymap.h" 27#include "keymap.h"
20
21// clang-format off 28// clang-format off
22 29
23/* 30// Aliases
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Z │ X │ C │ V │ M │ K │ L │ , │ . │ / │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define WK_GRV KC_GRV // ` 31#define WK_GRV KC_GRV // `
38#define WK_1 KC_1 // 1 32#define WK_1 KC_1 // 1
39#define WK_2 KC_2 // 2 33#define WK_2 KC_2 // 2
@@ -47,7 +41,6 @@
47#define WK_0 KC_0 // 0 41#define WK_0 KC_0 // 0
48#define WK_MINS KC_MINS // - 42#define WK_MINS KC_MINS // -
49#define WK_EQL KC_EQL // = 43#define WK_EQL KC_EQL // =
50// Row 2
51#define WK_Q KC_Q // Q 44#define WK_Q KC_Q // Q
52#define WK_D KC_W // D 45#define WK_D KC_W // D
53#define WK_R KC_E // R 46#define WK_R KC_E // R
@@ -61,7 +54,6 @@
61#define WK_LBRC KC_LBRC // [ 54#define WK_LBRC KC_LBRC // [
62#define WK_RBRC KC_RBRC // ] 55#define WK_RBRC KC_RBRC // ]
63#define WK_BSLS KC_BSLS // (backslash) 56#define WK_BSLS KC_BSLS // (backslash)
64// Row 3
65#define WK_A KC_A // A 57#define WK_A KC_A // A
66#define WK_S KC_S // S 58#define WK_S KC_S // S
67#define WK_H KC_D // H 59#define WK_H KC_D // H
@@ -73,7 +65,6 @@
73#define WK_O KC_L // O 65#define WK_O KC_L // O
74#define WK_I KC_SCLN // I 66#define WK_I KC_SCLN // I
75#define WK_QUOT KC_QUOT // ' 67#define WK_QUOT KC_QUOT // '
76// Row 4
77#define WK_Z KC_Z // Z 68#define WK_Z KC_Z // Z
78#define WK_X KC_X // X 69#define WK_X KC_X // X
79#define WK_C KC_C // C 70#define WK_C KC_C // C
@@ -84,21 +75,6 @@
84#define WK_COMM KC_COMM // , 75#define WK_COMM KC_COMM // ,
85#define WK_DOT KC_DOT // . 76#define WK_DOT KC_DOT // .
86#define WK_SLSH KC_SLSH // / 77#define WK_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define WK_TILD S(WK_GRV) // ~ 78#define WK_TILD S(WK_GRV) // ~
103#define WK_EXLM S(WK_1) // ! 79#define WK_EXLM S(WK_1) // !
104#define WK_AT S(WK_2) // @ 80#define WK_AT S(WK_2) // @
@@ -112,14 +88,11 @@
112#define WK_RPRN S(WK_0) // ) 88#define WK_RPRN S(WK_0) // )
113#define WK_UNDS S(WK_MINS) // _ 89#define WK_UNDS S(WK_MINS) // _
114#define WK_PLUS S(WK_EQL) // + 90#define WK_PLUS S(WK_EQL) // +
115// Row 2
116#define WK_COLN S(WK_SCLN) // : 91#define WK_COLN S(WK_SCLN) // :
117#define WK_LCBR S(WK_LBRC) // { 92#define WK_LCBR S(WK_LBRC) // {
118#define WK_RCBR S(WK_RBRC) // } 93#define WK_RCBR S(WK_RBRC) // }
119#define WK_PIPE S(WK_BSLS) // | 94#define WK_PIPE S(WK_BSLS) // |
120// Row 3
121#define WK_DQUO S(WK_QUOT) // " 95#define WK_DQUO S(WK_QUOT) // "
122// Row 4
123#define WK_LABK S(WK_COMM) // < 96#define WK_LABK S(WK_COMM) // <
124#define WK_RABK S(WK_DOT) // > 97#define WK_RABK S(WK_DOT) // >
125#define WK_QUES S(WK_SLSH) // ? 98#define WK_QUES S(WK_SLSH) // ?
diff --git a/util/lang_conv.py b/util/lang_conv.py
new file mode 100644
index 0000000000..a0da6c392d
--- /dev/null
+++ b/util/lang_conv.py
@@ -0,0 +1,65 @@
1from pathlib import Path
2
3langs = set()
4files = Path('quantum/keymap_extras/').glob('keymap_*.h')
5for file in files:
6 langs.add(file.stem.replace('keymap_', ''))
7
8for lang in langs:
9 try:
10 file = Path(f'quantum/keymap_extras/keymap_{lang}.h')
11 print(f'Reading:{file}')
12 collect = None
13 out = []
14 out += ['{']
15 out += [' "aliases": {']
16 lines = file.read_text(encoding='utf-8').split('\n')
17 for line in lines:
18
19 if line.startswith("// Row"):
20 # print(line)
21 continue
22 elif line.startswith("/*******************************************************************************"):
23 raise Exception(f'Skipping:{file}')
24 elif '/*' in line:
25 collect = [line]
26 elif '*/' in line:
27 collect += [line]
28 if 'copyright' in collect[0].lower():
29 collect = None
30 continue
31 out += collect
32 collect = None
33 elif collect:
34 collect += [line]
35
36 elif '#define' in line:
37 define = line.split()
38 while len(define) < 5:
39 define.append("")
40
41 if define[4] == "(backslash)":
42 define[4] = '\\\\'
43
44 define[4] = " ".join(define[4:]).strip()
45 define[4] = define[4].replace('"', '\\"')
46
47 if define[4]:
48 out += [f' "{define[2]}": {{']
49 out += [f' "key": "{define[1]}",']
50 out += [f' "label": "{define[4]}",']
51 out += [f' }}']
52 else:
53 out += [f' "{define[2]}": {{']
54 out += [f' "key": "{define[1]}"']
55 out += [f' }}']
56
57 out += [' }']
58 out += ['}']
59
60 dump = Path(f'data/constants/keycodes/extras/keycodes_{lang}_0.0.1.hjson')
61 print(f'Writing:{dump}')
62 dump.write_text("\n".join(out), encoding='utf-8')
63
64 except Exception as e:
65 print(e)
diff --git a/util/lang_gen.sh b/util/lang_gen.sh
new file mode 100755
index 0000000000..0b062b1a09
--- /dev/null
+++ b/util/lang_gen.sh
@@ -0,0 +1,8 @@
1#!/bin/bash
2
3for lang in $(find data/constants/keycodes/extras/ -type f -printf "%f\n" | sed "s/keycodes_//g" | sed "s/_[0-9].*//"); do
4 data=$(qmk generate-keycode-extras --version latest --lang $lang)
5 if [ "$?" == "0" ]; then
6 echo "$data" > quantum/keymap_extras/keymap_$lang.h
7 fi
8done