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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ² │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ µ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "BE_SUP2",
+ "label": "²",
+ }
+ "KC_1": {
+ "key": "BE_AMPR",
+ "label": "&",
+ }
+ "KC_2": {
+ "key": "BE_EACU",
+ "label": "é",
+ }
+ "KC_3": {
+ "key": "BE_DQUO",
+ "label": "\"",
+ }
+ "KC_4": {
+ "key": "BE_QUOT",
+ "label": "'",
+ }
+ "KC_5": {
+ "key": "BE_LPRN",
+ "label": "(",
+ }
+ "KC_6": {
+ "key": "BE_SECT",
+ "label": "§",
+ }
+ "KC_7": {
+ "key": "BE_EGRV",
+ "label": "è",
+ }
+ "KC_8": {
+ "key": "BE_EXLM",
+ "label": "!",
+ }
+ "KC_9": {
+ "key": "BE_CCED",
+ "label": "ç",
+ }
+ "KC_0": {
+ "key": "BE_AGRV",
+ "label": "à",
+ }
+ "KC_MINS": {
+ "key": "BE_RPRN",
+ "label": ")",
+ }
+ "KC_EQL": {
+ "key": "BE_MINS",
+ "label": "-",
+ }
+ "KC_Q": {
+ "key": "BE_A",
+ "label": "A",
+ }
+ "KC_W": {
+ "key": "BE_Z",
+ "label": "Z",
+ }
+ "KC_E": {
+ "key": "BE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "BE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "BE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "BE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "BE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "BE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "BE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "BE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "BE_DCIR",
+ "label": "^ (dead)",
+ }
+ "KC_RBRC": {
+ "key": "BE_DLR",
+ "label": "$",
+ }
+ "KC_A": {
+ "key": "BE_Q",
+ "label": "Q",
+ }
+ "KC_S": {
+ "key": "BE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "BE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "BE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "BE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "BE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "BE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "BE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "BE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "BE_M",
+ "label": "M",
+ }
+ "KC_QUOT": {
+ "key": "BE_UGRV",
+ "label": "ù",
+ }
+ "KC_NUHS": {
+ "key": "BE_MICR",
+ "label": "µ",
+ }
+ "KC_NUBS": {
+ "key": "BE_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "BE_W",
+ "label": "W",
+ }
+ "KC_X": {
+ "key": "BE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "BE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "BE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "BE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "BE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "BE_COMM",
+ "label": ",",
+ }
+ "KC_COMM": {
+ "key": "BE_SCLN",
+ "label": ";",
+ }
+ "KC_DOT": {
+ "key": "BE_COLN",
+ "label": ":",
+ }
+ "KC_SLSH": {
+ "key": "BE_EQL",
+ "label": "=",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ³ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(BE_SUP2)": {
+ "key": "BE_SUP3",
+ "label": "³",
+ }
+ "S(BE_AMPR)": {
+ "key": "BE_1",
+ "label": "1",
+ }
+ "S(BE_EACU)": {
+ "key": "BE_2",
+ "label": "2",
+ }
+ "S(BE_DQUO)": {
+ "key": "BE_3",
+ "label": "3",
+ }
+ "S(BE_QUOT)": {
+ "key": "BE_4",
+ "label": "4",
+ }
+ "S(BE_LPRN)": {
+ "key": "BE_5",
+ "label": "5",
+ }
+ "S(BE_SECT)": {
+ "key": "BE_6",
+ "label": "6",
+ }
+ "S(BE_EGRV)": {
+ "key": "BE_7",
+ "label": "7",
+ }
+ "S(BE_EXLM)": {
+ "key": "BE_8",
+ "label": "8",
+ }
+ "S(BE_CCED)": {
+ "key": "BE_9",
+ "label": "9",
+ }
+ "S(BE_AGRV)": {
+ "key": "BE_0",
+ "label": "0",
+ }
+ "S(BE_RPRN)": {
+ "key": "BE_DEG",
+ "label": "°",
+ }
+ "S(BE_MINS)": {
+ "key": "BE_UNDS",
+ "label": "_",
+ }
+ "S(BE_DCIR)": {
+ "key": "BE_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(BE_DLR)": {
+ "key": "BE_ASTR",
+ "label": "*",
+ }
+ "S(BE_UGRV)": {
+ "key": "BE_PERC",
+ "label": "%",
+ }
+ "S(BE_MICR)": {
+ "key": "BE_PND",
+ "label": "£",
+ }
+ "S(BE_LABK)": {
+ "key": "BE_RABK",
+ "label": ">",
+ }
+ "S(BE_COMM)": {
+ "key": "BE_QUES",
+ "label": "?",
+ }
+ "S(BE_SCLN)": {
+ "key": "BE_DOT",
+ "label": ".",
+ }
+ "S(BE_COLN)": {
+ "key": "BE_SLSH",
+ "label": "/",
+ }
+ "S(BE_EQL)": {
+ "key": "BE_PLUS",
+ "label": "+",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ | │ @ │ # │ │ │ ^ │ │ │ { │ } │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ´ │ ` │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(BE_AMPR)": {
+ "key": "BE_PIPE",
+ "label": "|",
+ }
+ "ALGR(BE_EACU)": {
+ "key": "BE_AT",
+ "label": "@",
+ }
+ "ALGR(BE_DQUO)": {
+ "key": "BE_HASH",
+ "label": "#",
+ }
+ "ALGR(BE_SECT)": {
+ "key": "BE_CIRC",
+ "label": "^",
+ }
+ "ALGR(BE_CCED)": {
+ "key": "BE_LCBR",
+ "label": "{",
+ }
+ "ALGR(BE_AGRV)": {
+ "key": "BE_RCBR",
+ "label": "}",
+ }
+ "ALGR(BE_E)": {
+ "key": "BE_EURO",
+ "label": "€",
+ }
+ "ALGR(BE_DCIR)": {
+ "key": "BE_LBRC",
+ "label": "[",
+ }
+ "ALGR(BE_DLR)": {
+ "key": "BE_RBRC",
+ "label": "]",
+ }
+ "ALGR(BE_UGRV)": {
+ "key": "BE_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(BE_MICR)": {
+ "key": "BE_GRV",
+ "label": "` (dead)",
+ }
+ "ALGR(BE_LABK)": {
+ "key": "BE_BSLS",
+ "label": "\\",
+ }
+ "ALGR(BE_EQL)": {
+ "key": "BE_TILD",
+ "label": "~",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ $ │ " │ « │ » │ ( │ ) │ @ │ + │ - │ / │ * │ = │ % │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ B │ É │ P │ O │ È │ ^ │ V │ D │ L │ J │ Z │ W │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ U │ I │ E │ , │ C │ T │ S │ R │ N │ M │ Ç │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ Ê │ À │ Y │ X │ . │ K │ ' │ Q │ G │ H │ F │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "BP_DLR",
+ "label": "$",
+ }
+ "KC_1": {
+ "key": "BP_DQUO",
+ "label": "\"",
+ }
+ "KC_2": {
+ "key": "BP_LDAQ",
+ "label": "«",
+ }
+ "KC_3": {
+ "key": "BP_RDAQ",
+ "label": "»",
+ }
+ "KC_4": {
+ "key": "BP_LPRN",
+ "label": "(",
+ }
+ "KC_5": {
+ "key": "BP_RPRN",
+ "label": ")",
+ }
+ "KC_6": {
+ "key": "BP_AT",
+ "label": "@",
+ }
+ "KC_7": {
+ "key": "BP_PLUS",
+ "label": "+",
+ }
+ "KC_8": {
+ "key": "BP_MINS",
+ "label": "-",
+ }
+ "KC_9": {
+ "key": "BP_SLSH",
+ "label": "/",
+ }
+ "KC_0": {
+ "key": "BP_ASTR",
+ "label": "*",
+ }
+ "KC_MINS": {
+ "key": "BP_EQL",
+ "label": "=",
+ }
+ "KC_EQL": {
+ "key": "BP_PERC",
+ "label": "%",
+ }
+ "KC_Q": {
+ "key": "BP_B",
+ "label": "B",
+ }
+ "KC_W": {
+ "key": "BP_EACU",
+ "label": "É",
+ }
+ "KC_E": {
+ "key": "BP_P",
+ "label": "P",
+ }
+ "KC_R": {
+ "key": "BP_O",
+ "label": "O",
+ }
+ "KC_T": {
+ "key": "BP_EGRV",
+ "label": "È",
+ }
+ "KC_Y": {
+ "key": "BP_DCIR",
+ "label": "^ (dead)",
+ }
+ "KC_U": {
+ "key": "BP_V",
+ "label": "V",
+ }
+ "KC_I": {
+ "key": "BP_D",
+ "label": "D",
+ }
+ "KC_O": {
+ "key": "BP_L",
+ "label": "L",
+ }
+ "KC_P": {
+ "key": "BP_J",
+ "label": "J",
+ }
+ "KC_LBRC": {
+ "key": "BP_Z",
+ "label": "Z",
+ }
+ "KC_RBRC": {
+ "key": "BP_W",
+ "label": "W",
+ }
+ "KC_A": {
+ "key": "BP_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "BP_U",
+ "label": "U",
+ }
+ "KC_D": {
+ "key": "BP_I",
+ "label": "I",
+ }
+ "KC_F": {
+ "key": "BP_E",
+ "label": "E",
+ }
+ "KC_G": {
+ "key": "BP_COMM",
+ "label": ",",
+ }
+ "KC_H": {
+ "key": "BP_C",
+ "label": "C",
+ }
+ "KC_J": {
+ "key": "BP_T",
+ "label": "T",
+ }
+ "KC_K": {
+ "key": "BP_S",
+ "label": "S",
+ }
+ "KC_L": {
+ "key": "BP_R",
+ "label": "R",
+ }
+ "KC_SCLN": {
+ "key": "BP_N",
+ "label": "N",
+ }
+ "KC_QUOT": {
+ "key": "BP_M",
+ "label": "M",
+ }
+ "KC_BSLS": {
+ "key": "BP_CCED",
+ "label": "Ç",
+ }
+ "KC_NUBS": {
+ "key": "BP_ECIR",
+ "label": "Ê",
+ }
+ "KC_Z": {
+ "key": "BP_AGRV",
+ "label": "À",
+ }
+ "KC_X": {
+ "key": "BP_Y",
+ "label": "Y",
+ }
+ "KC_C": {
+ "key": "BP_X",
+ "label": "X",
+ }
+ "KC_V": {
+ "key": "BP_DOT",
+ "label": ".",
+ }
+ "KC_B": {
+ "key": "BP_K",
+ "label": "K",
+ }
+ "KC_N": {
+ "key": "BP_QUOT",
+ "label": "'",
+ }
+ "KC_M": {
+ "key": "BP_Q",
+ "label": "Q",
+ }
+ "KC_COMM": {
+ "key": "BP_G",
+ "label": "G",
+ }
+ "KC_DOT": {
+ "key": "BP_H",
+ "label": "H",
+ }
+ "KC_SLSH": {
+ "key": "BP_F",
+ "label": "F",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ ! │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ ; │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ : │ │ ? │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(BP_DLR)": {
+ "key": "BP_HASH",
+ "label": "#",
+ }
+ "S(BP_DQUO)": {
+ "key": "BP_1",
+ "label": "1",
+ }
+ "S(BP_LDAQ)": {
+ "key": "BP_2",
+ "label": "2",
+ }
+ "S(BP_RDAQ)": {
+ "key": "BP_3",
+ "label": "3",
+ }
+ "S(BP_LPRN)": {
+ "key": "BP_4",
+ "label": "4",
+ }
+ "S(BP_RPRN)": {
+ "key": "BP_5",
+ "label": "5",
+ }
+ "S(BP_AT)": {
+ "key": "BP_6",
+ "label": "6",
+ }
+ "S(BP_PLUS)": {
+ "key": "BP_7",
+ "label": "7",
+ }
+ "S(BP_MINS)": {
+ "key": "BP_8",
+ "label": "8",
+ }
+ "S(BP_SLSH)": {
+ "key": "BP_9",
+ "label": "9",
+ }
+ "S(BP_ASTR)": {
+ "key": "BP_0",
+ "label": "0",
+ }
+ "S(BP_EQL)": {
+ "key": "BP_DEG",
+ "label": "°",
+ }
+ "S(BP_PERC)": {
+ "key": "BP_GRV",
+ "label": "`",
+ }
+ "S(BP_DCIR)": {
+ "key": "BP_EXLM",
+ "label": "!",
+ }
+ "S(BP_COMM)": {
+ "key": "BP_SCLN",
+ "label": ";",
+ }
+ "S(BP_DOT)": {
+ "key": "BP_COLN",
+ "label": ":",
+ }
+ "S(BP_QUOT)": {
+ "key": "BP_QUES",
+ "label": "?",
+ }
+ "S(KC_SPC)": {
+ "key": "BP_NBSP",
+ "label": "(non-breaking space)",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ – │ — │ < │ > │ [ │ ] │ ^ │ ± │ − │ ÷ │ × │ ≠ │ ‰ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ | │ ´ │ & │ Œ │ ` │ ¡ │ ˇ │ Ð │ / │ IJ │ Ə │ ˘ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Æ │ Ù │ ¨ │ € │ │ © │ Þ │ ẞ │ ® │ ~ │ ¯ │ ¸ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ \ │ { │ } │ … │ ~ │ ¿ │ ° │ │ † │ ˛ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ _ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(BP_DLR)": {
+ "key": "BP_NDSH",
+ "label": "–",
+ }
+ "ALGR(BP_DQUO)": {
+ "key": "BP_MDSH",
+ "label": "—",
+ }
+ "ALGR(BP_LDAQ)": {
+ "key": "BP_LABK",
+ "label": "<",
+ }
+ "ALGR(BP_RDAQ)": {
+ "key": "BP_RABK",
+ "label": ">",
+ }
+ "ALGR(BP_LPRN)": {
+ "key": "BP_LBRC",
+ "label": "[",
+ }
+ "ALGR(BP_RPRN)": {
+ "key": "BP_RBRC",
+ "label": "]",
+ }
+ "ALGR(BP_AT)": {
+ "key": "BP_CIRC",
+ "label": "^",
+ }
+ "ALGR(BP_PLUS)": {
+ "key": "BP_PLMN",
+ "label": "±",
+ }
+ "ALGR(BP_MINS)": {
+ "key": "BP_MMNS",
+ "label": "−",
+ }
+ "ALGR(BP_SLSH)": {
+ "key": "BP_DIV",
+ "label": "÷",
+ }
+ "ALGR(BP_ASTR)": {
+ "key": "BP_MUL",
+ "label": "×",
+ }
+ "ALGR(BP_EQL)": {
+ "key": "BP_NEQL",
+ "label": "≠",
+ }
+ "ALGR(BP_PERC)": {
+ "key": "BP_PERM",
+ "label": "‰",
+ }
+ "ALGR(BP_B)": {
+ "key": "BP_PIPE",
+ "label": "|",
+ }
+ "ALGR(BP_EACU)": {
+ "key": "BP_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(BP_P)": {
+ "key": "BP_AMPR",
+ "label": "&",
+ }
+ "ALGR(BP_O)": {
+ "key": "BP_OE",
+ "label": "Œ",
+ }
+ "ALGR(BP_EGRV)": {
+ "key": "BP_DGRV",
+ "label": "` (dead)",
+ }
+ "ALGR(BP_DCIR)": {
+ "key": "BP_IEXL",
+ "label": "¡",
+ }
+ "ALGR(BP_V)": {
+ "key": "BP_CARN",
+ "label": "ˇ (dead)",
+ }
+ "ALGR(BP_D)": {
+ "key": "BP_ETH",
+ "label": "Ð",
+ }
+ "ALGR(BP_L)": {
+ "key": "BP_DSLS",
+ "label": "/ (dead)",
+ }
+ "ALGR(BP_J)": {
+ "key": "BP_IJ",
+ "label": "IJ",
+ }
+ "ALGR(BP_Z)": {
+ "key": "BP_SCHW",
+ "label": "Ə",
+ }
+ "ALGR(BP_W)": {
+ "key": "BP_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(BP_A)": {
+ "key": "BP_AE",
+ "label": "Æ",
+ }
+ "ALGR(BP_U)": {
+ "key": "BP_UGRV",
+ "label": "Ù",
+ }
+ "ALGR(BP_I)": {
+ "key": "BP_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(BP_E)": {
+ "key": "BP_EURO",
+ "label": "€",
+ }
+ "ALGR(BP_C)": {
+ "key": "BP_COPY",
+ "label": "©",
+ }
+ "ALGR(BP_T)": {
+ "key": "BP_THRN",
+ "label": "Þ",
+ }
+ "ALGR(BP_S)": {
+ "key": "BP_SS",
+ "label": "ẞ",
+ }
+ "ALGR(BP_R)": {
+ "key": "BP_REGD",
+ "label": "®",
+ }
+ "ALGR(BP_N)": {
+ "key": "BP_DTIL",
+ "label": "~ (dead)",
+ }
+ "ALGR(BP_M)": {
+ "key": "BP_MACR",
+ "label": "¯ (dead)",
+ }
+ "ALGR(BP_CCED)": {
+ "key": "BP_CEDL",
+ "label": "¸ (dead)",
+ }
+ "ALGR(BP_AGRV)": {
+ "key": "BP_BSLS",
+ "label": "\\",
+ }
+ "ALGR(BP_Y)": {
+ "key": "BP_LCBR",
+ "label": "{",
+ }
+ "ALGR(BP_X)": {
+ "key": "BP_RCBR",
+ "label": "}",
+ }
+ "ALGR(BP_DOT)": {
+ "key": "BP_ELLP",
+ "label": "…",
+ }
+ "ALGR(BP_K)": {
+ "key": "BP_TILD",
+ "label": "~",
+ }
+ "ALGR(BP_QUES)": {
+ "key": "BP_IQUE",
+ "label": "¿",
+ }
+ "ALGR(BP_Q)": {
+ "key": "BP_RNGA",
+ "label": "° (dead)",
+ }
+ "ALGR(BP_G)": {
+ "key": "BP_DGRK",
+ "label": "µ (dead Greek key)",
+ }
+ "ALGR(BP_H)": {
+ "key": "BP_DAGG",
+ "label": "†",
+ }
+ "ALGR(BP_F)": {
+ "key": "BP_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(KC_SPC)": {
+ "key": "BP_UNDS",
+ "label": "_",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¶ │ „ │ “ │ ” │ ≤ │ ≥ │ │ ¬ │ ¼ │ ½ │ ¾ │ ′ │ ″ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ¦ │ ˝ │ § │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ ˙ │ ¤ │ ̛ │ ſ │ │ │ ™ │ │ º │ , │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ ‘ │ ’ │ · │ ⌨ │ ̉ │ ̣ │ │ ‡ │ ª │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(BP_DLR))": {
+ "key": "BP_PARA",
+ "label": "¶",
+ }
+ "S(ALGR(BP_DQUO))": {
+ "key": "BP_DLQU",
+ "label": "„",
+ }
+ "S(ALGR(BP_LDAQ))": {
+ "key": "BP_LDQU",
+ "label": "“",
+ }
+ "S(ALGR(BP_RDAQ))": {
+ "key": "BP_RDQU",
+ "label": "”",
+ }
+ "S(ALGR(BP_LPRN))": {
+ "key": "BP_LEQL",
+ "label": "≤",
+ }
+ "S(ALGR(BP_RPRN))": {
+ "key": "BP_GEQL",
+ "label": "≥",
+ }
+ "S(ALGR(BP_PLUS))": {
+ "key": "BP_NOT",
+ "label": "¬",
+ }
+ "S(ALGR(BP_MINS))": {
+ "key": "BP_QRTR",
+ "label": "¼",
+ }
+ "S(ALGR(BP_SLSH))": {
+ "key": "BP_HALF",
+ "label": "½",
+ }
+ "S(ALGR(BP_ASTR))": {
+ "key": "BP_TQTR",
+ "label": "¾",
+ }
+ "S(ALGR(BP_EQL))": {
+ "key": "BP_PRIM",
+ "label": "′",
+ }
+ "S(ALGR(BP_PERC))": {
+ "key": "BP_DPRM",
+ "label": "″",
+ }
+ "S(ALGR(BP_B))": {
+ "key": "BP_BRKP",
+ "label": "¦",
+ }
+ "S(ALGR(BP_EACU))": {
+ "key": "BP_DACU",
+ "label": "˝ (dead)",
+ }
+ "S(ALGR(BP_P))": {
+ "key": "BP_SECT",
+ "label": "§",
+ }
+ "S(ALGR(BP_I))": {
+ "key": "BP_DOTA",
+ "label": "˙ (dead)",
+ }
+ "S(ALGR(BP_E))": {
+ "key": "BP_CURR",
+ "label": "¤ (dead)",
+ }
+ "S(ALGR(BP_COMM))": {
+ "key": "BP_HORN",
+ "label": "̛ (dead)",
+ }
+ "S(ALGR(BP_C))": {
+ "key": "BP_LNGS",
+ "label": "ſ",
+ }
+ "S(ALGR(BP_R))": {
+ "key": "BP_TM",
+ "label": "™",
+ }
+ "S(ALGR(BP_M))": {
+ "key": "BP_MORD",
+ "label": "º",
+ }
+ "S(ALGR(BP_CCED))": {
+ "key": "BP_DCMM",
+ "label": ", (dead)",
+ }
+ "S(ALGR(BP_Y))": {
+ "key": "BP_LSQU",
+ "label": "‘",
+ }
+ "S(ALGR(BP_X))": {
+ "key": "BP_RSQU",
+ "label": "’",
+ }
+ "S(ALGR(BP_DOT))": {
+ "key": "BP_MDDT",
+ "label": "·",
+ }
+ "S(ALGR(BP_K))": {
+ "key": "BP_KEYB",
+ "label": "⌨",
+ }
+ "S(ALGR(BP_QUOT))": {
+ "key": "BP_HOKA",
+ "label": "̉ (dead)",
+ }
+ "S(ALGR(BP_Q))": {
+ "key": "BP_DOTB",
+ "label": "̣ (dead)",
+ }
+ "S(ALGR(BP_H))": {
+ "key": "BP_DDAG",
+ "label": "‡",
+ }
+ "S(ALGR(BP_F))": {
+ "key": "BP_FORD",
+ "label": "ª",
+ }
+ "S(ALGR(KC_SPC))": {
+ "key": "BP_NNBS",
+ "label": "(narrow non-breaking space)",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ´ │ [ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ ] │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
+ * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ; │ / │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "BR_QUOT",
+ "label": "'",
+ }
+ "KC_1": {
+ "key": "BR_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "BR_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "BR_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "BR_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "BR_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "BR_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "BR_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "BR_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "BR_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "BR_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "BR_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "BR_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "BR_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "BR_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "BR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "BR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "BR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "BR_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "BR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "BR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "BR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "BR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "BR_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_RBRC": {
+ "key": "BR_LBRC",
+ "label": "[",
+ }
+ "KC_A": {
+ "key": "BR_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "BR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "BR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "BR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "BR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "BR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "BR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "BR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "BR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "BR_CCED",
+ "label": "Ç",
+ }
+ "KC_QUOT": {
+ "key": "BR_TILD",
+ "label": "~ (dead)",
+ }
+ "KC_BSLS": {
+ "key": "BR_RBRC",
+ "label": "]",
+ }
+ "KC_NUBS": {
+ "key": "BR_BSLS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "BR_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "BR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "BR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "BR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "BR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "BR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "BR_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "BR_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "BR_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "BR_SCLN",
+ "label": ";",
+ }
+ "KC_INT1": {
+ "key": "BR_SLSH",
+ "label": "/",
+ }
+ "KC_PCMM": {
+ "key": "BR_PDOT",
+ "label": ".",
+ }
+ "KC_PDOT": {
+ "key": "BR_PCMM",
+ "label": ",",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ " │ ! │ @ │ # │ $ │ % │ ¨ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ } │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
+ * │ │ | │ │ │ │ │ │ │ │ < │ > │ : │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(BR_QUOT)": {
+ "key": "BR_DQUO",
+ "label": "\"",
+ }
+ "S(BR_1)": {
+ "key": "BR_EXLM",
+ "label": "!",
+ }
+ "S(BR_2)": {
+ "key": "BR_AT",
+ "label": "@",
+ }
+ "S(BR_3)": {
+ "key": "BR_HASH",
+ "label": "#",
+ }
+ "S(BR_4)": {
+ "key": "BR_DLR",
+ "label": "$",
+ }
+ "S(BR_5)": {
+ "key": "BR_PERC",
+ "label": "%",
+ }
+ "S(BR_6)": {
+ "key": "BR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(BR_7)": {
+ "key": "BR_AMPR",
+ "label": "&",
+ }
+ "S(BR_8)": {
+ "key": "BR_ASTR",
+ "label": "*",
+ }
+ "S(BR_9)": {
+ "key": "BR_LPRN",
+ "label": "(",
+ }
+ "S(BR_0)": {
+ "key": "BR_RPRN",
+ "label": ")",
+ }
+ "S(BR_MINS)": {
+ "key": "BR_UNDS",
+ "label": "_",
+ }
+ "S(BR_EQL)": {
+ "key": "BR_PLUS",
+ "label": "+",
+ }
+ "S(BR_ACUT)": {
+ "key": "BR_GRV",
+ "label": "` (dead)",
+ }
+ "S(BR_LBRC)": {
+ "key": "BR_LCBR",
+ "label": "{",
+ }
+ "S(BR_TILD)": {
+ "key": "BR_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(BR_RBRC)": {
+ "key": "BR_RCBR",
+ "label": "}",
+ }
+ "S(BR_BSLS)": {
+ "key": "BR_PIPE",
+ "label": "|",
+ }
+ "S(BR_COMM)": {
+ "key": "BR_LABK",
+ "label": "<",
+ }
+ "S(BR_DOT)": {
+ "key": "BR_RABK",
+ "label": ">",
+ }
+ "S(BR_SCLN)": {
+ "key": "BR_COLN",
+ "label": ":",
+ }
+ "S(BR_SLSH)": {
+ "key": "BR_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ¹ │ ² │ ³ │ £ │ ¢ │ ¬ │ │ │ │ │ │ § │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ ° │ │ │ │ │ │ │ │ │ ª │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ º │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
+ * │ │ │ │ │ ₢ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(BR_1)": {
+ "key": "BR_SUP1",
+ "label": "¹",
+ }
+ "ALGR(BR_2)": {
+ "key": "BR_SUP2",
+ "label": "²",
+ }
+ "ALGR(BR_3)": {
+ "key": "BR_SUP3",
+ "label": "³",
+ }
+ "ALGR(BR_4)": {
+ "key": "BR_PND",
+ "label": "£",
+ }
+ "ALGR(BR_5)": {
+ "key": "BR_CENT",
+ "label": "¢",
+ }
+ "ALGR(BR_6)": {
+ "key": "BR_NOT",
+ "label": "¬",
+ }
+ "ALGR(BR_EQL)": {
+ "key": "BR_SECT",
+ "label": "§",
+ }
+ "ALGR(BR_E)": {
+ "key": "BR_DEG",
+ "label": "°",
+ }
+ "ALGR(BR_LBRC)": {
+ "key": "BR_FORD",
+ "label": "ª",
+ }
+ "ALGR(BR_RBRC)": {
+ "key": "BR_MORD",
+ "label": "º",
+ }
+ "ALGR(BR_C)": {
+ "key": "BR_CRUZ",
+ "label": "₢",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ / │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ Ç │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ È │ À │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ Ù │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "CA_SLSH",
+ "label": "/",
+ }
+ "KC_1": {
+ "key": "CA_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "CA_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "CA_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "CA_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "CA_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "CA_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "CA_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "CA_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "CA_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "CA_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "CA_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "CA_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "CA_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "CA_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "CA_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "CA_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "CA_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "CA_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "CA_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "CA_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "CA_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "CA_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "CA_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_RBRC": {
+ "key": "CA_CCED",
+ "label": "Ç",
+ }
+ "KC_A": {
+ "key": "CA_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "CA_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "CA_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "CA_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "CA_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "CA_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "CA_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "CA_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "CA_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "CA_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "CA_EGRV",
+ "label": "É",
+ }
+ "KC_NUHS": {
+ "key": "CA_AGRV",
+ "label": "À",
+ }
+ "KC_NUBS": {
+ "key": "CA_UGRV",
+ "label": "Ù",
+ }
+ "KC_Z": {
+ "key": "CA_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "CA_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "CA_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "CA_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "CA_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "CA_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "CA_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "CA_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "CA_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "CA_EACU",
+ "label": "É",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ \ │ ! │ @ │ # │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ : │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ ' │ " │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(CA_SLSH)": {
+ "key": "CA_BSLS",
+ "label": "\\",
+ }
+ "S(CA_1)": {
+ "key": "CA_EXLM",
+ "label": "!",
+ }
+ "S(CA_2)": {
+ "key": "CA_AT",
+ "label": "@",
+ }
+ "S(CA_3)": {
+ "key": "CA_HASH",
+ "label": "#",
+ }
+ "S(CA_4)": {
+ "key": "CA_DLR",
+ "label": "$",
+ }
+ "S(CA_5)": {
+ "key": "CA_PERC",
+ "label": "%",
+ }
+ "S(CA_6)": {
+ "key": "CA_QUES",
+ "label": "?",
+ }
+ "S(CA_7)": {
+ "key": "CA_AMPR",
+ "label": "&",
+ }
+ "S(CA_8)": {
+ "key": "CA_ASTR",
+ "label": "*",
+ }
+ "S(CA_9)": {
+ "key": "CA_LPRN",
+ "label": "(",
+ }
+ "S(CA_0)": {
+ "key": "CA_RPRN",
+ "label": ")",
+ }
+ "S(CA_MINS)": {
+ "key": "CA_UNDS",
+ "label": "_",
+ }
+ "S(CA_EQL)": {
+ "key": "CA_PLUS",
+ "label": "+",
+ }
+ "S(CA_CIRC)": {
+ "key": "CA_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(CA_SCLN)": {
+ "key": "CA_COLN",
+ "label": ":",
+ }
+ "S(CA_COMM)": {
+ "key": "CA_QUOT",
+ "label": "'",
+ }
+ "S(CA_DOT)": {
+ "key": "CA_DQUO",
+ "label": "\"",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ | │ │ │ │ ¤ │ │ │ { │ } │ [ │ ] │ │ ¬ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ ` │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ ° │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ « │ » │ │ │ │ │ │ < │ > │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(CA_SLSH)": {
+ "key": "CA_PIPE",
+ "label": "|",
+ }
+ "ALGR(CA_4)": {
+ "key": "CA_CURR",
+ "label": "¤",
+ }
+ "ALGR(CA_7)": {
+ "key": "CA_LCBR",
+ "label": "{",
+ }
+ "ALGR(CA_8)": {
+ "key": "CA_RCBR",
+ "label": "}",
+ }
+ "ALGR(CA_9)": {
+ "key": "CA_LBRC",
+ "label": "[",
+ }
+ "ALGR(CA_0)": {
+ "key": "CA_RBRC",
+ "label": "]",
+ }
+ "ALGR(CA_EQL)": {
+ "key": "CA_NOT",
+ "label": "¬",
+ }
+ "ALGR(CA_E)": {
+ "key": "CA_EURO",
+ "label": "€",
+ }
+ "ALGR(CA_CIRC)": {
+ "key": "CA_GRV",
+ "label": "` (dead)",
+ }
+ "ALGR(CA_CCED)": {
+ "key": "CA_DTIL",
+ "label": "~ (dead)",
+ }
+ "ALGR(CA_SCLN)": {
+ "key": "CA_DEG",
+ "label": "°",
+ }
+ "ALGR(CA_Z)": {
+ "key": "CA_LDAQ",
+ "label": "«",
+ }
+ "ALGR(CA_X)": {
+ "key": "CA_RDAQ",
+ "label": "»",
+ }
+ "ALGR(CA_COMM)": {
+ "key": "CA_LABK",
+ "label": "<",
+ }
+ "ALGR(CA_DOT)": {
+ "key": "CA_RABK",
+ "label": ">",
+ }
+/* Right Ctrl symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ¹ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │ │ │ │ │ ¸ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Ω │ Ł │ Œ │ ¶ │ Ŧ │ ← │ ↓ │ → │ Ø │ Þ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Æ │ ß │ Ð │ │ Ŋ │ Ħ │ IJ │ ĸ │ Ŀ │ ´ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ ¢ │ “ │ ” │ ʼn │ μ │ ― │ ˙ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "RCTL(CA_1)": {
+ "key": "CA_SUP1",
+ "label": "¹",
+ }
+ "RCTL(CA_2)": {
+ "key": "CA_SUP2",
+ "label": "²",
+ }
+ "RCTL(CA_3)": {
+ "key": "CA_SUP3",
+ "label": "³",
+ }
+ "RCTL(CA_4)": {
+ "key": "CA_QRTR",
+ "label": "¼",
+ }
+ "RCTL(CA_5)": {
+ "key": "CA_HALF",
+ "label": "½",
+ }
+ "RCTL(CA_6)": {
+ "key": "CA_TQTR",
+ "label": "¾",
+ }
+ "RCTL(CA_EQL)": {
+ "key": "CA_CEDL",
+ "label": "¸ (dead)",
+ }
+ "RCTL(CA_Q)": {
+ "key": "CA_OMEG",
+ "label": "Ω",
+ }
+ "RCTL(CA_W)": {
+ "key": "CA_LSTR",
+ "label": "Ł",
+ }
+ "RCTL(CA_E)": {
+ "key": "CA_OE",
+ "label": "Œ",
+ }
+ "RCTL(CA_R)": {
+ "key": "CA_PARA",
+ "label": "¶",
+ }
+ "RCTL(CA_T)": {
+ "key": "CA_TSTR",
+ "label": "Ŧ",
+ }
+ "RCTL(CA_Y)": {
+ "key": "CA_LARR",
+ "label": "←",
+ }
+ "RCTL(CA_U)": {
+ "key": "CA_DARR",
+ "label": "↓",
+ }
+ "RCTL(CA_I)": {
+ "key": "CA_RARR",
+ "label": "→",
+ }
+ "RCTL(CA_O)": {
+ "key": "CA_OSTR",
+ "label": "Ø",
+ }
+ "RCTL(CA_P)": {
+ "key": "CA_THRN",
+ "label": "Þ",
+ }
+ "RCTL(CA_CCED)": {
+ "key": "CA_TILD",
+ "label": "~",
+ }
+ "RCTL(CA_A)": {
+ "key": "CA_AE",
+ "label": "Æ",
+ }
+ "RCTL(CA_S)": {
+ "key": "CA_SS",
+ "label": "ß",
+ }
+ "RCTL(CA_D)": {
+ "key": "CA_ETH",
+ "label": "Ð",
+ }
+ "RCTL(CA_G)": {
+ "key": "CA_ENG",
+ "label": "Ŋ",
+ }
+ "RCTL(CA_H)": {
+ "key": "CA_HSTR",
+ "label": "Ħ",
+ }
+ "RCTL(CA_J)": {
+ "key": "CA_IJ",
+ "label": "IJ",
+ }
+ "RCTL(CA_K)": {
+ "key": "CA_KRA",
+ "label": "ĸ",
+ }
+ "RCTL(CA_L)": {
+ "key": "CA_LMDT",
+ "label": "Ŀ",
+ }
+ "RCTL(CA_SCLN)": {
+ "key": "CA_ACUT",
+ "label": "´ (dead)",
+ }
+ "RCTL(CA_C)": {
+ "key": "CA_CENT",
+ "label": "¢",
+ }
+ "RCTL(CA_V)": {
+ "key": "CA_LDQU",
+ "label": "“",
+ }
+ "RCTL(CA_B)": {
+ "key": "CA_RDQU",
+ "label": "”",
+ }
+ "RCTL(CA_N)": {
+ "key": "CA_APSN",
+ "label": "ʼn",
+ }
+ "RCTL(CA_M)": {
+ "key": "CA_MICR",
+ "label": "μ",
+ }
+ "RCTL(CA_COMM)": {
+ "key": "CA_HRZB",
+ "label": "―",
+ }
+ "RCTL(CA_DOT)": {
+ "key": "CA_DOTA",
+ "label": "˙ (dead)",
+ }
+/* Shift+Right Ctrl symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ - │ ¡ │ │ £ │ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ │ ¿ │ ˛ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ ® │ │ ¥ │ ↑ │ ı │ │ │ ° │ ¯ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ § │ │ ª │ │ │ │ │ │ ˝ │ ˇ │ ˘ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ ¦ │ │ │ © │ ‘ │ ’ │ ♪ │ º │ × │ ÷ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "RCTL(S(CA_SLSH))": {
+ "key": "CA_SHYP",
+ "label": "­ (soft hyphen)",
+ }
+ "RCTL(S(CA_1))": {
+ "key": "CA_IEXL",
+ "label": "¡",
+ }
+ "RCTL(S(CA_3))": {
+ "key": "CA_PND",
+ "label": "£",
+ }
+ "RCTL(S(CA_5))": {
+ "key": "CA_TEIG",
+ "label": "⅜",
+ }
+ "RCTL(S(CA_6))": {
+ "key": "CA_FEIG",
+ "label": "⅝",
+ }
+ "RCTL(S(CA_7))": {
+ "key": "CA_SEIG",
+ "label": "⅞",
+ }
+ "RCTL(S(CA_8))": {
+ "key": "CA_TM",
+ "label": "™",
+ }
+ "RCTL(S(CA_9))": {
+ "key": "CA_PLMN",
+ "label": "±",
+ }
+ "RCTL(S(CA_MINS))": {
+ "key": "CA_IQUE",
+ "label": "¿",
+ }
+ "RCTL(S(CA_EQL))": {
+ "key": "CA_OGON",
+ "label": "˛ (dead)",
+ }
+ "RCTL(S(CA_R))": {
+ "key": "CA_REGD",
+ "label": "®",
+ }
+ "RCTL(S(CA_Y))": {
+ "key": "CA_YEN",
+ "label": "¥",
+ }
+ "RCTL(S(CA_U))": {
+ "key": "CA_UARR",
+ "label": "↑",
+ }
+ "RCTL(S(CA_I))": {
+ "key": "CA_DLSI",
+ "label": "ı",
+ }
+ "RCTL(S(CA_CIRC))": {
+ "key": "CA_RNGA",
+ "label": "° (dead)",
+ }
+ "RCTL(S(CA_CCED))": {
+ "key": "CA_MACR",
+ "label": "¯ (dead)",
+ }
+ "RCTL(S(CA_S))": {
+ "key": "CA_SECT",
+ "label": "§",
+ }
+ "RCTL(S(CA_F))": {
+ "key": "CA_FORD",
+ "label": "ª",
+ }
+ "RCTL(S(CA_SCLN))": {
+ "key": "CA_DACU",
+ "label": "˝ (dead)",
+ }
+ "RCTL(S(CA_EGRV))": {
+ "key": "CA_CARN",
+ "label": "ˇ (dead)",
+ }
+ "RCTL(S(CA_AGRV))": {
+ "key": "CA_BREV",
+ "label": "˘ (dead)",
+ }
+ "RCTL(S(CA_UGRV))": {
+ "key": "CA_BRKP",
+ "label": "¦",
+ }
+ "RCTL(S(CA_C))": {
+ "key": "CA_COPY",
+ "label": "©",
+ }
+ "RCTL(S(CA_V))": {
+ "key": "CA_LSQU",
+ "label": "‘",
+ }
+ "RCTL(S(CA_B))": {
+ "key": "CA_RSQU",
+ "label": "’",
+ }
+ "RCTL(S(CA_N))": {
+ "key": "CA_ENOT",
+ "label": "♪",
+ }
+ "RCTL(S(CA_M))": {
+ "key": "CA_MORD",
+ "label": "º",
+ }
+ "RCTL(S(CA_COMM))": {
+ "key": "CA_MUL",
+ "label": "×",
+ }
+ "RCTL(S(CA_DOT))": {
+ "key": "CA_DIV",
+ "label": "÷",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "CM_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "CM_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "CM_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "CM_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "CM_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "CM_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "CM_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "CM_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "CM_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "CM_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "CM_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "CM_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "CM_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "CM_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "CM_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "CM_F",
+ "label": "F",
+ }
+ "KC_R": {
+ "key": "CM_P",
+ "label": "P",
+ }
+ "KC_T": {
+ "key": "CM_G",
+ "label": "G",
+ }
+ "KC_Y": {
+ "key": "CM_J",
+ "label": "J",
+ }
+ "KC_U": {
+ "key": "CM_L",
+ "label": "L",
+ }
+ "KC_I": {
+ "key": "CM_U",
+ "label": "U",
+ }
+ "KC_O": {
+ "key": "CM_Y",
+ "label": "Y",
+ }
+ "KC_P": {
+ "key": "CM_SCLN",
+ "label": ";",
+ }
+ "KC_LBRC": {
+ "key": "CM_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "CM_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "CM_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "CM_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "CM_R",
+ "label": "R",
+ }
+ "KC_D": {
+ "key": "CM_S",
+ "label": "S",
+ }
+ "KC_F": {
+ "key": "CM_T",
+ "label": "T",
+ }
+ "KC_G": {
+ "key": "CM_D",
+ "label": "D",
+ }
+ "KC_H": {
+ "key": "CM_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "CM_N",
+ "label": "N",
+ }
+ "KC_K": {
+ "key": "CM_E",
+ "label": "E",
+ }
+ "KC_L": {
+ "key": "CM_I",
+ "label": "I",
+ }
+ "KC_SCLN": {
+ "key": "CM_O",
+ "label": "O",
+ }
+ "KC_QUOT": {
+ "key": "CM_QUOT",
+ "label": "'",
+ }
+ "KC_Z": {
+ "key": "CM_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "CM_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "CM_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "CM_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "CM_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "CM_K",
+ "label": "K",
+ }
+ "KC_M": {
+ "key": "CM_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "CM_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "CM_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "CM_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(CM_GRV)": {
+ "key": "CM_TILD",
+ "label": "~",
+ }
+ "S(CM_1)": {
+ "key": "CM_EXLM",
+ "label": "!",
+ }
+ "S(CM_2)": {
+ "key": "CM_AT",
+ "label": "@",
+ }
+ "S(CM_3)": {
+ "key": "CM_HASH",
+ "label": "#",
+ }
+ "S(CM_4)": {
+ "key": "CM_DLR",
+ "label": "$",
+ }
+ "S(CM_5)": {
+ "key": "CM_PERC",
+ "label": "%",
+ }
+ "S(CM_6)": {
+ "key": "CM_CIRC",
+ "label": "^",
+ }
+ "S(CM_7)": {
+ "key": "CM_AMPR",
+ "label": "&",
+ }
+ "S(CM_8)": {
+ "key": "CM_ASTR",
+ "label": "*",
+ }
+ "S(CM_9)": {
+ "key": "CM_LPRN",
+ "label": "(",
+ }
+ "S(CM_0)": {
+ "key": "CM_RPRN",
+ "label": ")",
+ }
+ "S(CM_MINS)": {
+ "key": "CM_UNDS",
+ "label": "_",
+ }
+ "S(CM_EQL)": {
+ "key": "CM_PLUS",
+ "label": "+",
+ }
+ "S(CM_SCLN)": {
+ "key": "CM_COLN",
+ "label": ":",
+ }
+ "S(CM_LBRC)": {
+ "key": "CM_LCBR",
+ "label": "{",
+ }
+ "S(CM_RBRC)": {
+ "key": "CM_RCBR",
+ "label": "}",
+ }
+ "S(CM_BSLS)": {
+ "key": "CM_PIPE",
+ "label": "|",
+ }
+ "S(CM_QUOT)": {
+ "key": "CM_DQUO",
+ "label": "\"",
+ }
+ "S(CM_COMM)": {
+ "key": "CM_LABK",
+ "label": "<",
+ }
+ "S(CM_DOT)": {
+ "key": "CM_RABK",
+ "label": ">",
+ }
+ "S(CM_SLSH)": {
+ "key": "CM_QUES",
+ "label": "?",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "HR_CEDL",
+ "label": "¸ (dead)",
+ }
+ "KC_1": {
+ "key": "HR_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "HR_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "HR_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "HR_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "HR_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "HR_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "HR_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "HR_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "HR_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "HR_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "HR_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "HR_PLUS",
+ "label": "+",
+ }
+ "KC_Q": {
+ "key": "HR_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "HR_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "HR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "HR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "HR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "HR_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "HR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "HR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "HR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "HR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "HR_SCAR",
+ "label": "Š",
+ }
+ "KC_RBRC": {
+ "key": "HR_DSTR",
+ "label": "Đ",
+ }
+ "KC_A": {
+ "key": "HR_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "HR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "HR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "HR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "HR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "HR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "HR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "HR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "HR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "HR_CCAR",
+ "label": "Č",
+ }
+ "KC_QUOT": {
+ "key": "HR_CACU",
+ "label": "Ć",
+ }
+ "KC_NUHS": {
+ "key": "HR_ZCAR",
+ "label": "Ž",
+ }
+ "KC_NUBS": {
+ "key": "HR_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "HR_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "HR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "HR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "HR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "HR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "HR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "HR_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "HR_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "HR_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "HR_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(HR_CEDL)": {
+ "key": "HR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(HR_1)": {
+ "key": "HR_EXLM",
+ "label": "!",
+ }
+ "S(HR_2)": {
+ "key": "HR_DQUO",
+ "label": "\"",
+ }
+ "S(HR_3)": {
+ "key": "HR_HASH",
+ "label": "#",
+ }
+ "S(HR_4)": {
+ "key": "HR_DLR",
+ "label": "$",
+ }
+ "S(HR_5)": {
+ "key": "HR_PERC",
+ "label": "%",
+ }
+ "S(HR_6)": {
+ "key": "HR_AMPR",
+ "label": "&",
+ }
+ "S(HR_7)": {
+ "key": "HR_SLSH",
+ "label": "/",
+ }
+ "S(HR_8)": {
+ "key": "HR_LPRN",
+ "label": "(",
+ }
+ "S(HR_9)": {
+ "key": "HR_RPRN",
+ "label": ")",
+ }
+ "S(HR_0)": {
+ "key": "HR_EQL",
+ "label": "=",
+ }
+ "S(HR_QUOT)": {
+ "key": "HR_QUES",
+ "label": "?",
+ }
+ "S(HR_PLUS)": {
+ "key": "HR_ASTR",
+ "label": "*",
+ }
+ "S(HR_LABK)": {
+ "key": "HR_RABK",
+ "label": ">",
+ }
+ "S(HR_COMM)": {
+ "key": "HR_SCLN",
+ "label": ";",
+ }
+ "S(HR_DOT)": {
+ "key": "HR_COLN",
+ "label": ":",
+ }
+ "S(HR_MINS)": {
+ "key": "HR_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(HR_1)": {
+ "key": "HR_TILD",
+ "label": "~",
+ }
+ "ALGR(HR_2)": {
+ "key": "HR_CARN",
+ "label": "ˇ (dead)",
+ }
+ "ALGR(HR_3)": {
+ "key": "HR_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(HR_4)": {
+ "key": "HR_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(HR_5)": {
+ "key": "HR_RNGA",
+ "label": "° (dead)",
+ }
+ "ALGR(HR_6)": {
+ "key": "HR_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(HR_7)": {
+ "key": "HR_GRV",
+ "label": "`",
+ }
+ "ALGR(HR_8)": {
+ "key": "HR_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(HR_9)": {
+ "key": "HR_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(HR_0)": {
+ "key": "HR_DACU",
+ "label": "˝ (dead)",
+ }
+ "ALGR(HR_Q)": {
+ "key": "HR_BSLS",
+ "label": "\\",
+ }
+ "ALGR(HR_W)": {
+ "key": "HR_PIPE",
+ "label": "|",
+ }
+ "ALGR(HR_E)": {
+ "key": "HR_EURO",
+ "label": "€",
+ }
+ "ALGR(HR_SCAR)": {
+ "key": "HR_DIV",
+ "label": "÷",
+ }
+ "ALGR(HR_DSTR)": {
+ "key": "HR_MUL",
+ "label": "×",
+ }
+ "ALGR(HR_F)": {
+ "key": "HR_LBRC",
+ "label": "[",
+ }
+ "ALGR(HR_G)": {
+ "key": "HR_RBRC",
+ "label": "]",
+ }
+ "ALGR(HR_K)": {
+ "key": "HR_LLST",
+ "label": "ł",
+ }
+ "ALGR(HR_L)": {
+ "key": "HR_CLST",
+ "label": "Ł",
+ }
+ "ALGR(HR_CACU)": {
+ "key": "HR_SS",
+ "label": "ß",
+ }
+ "ALGR(HR_ZCAR)": {
+ "key": "HR_CURR",
+ "label": "¤",
+ }
+ "ALGR(HR_V)": {
+ "key": "HR_AT",
+ "label": "@",
+ }
+ "ALGR(HR_B)": {
+ "key": "HR_LCBR",
+ "label": "{",
+ }
+ "ALGR(HR_N)": {
+ "key": "HR_RCBR",
+ "label": "}",
+ }
+ "ALGR(HR_M)": {
+ "key": "HR_SECT",
+ "label": "§",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ; │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "CZ_SCLN",
+ "label": ";",
+ }
+ "KC_1": {
+ "key": "CZ_PLUS",
+ "label": "+",
+ }
+ "KC_2": {
+ "key": "CZ_ECAR",
+ "label": "ě",
+ }
+ "KC_3": {
+ "key": "CZ_SCAR",
+ "label": "š",
+ }
+ "KC_4": {
+ "key": "CZ_CCAR",
+ "label": "č",
+ }
+ "KC_5": {
+ "key": "CZ_RCAR",
+ "label": "ř",
+ }
+ "KC_6": {
+ "key": "CZ_ZCAR",
+ "label": "ž",
+ }
+ "KC_7": {
+ "key": "CZ_YACU",
+ "label": "ý",
+ }
+ "KC_8": {
+ "key": "CZ_AACU",
+ "label": "á",
+ }
+ "KC_9": {
+ "key": "CZ_IACU",
+ "label": "í",
+ }
+ "KC_0": {
+ "key": "CZ_EACU",
+ "label": "é",
+ }
+ "KC_MINS": {
+ "key": "CZ_EQL",
+ "label": "=",
+ }
+ "KC_EQL": {
+ "key": "CZ_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "CZ_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "CZ_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "CZ_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "CZ_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "CZ_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "CZ_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "CZ_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "CZ_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "CZ_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "CZ_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "CZ_UACU",
+ "label": "ú",
+ }
+ "KC_RBRC": {
+ "key": "CZ_RPRN",
+ "label": ")",
+ }
+ "KC_A": {
+ "key": "CZ_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "CZ_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "CZ_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "CZ_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "CZ_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "CZ_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "CZ_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "CZ_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "CZ_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "CZ_URNG",
+ "label": "ů",
+ }
+ "KC_QUOT": {
+ "key": "CZ_SECT",
+ "label": "§",
+ }
+ "KC_NUHS": {
+ "key": "CZ_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_NUBS": {
+ "key": "CZ_BSLS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "CZ_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "CZ_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "CZ_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "CZ_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "CZ_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "CZ_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "CZ_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "CZ_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "CZ_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "CZ_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(CZ_SCLN)": {
+ "key": "CZ_RNGA",
+ "label": "° (dead)",
+ }
+ "S(CZ_PLUS)": {
+ "key": "CZ_1",
+ "label": "1",
+ }
+ "S(CZ_ECAR)": {
+ "key": "CZ_2",
+ "label": "2",
+ }
+ "S(CZ_SCAR)": {
+ "key": "CZ_3",
+ "label": "3",
+ }
+ "S(CZ_CCAR)": {
+ "key": "CZ_4",
+ "label": "4",
+ }
+ "S(CZ_RCAR)": {
+ "key": "CZ_5",
+ "label": "5",
+ }
+ "S(CZ_ZCAR)": {
+ "key": "CZ_6",
+ "label": "6",
+ }
+ "S(CZ_YACU)": {
+ "key": "CZ_7",
+ "label": "7",
+ }
+ "S(CZ_AACU)": {
+ "key": "CZ_8",
+ "label": "8",
+ }
+ "S(CZ_IACU)": {
+ "key": "CZ_9",
+ "label": "9",
+ }
+ "S(CZ_EACU)": {
+ "key": "CZ_0",
+ "label": "0",
+ }
+ "S(CZ_EQL)": {
+ "key": "CZ_PERC",
+ "label": "%",
+ }
+ "S(CZ_ACUT)": {
+ "key": "CZ_CARN",
+ "label": "ˇ (dead)",
+ }
+ "S(CZ_UACU)": {
+ "key": "CZ_SLSH",
+ "label": "/",
+ }
+ "S(CZ_RPRN)": {
+ "key": "CZ_LPRN",
+ "label": "(",
+ }
+ "S(CZ_URNG)": {
+ "key": "CZ_DQUO",
+ "label": "\"",
+ }
+ "S(CZ_SECT)": {
+ "key": "CZ_EXLM",
+ "label": "!",
+ }
+ "S(CZ_DIAE)": {
+ "key": "CZ_QUOT",
+ "label": "'",
+ }
+ "S(CZ_BSLS)": {
+ "key": "CZ_PIPE",
+ "label": "|",
+ }
+ "S(CZ_COMM)": {
+ "key": "CZ_QUES",
+ "label": "?",
+ }
+ "S(CZ_DOT)": {
+ "key": "CZ_COLN",
+ "label": ":",
+ }
+ "S(CZ_MINS)": {
+ "key": "CZ_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ~ │ │ ^ │ ˘ │ │ ˛ │ ` │ ˙ │ │ ˝ │ │ ¸ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ # │ & │ @ │ { │ } │ │ < │ > │ * │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(CZ_PLUS)": {
+ "key": "CZ_TILD",
+ "label": "~",
+ }
+ "ALGR(CZ_SCAR)": {
+ "key": "CZ_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(CZ_CCAR)": {
+ "key": "CZ_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(CZ_ZCAR)": {
+ "key": "CZ_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(CZ_YACU)": {
+ "key": "CZ_GRV",
+ "label": "` (dead)",
+ }
+ "ALGR(CZ_AACU)": {
+ "key": "CZ_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(CZ_EACU)": {
+ "key": "CZ_DACU",
+ "label": "˝ (dead)",
+ }
+ "ALGR(CZ_ACUT)": {
+ "key": "CZ_CEDL",
+ "label": "¸ (dead)",
+ }
+ "ALGR(CZ_E)": {
+ "key": "CZ_EURO",
+ "label": "€",
+ }
+ "ALGR(CZ_UACU)": {
+ "key": "CZ_DIV",
+ "label": "÷",
+ }
+ "ALGR(CZ_RPRN)": {
+ "key": "CZ_MUL",
+ "label": "×",
+ }
+ "ALGR(CZ_S)": {
+ "key": "CZ_LDST",
+ "label": "đ",
+ }
+ "ALGR(CZ_D)": {
+ "key": "CZ_CDST",
+ "label": "Đ",
+ }
+ "ALGR(CZ_F)": {
+ "key": "CZ_LBRC",
+ "label": "[",
+ }
+ "ALGR(CZ_G)": {
+ "key": "CZ_RBRC",
+ "label": "]",
+ }
+ "ALGR(CZ_K)": {
+ "key": "CZ_LLST",
+ "label": "ł",
+ }
+ "ALGR(CZ_L)": {
+ "key": "CZ_CLST",
+ "label": "Ł",
+ }
+ "ALGR(CZ_URNG)": {
+ "key": "CZ_DLR",
+ "label": "$",
+ }
+ "ALGR(CZ_SECT)": {
+ "key": "CZ_SS",
+ "label": "ß",
+ }
+ "ALGR(CZ_DIAE)": {
+ "key": "CZ_CURR",
+ "label": "¤",
+ }
+ "ALGR(CZ_X)": {
+ "key": "CZ_HASH",
+ "label": "#",
+ }
+ "ALGR(CZ_C)": {
+ "key": "CZ_AMPR",
+ "label": "&",
+ }
+ "ALGR(CZ_V)": {
+ "key": "CZ_AT",
+ "label": "@",
+ }
+ "ALGR(CZ_B)": {
+ "key": "CZ_LCBR",
+ "label": "{",
+ }
+ "ALGR(CZ_N)": {
+ "key": "CZ_RCBR",
+ "label": "}",
+ }
+ "ALGR(CZ_COMM)": {
+ "key": "CZ_LABK",
+ "label": "<",
+ }
+ "ALGR(CZ_DOT)": {
+ "key": "CZ_RABK",
+ "label": ">",
+ }
+ "ALGR(CZ_MINS)": {
+ "key": "CZ_ASTR",
+ "label": "*",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ½ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ Ø │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "DK_HALF",
+ "label": "½",
+ }
+ "KC_1": {
+ "key": "DK_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "DK_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "DK_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "DK_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "DK_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "DK_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "DK_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "DK_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "DK_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "DK_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "DK_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "DK_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "DK_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "DK_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "DK_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "DK_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "DK_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "DK_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "DK_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "DK_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "DK_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "DK_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "DK_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "DK_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "DK_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "DK_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "DK_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "DK_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "DK_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "DK_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "DK_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "DK_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "DK_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "DK_AE",
+ "label": "Æ",
+ }
+ "KC_QUOT": {
+ "key": "DK_OSTR",
+ "label": "Ø",
+ }
+ "KC_NUHS": {
+ "key": "DK_QUOT",
+ "label": "'",
+ }
+ "KC_NUBS": {
+ "key": "DK_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "DK_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "DK_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "DK_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "DK_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "DK_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "DK_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "DK_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "DK_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "DK_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "DK_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(DK_HALF)": {
+ "key": "DK_SECT",
+ "label": "§",
+ }
+ "S(DK_1)": {
+ "key": "DK_EXLM",
+ "label": "!",
+ }
+ "S(DK_2)": {
+ "key": "DK_DQUO",
+ "label": "\"",
+ }
+ "S(DK_3)": {
+ "key": "DK_HASH",
+ "label": "#",
+ }
+ "S(DK_4)": {
+ "key": "DK_CURR",
+ "label": "¤",
+ }
+ "S(DK_5)": {
+ "key": "DK_PERC",
+ "label": "%",
+ }
+ "S(DK_6)": {
+ "key": "DK_AMPR",
+ "label": "&",
+ }
+ "S(DK_7)": {
+ "key": "DK_SLSH",
+ "label": "/",
+ }
+ "S(DK_8)": {
+ "key": "DK_LPRN",
+ "label": "(",
+ }
+ "S(DK_9)": {
+ "key": "DK_RPRN",
+ "label": ")",
+ }
+ "S(DK_0)": {
+ "key": "DK_EQL",
+ "label": "=",
+ }
+ "S(DK_PLUS)": {
+ "key": "DK_QUES",
+ "label": "?",
+ }
+ "S(DK_ACUT)": {
+ "key": "DK_GRV",
+ "label": "` (dead)",
+ }
+ "S(DK_DIAE)": {
+ "key": "DK_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(DK_QUOT)": {
+ "key": "DK_ASTR",
+ "label": "*",
+ }
+ "S(DK_LABK)": {
+ "key": "DK_RABK",
+ "label": ">",
+ }
+ "S(DK_COMM)": {
+ "key": "DK_SCLN",
+ "label": ";",
+ }
+ "S(DK_DOT)": {
+ "key": "DK_COLN",
+ "label": ":",
+ }
+ "S(DK_MINS)": {
+ "key": "DK_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ | │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ │ │ │ │ │ │ µ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(DK_2)": {
+ "key": "DK_AT",
+ "label": "@",
+ }
+ "ALGR(DK_3)": {
+ "key": "DK_PND",
+ "label": "£",
+ }
+ "ALGR(DK_4)": {
+ "key": "DK_DLR",
+ "label": "$",
+ }
+ "ALGR(DK_5)": {
+ "key": "DK_EURO",
+ "label": "€",
+ }
+ "ALGR(DK_7)": {
+ "key": "DK_LCBR",
+ "label": "{",
+ }
+ "ALGR(DK_8)": {
+ "key": "DK_LBRC",
+ "label": "[",
+ }
+ "ALGR(DK_9)": {
+ "key": "DK_RBRC",
+ "label": "]",
+ }
+ "ALGR(DK_0)": {
+ "key": "DK_RCBR",
+ "label": "}",
+ }
+ "ALGR(DK_ACUT)": {
+ "key": "DK_PIPE",
+ "label": "|",
+ }
+ "ALGR(DK_DIAE)": {
+ "key": "DK_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(DK_LABK)": {
+ "key": "DK_BSLS",
+ "label": "\\",
+ }
+ "ALGR(DK_M)": {
+ "key": "DK_MICR",
+ "label": "µ",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "DV_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "DV_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "DV_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "DV_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "DV_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "DV_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "DV_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "DV_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "DV_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "DV_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "DV_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "DV_LBRC",
+ "label": "[",
+ }
+ "KC_EQL": {
+ "key": "DV_RBRC",
+ "label": "]",
+ }
+ "KC_Q": {
+ "key": "DV_QUOT",
+ "label": "'",
+ }
+ "KC_W": {
+ "key": "DV_COMM",
+ "label": ",",
+ }
+ "KC_E": {
+ "key": "DV_DOT",
+ "label": ".",
+ }
+ "KC_R": {
+ "key": "DV_P",
+ "label": "P",
+ }
+ "KC_T": {
+ "key": "DV_Y",
+ "label": "Y",
+ }
+ "KC_Y": {
+ "key": "DV_F",
+ "label": "F",
+ }
+ "KC_U": {
+ "key": "DV_G",
+ "label": "G",
+ }
+ "KC_I": {
+ "key": "DV_C",
+ "label": "C",
+ }
+ "KC_O": {
+ "key": "DV_R",
+ "label": "R",
+ }
+ "KC_P": {
+ "key": "DV_L",
+ "label": "L",
+ }
+ "KC_LBRC": {
+ "key": "DV_SLSH",
+ "label": "/",
+ }
+ "KC_RBRC": {
+ "key": "DV_EQL",
+ "label": "=",
+ }
+ "KC_BSLS": {
+ "key": "DV_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "DV_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "DV_O",
+ "label": "O",
+ }
+ "KC_D": {
+ "key": "DV_E",
+ "label": "E",
+ }
+ "KC_F": {
+ "key": "DV_U",
+ "label": "U",
+ }
+ "KC_G": {
+ "key": "DV_I",
+ "label": "I",
+ }
+ "KC_H": {
+ "key": "DV_D",
+ "label": "D",
+ }
+ "KC_J": {
+ "key": "DV_H",
+ "label": "H",
+ }
+ "KC_K": {
+ "key": "DV_T",
+ "label": "T",
+ }
+ "KC_L": {
+ "key": "DV_N",
+ "label": "N",
+ }
+ "KC_SCLN": {
+ "key": "DV_S",
+ "label": "S",
+ }
+ "KC_QUOT": {
+ "key": "DV_MINS",
+ "label": "-",
+ }
+ "KC_Z": {
+ "key": "DV_SCLN",
+ "label": ";",
+ }
+ "KC_X": {
+ "key": "DV_Q",
+ "label": "Q",
+ }
+ "KC_C": {
+ "key": "DV_J",
+ "label": "J",
+ }
+ "KC_V": {
+ "key": "DV_K",
+ "label": "K",
+ }
+ "KC_B": {
+ "key": "DV_X",
+ "label": "X",
+ }
+ "KC_N": {
+ "key": "DV_B",
+ "label": "B",
+ }
+ "KC_M": {
+ "key": "DV_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "DV_W",
+ "label": "W",
+ }
+ "KC_DOT": {
+ "key": "DV_V",
+ "label": "V",
+ }
+ "KC_SLSH": {
+ "key": "DV_Z",
+ "label": "Z",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ { │ } │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ " │ < │ > │ │ │ │ │ │ │ │ ? │ + │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ : │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(DV_GRV)": {
+ "key": "DV_TILD",
+ "label": "~",
+ }
+ "S(DV_1)": {
+ "key": "DV_EXLM",
+ "label": "!",
+ }
+ "S(DV_2)": {
+ "key": "DV_AT",
+ "label": "@",
+ }
+ "S(DV_3)": {
+ "key": "DV_HASH",
+ "label": "#",
+ }
+ "S(DV_4)": {
+ "key": "DV_DLR",
+ "label": "$",
+ }
+ "S(DV_5)": {
+ "key": "DV_PERC",
+ "label": "%",
+ }
+ "S(DV_6)": {
+ "key": "DV_CIRC",
+ "label": "^",
+ }
+ "S(DV_7)": {
+ "key": "DV_AMPR",
+ "label": "&",
+ }
+ "S(DV_8)": {
+ "key": "DV_ASTR",
+ "label": "*",
+ }
+ "S(DV_9)": {
+ "key": "DV_LPRN",
+ "label": "(",
+ }
+ "S(DV_0)": {
+ "key": "DV_RPRN",
+ "label": ")",
+ }
+ "S(DV_LBRC)": {
+ "key": "DV_LCBR",
+ "label": "{",
+ }
+ "S(DV_RBRC)": {
+ "key": "DV_RCBR",
+ "label": "}",
+ }
+ "S(DV_QUOT)": {
+ "key": "DV_DQUO",
+ "label": "\"",
+ }
+ "S(DV_COMM)": {
+ "key": "DV_LABK",
+ "label": "<",
+ }
+ "S(DV_DOT)": {
+ "key": "DV_RABK",
+ "label": ">",
+ }
+ "S(DV_SLSH)": {
+ "key": "DV_QUES",
+ "label": "?",
+ }
+ "S(DV_EQL)": {
+ "key": "DV_PLUS",
+ "label": "+",
+ }
+ "S(DV_BSLS)": {
+ "key": "DV_PIPE",
+ "label": "|",
+ }
+ "S(DV_MINS)": {
+ "key": "DV_UNDS",
+ "label": "_",
+ }
+ "S(DV_SCLN)": {
+ "key": "DV_COLN",
+ "label": ":",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/* Dvorak for the French language
+ * Version: 2
+ *
+ * The layout is designed by Francis Leboutte <dvorak-fr@algo.be>
+ *
+ * Source: https://algo.be/ergo/dvorak-fr.html
+ */
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ « │ » │ / │ - │ è │ \ │ ^ │ ( │ ` │ ) │ _ │ [ │ ] │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ : │ ' │ é │ G │ . │ H │ V │ C │ M │ K │ Z │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ O │ A │ U │ E │ B │ F │ S │ T │ N │ D │ W │ ~ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ à │ ; │ Q │ , │ I │ Y │ X │ R │ L │ P │ J │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "DV_LDAQ",
+ "label": "«",
+ }
+ "KC_1": {
+ "key": "DV_RDAQ",
+ "label": "»",
+ }
+ "KC_2": {
+ "key": "DV_SLSH",
+ "label": "/",
+ }
+ "KC_3": {
+ "key": "DV_MINS",
+ "label": "-",
+ }
+ "KC_4": {
+ "key": "DV_EGRV",
+ "label": "è",
+ }
+ "KC_5": {
+ "key": "DV_BSLS",
+ "label": "\\",
+ }
+ "KC_6": {
+ "key": "DV_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_7": {
+ "key": "DV_LPRN",
+ "label": "(",
+ }
+ "KC_8": {
+ "key": "DV_GRV",
+ "label": "` (dead)",
+ }
+ "KC_9": {
+ "key": "DV_RPRN",
+ "label": ")",
+ }
+ "KC_0": {
+ "key": "DV_UNDS",
+ "label": "_",
+ }
+ "KC_MINS": {
+ "key": "DV_LBRC",
+ "label": "[",
+ }
+ "KC_EQL": {
+ "key": "DV_RBRC",
+ "label": "]",
+ }
+ "KC_Q": {
+ "key": "DV_COLN",
+ "label": ":",
+ }
+ "KC_W": {
+ "key": "DV_QUOT",
+ "label": "'",
+ }
+ "KC_E": {
+ "key": "DV_EACU",
+ "label": "é",
+ }
+ "KC_R": {
+ "key": "DV_G",
+ "label": "G",
+ }
+ "KC_T": {
+ "key": "DV_DOT",
+ "label": ".",
+ }
+ "KC_Y": {
+ "key": "DV_H",
+ "label": "H",
+ }
+ "KC_U": {
+ "key": "DV_V",
+ "label": "V",
+ }
+ "KC_I": {
+ "key": "DV_C",
+ "label": "C",
+ }
+ "KC_O": {
+ "key": "DV_M",
+ "label": "M",
+ }
+ "KC_P": {
+ "key": "DV_K",
+ "label": "K",
+ }
+ "KC_LBRC": {
+ "key": "DV_Z",
+ "label": "Z",
+ }
+ "KC_RBRC": {
+ "key": "DV_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "DV_O",
+ "label": "O",
+ }
+ "KC_S": {
+ "key": "DV_A",
+ "label": "A",
+ }
+ "KC_D": {
+ "key": "DV_U",
+ "label": "U",
+ }
+ "KC_F": {
+ "key": "DV_E",
+ "label": "E",
+ }
+ "KC_G": {
+ "key": "DV_B",
+ "label": "B",
+ }
+ "KC_H": {
+ "key": "DV_F",
+ "label": "F",
+ }
+ "KC_J": {
+ "key": "DV_S",
+ "label": "S",
+ }
+ "KC_K": {
+ "key": "DV_T",
+ "label": "T",
+ }
+ "KC_L": {
+ "key": "DV_N",
+ "label": "N",
+ }
+ "KC_SCLN": {
+ "key": "DV_D",
+ "label": "D",
+ }
+ "KC_QUOT": {
+ "key": "DV_W",
+ "label": "W",
+ }
+ "KC_NUHS": {
+ "key": "DV_TILD",
+ "label": "~ (dead)",
+ }
+ "KC_NUBS": {
+ "key": "DV_AGRV",
+ "label": "à",
+ }
+ "KC_Z": {
+ "key": "DV_SCLN",
+ "label": ";",
+ }
+ "KC_X": {
+ "key": "DV_Q",
+ "label": "Q",
+ }
+ "KC_C": {
+ "key": "DV_COMM",
+ "label": ",",
+ }
+ "KC_V": {
+ "key": "DV_I",
+ "label": "I",
+ }
+ "KC_B": {
+ "key": "DV_Y",
+ "label": "Y",
+ }
+ "KC_N": {
+ "key": "DV_X",
+ "label": "X",
+ }
+ "KC_M": {
+ "key": "DV_R",
+ "label": "R",
+ }
+ "KC_COMM": {
+ "key": "DV_L",
+ "label": "L",
+ }
+ "KC_DOT": {
+ "key": "DV_P",
+ "label": "P",
+ }
+ "KC_SLSH": {
+ "key": "DV_J",
+ "label": "J",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 0 │ 0 │ + │ % │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ? │ < │ > │ │ ! │ │ │ │ │ │ │ = │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ # │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ ç │ | │ │ @ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(DV_LDAQ)": {
+ "key": "DV_ASTR",
+ "label": "*",
+ }
+ "S(DV_RDAQ)": {
+ "key": "DV_1",
+ "label": "1",
+ }
+ "S(DV_SLSH)": {
+ "key": "DV_2",
+ "label": "2",
+ }
+ "S(DV_MINS)": {
+ "key": "DV_3",
+ "label": "3",
+ }
+ "S(DV_EGRV)": {
+ "key": "DV_4",
+ "label": "4",
+ }
+ "S(DV_BSLS)": {
+ "key": "DV_5",
+ "label": "5",
+ }
+ "S(DV_CIRC)": {
+ "key": "DV_6",
+ "label": "6",
+ }
+ "S(DV_LPRN)": {
+ "key": "DV_7",
+ "label": "7",
+ }
+ "S(DV_GRV)": {
+ "key": "DV_8",
+ "label": "8",
+ }
+ "S(DV_RPRN)": {
+ "key": "DV_9",
+ "label": "9",
+ }
+ "S(DV_UNDS)": {
+ "key": "DV_0",
+ "label": "0",
+ }
+ "S(DV_LBRC)": {
+ "key": "DV_PLUS",
+ "label": "+",
+ }
+ "S(DV_RBRC)": {
+ "key": "DV_PERC",
+ "label": "%",
+ }
+ "S(DV_COLN)": {
+ "key": "DV_QUES",
+ "label": "?",
+ }
+ "S(DV_QUOT)": {
+ "key": "DV_LABK",
+ "label": "<",
+ }
+ "S(DV_EACU)": {
+ "key": "DV_RABK",
+ "label": ">",
+ }
+ "S(DV_DOT)": {
+ "key": "DV_EXLM",
+ "label": "!",
+ }
+ "S(DV_DIAE)": {
+ "key": "DV_EQL",
+ "label": "=",
+ }
+ "S(DV_TILD)": {
+ "key": "DV_HASH",
+ "label": "#",
+ }
+ "S(DV_AGRV)": {
+ "key": "DV_CCED",
+ "label": "ç",
+ }
+ "S(DV_SCLN)": {
+ "key": "DV_PIPE",
+ "label": "|",
+ }
+ "S(DV_COMM)": {
+ "key": "DV_AT",
+ "label": "@",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ $ │ & │ [ │ { │ } │ ( │ = │ * │ ) │ + │ ] │ ! │ # │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ; │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ @ │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ ' │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "DP_DLR",
+ "label": "$",
+ }
+ "KC_1": {
+ "key": "DP_AMPR",
+ "label": "&",
+ }
+ "KC_2": {
+ "key": "DP_LBRC",
+ "label": "[",
+ }
+ "KC_3": {
+ "key": "DP_LCBR",
+ "label": "{",
+ }
+ "KC_4": {
+ "key": "DP_RCBR",
+ "label": "}",
+ }
+ "KC_5": {
+ "key": "DP_LPRN",
+ "label": "(",
+ }
+ "KC_6": {
+ "key": "DP_EQL",
+ "label": "=",
+ }
+ "KC_7": {
+ "key": "DP_ASTR",
+ "label": "*",
+ }
+ "KC_8": {
+ "key": "DP_RPRN",
+ "label": ")",
+ }
+ "KC_9": {
+ "key": "DP_PLUS",
+ "label": "+",
+ }
+ "KC_0": {
+ "key": "DP_RBRC",
+ "label": "]",
+ }
+ "KC_MINS": {
+ "key": "DP_EXLM",
+ "label": "!",
+ }
+ "KC_EQL": {
+ "key": "DP_HASH",
+ "label": "#",
+ }
+ "KC_Q": {
+ "key": "DP_SCLN",
+ "label": ";",
+ }
+ "KC_W": {
+ "key": "DP_COMM",
+ "label": ",",
+ }
+ "KC_E": {
+ "key": "DP_DOT",
+ "label": ".",
+ }
+ "KC_R": {
+ "key": "DP_P",
+ "label": "P",
+ }
+ "KC_T": {
+ "key": "DP_Y",
+ "label": "Y",
+ }
+ "KC_Y": {
+ "key": "DP_F",
+ "label": "F",
+ }
+ "KC_U": {
+ "key": "DP_G",
+ "label": "G",
+ }
+ "KC_I": {
+ "key": "DP_C",
+ "label": "C",
+ }
+ "KC_O": {
+ "key": "DP_R",
+ "label": "R",
+ }
+ "KC_P": {
+ "key": "DP_L",
+ "label": "L",
+ }
+ "KC_LBRC": {
+ "key": "DP_SLSH",
+ "label": "/",
+ }
+ "KC_RBRC": {
+ "key": "DP_AT",
+ "label": "@",
+ }
+ "KC_BSLS": {
+ "key": "DP_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "DP_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "DP_O",
+ "label": "O",
+ }
+ "KC_D": {
+ "key": "DP_E",
+ "label": "E",
+ }
+ "KC_F": {
+ "key": "DP_U",
+ "label": "U",
+ }
+ "KC_G": {
+ "key": "DP_I",
+ "label": "I",
+ }
+ "KC_H": {
+ "key": "DP_D",
+ "label": "D",
+ }
+ "KC_J": {
+ "key": "DP_H",
+ "label": "H",
+ }
+ "KC_K": {
+ "key": "DP_T",
+ "label": "T",
+ }
+ "KC_L": {
+ "key": "DP_N",
+ "label": "N",
+ }
+ "KC_SCLN": {
+ "key": "DP_S",
+ "label": "S",
+ }
+ "KC_QUOT": {
+ "key": "DP_MINS",
+ "label": "-",
+ }
+ "KC_Z": {
+ "key": "DP_QUOT",
+ "label": "'",
+ }
+ "KC_X": {
+ "key": "DP_Q",
+ "label": "Q",
+ }
+ "KC_C": {
+ "key": "DP_J",
+ "label": "J",
+ }
+ "KC_V": {
+ "key": "DP_K",
+ "label": "K",
+ }
+ "KC_B": {
+ "key": "DP_X",
+ "label": "X",
+ }
+ "KC_N": {
+ "key": "DP_B",
+ "label": "B",
+ }
+ "KC_M": {
+ "key": "DP_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "DP_W",
+ "label": "W",
+ }
+ "KC_DOT": {
+ "key": "DP_V",
+ "label": "V",
+ }
+ "KC_SLSH": {
+ "key": "DP_Z",
+ "label": "Z",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ % │ 7 │ 5 │ 3 │ 1 │ 9 │ 0 │ 2 │ 4 │ 6 │ 8 │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ : │ < │ > │ │ │ │ │ │ │ │ ? │ ^ │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ " │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(DP_DLR)": {
+ "key": "DP_TILD",
+ "label": "~",
+ }
+ "S(DP_AMPR)": {
+ "key": "DP_PERC",
+ "label": "%",
+ }
+ "S(DP_LBRC)": {
+ "key": "DP_7",
+ "label": "7",
+ }
+ "S(DP_LCBR)": {
+ "key": "DP_5",
+ "label": "5",
+ }
+ "S(DP_RCBR)": {
+ "key": "DP_3",
+ "label": "3",
+ }
+ "S(DP_LPRN)": {
+ "key": "DP_1",
+ "label": "1",
+ }
+ "S(DP_EQL)": {
+ "key": "DP_9",
+ "label": "9",
+ }
+ "S(DP_ASTR)": {
+ "key": "DP_0",
+ "label": "0",
+ }
+ "S(DP_RPRN)": {
+ "key": "DP_2",
+ "label": "2",
+ }
+ "S(DP_PLUS)": {
+ "key": "DP_4",
+ "label": "4",
+ }
+ "S(DP_RBRC)": {
+ "key": "DP_6",
+ "label": "6",
+ }
+ "S(DP_EXLM)": {
+ "key": "DP_8",
+ "label": "8",
+ }
+ "S(DP_HASH)": {
+ "key": "DP_GRV",
+ "label": "`",
+ }
+ "S(DP_SCLN)": {
+ "key": "DP_COLN",
+ "label": ":",
+ }
+ "S(DP_COMM)": {
+ "key": "DP_LABK",
+ "label": "<",
+ }
+ "S(DP_DOT)": {
+ "key": "DP_RABK",
+ "label": ">",
+ }
+ "S(DP_SLSH)": {
+ "key": "DP_QUES",
+ "label": "?",
+ }
+ "S(DP_AT)": {
+ "key": "DP_CIRC",
+ "label": "^",
+ }
+ "S(DP_BSLS)": {
+ "key": "DP_PIPE",
+ "label": "|",
+ }
+ "S(DP_MINS)": {
+ "key": "DP_UNDS",
+ "label": "_",
+ }
+ "S(DP_QUOT)": {
+ "key": "DP_DQUO",
+ "label": "\"",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ˇ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ü │ Õ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "EE_CARN",
+ "label": "ˇ (dead)",
+ }
+ "KC_1": {
+ "key": "EE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "EE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "EE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "EE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "EE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "EE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "EE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "EE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "EE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "EE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "EE_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "EE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "EE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "EE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "EE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "EE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "EE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "EE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "EE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "EE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "EE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "EE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "EE_UDIA",
+ "label": "Ü",
+ }
+ "KC_RBRC": {
+ "key": "EE_OTIL",
+ "label": "Õ",
+ }
+ "KC_A": {
+ "key": "EE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "EE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "EE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "EE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "EE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "EE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "EE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "EE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "EE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "EE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "EE_ADIA",
+ "label": "Ä",
+ }
+ "KC_NUHS": {
+ "key": "EE_QUOT",
+ "label": "'",
+ }
+ "KC_NUBS": {
+ "key": "EE_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "EE_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "EE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "EE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "EE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "EE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "EE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "EE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "EE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "EE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "EE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(EE_CARN)": {
+ "key": "EE_TILD",
+ "label": "~ (dead)",
+ }
+ "S(EE_1)": {
+ "key": "EE_EXLM",
+ "label": "!",
+ }
+ "S(EE_2)": {
+ "key": "EE_DQUO",
+ "label": "\"",
+ }
+ "S(EE_3)": {
+ "key": "EE_HASH",
+ "label": "#",
+ }
+ "S(EE_4)": {
+ "key": "EE_CURR",
+ "label": "¤",
+ }
+ "S(EE_5)": {
+ "key": "EE_PERC",
+ "label": "%",
+ }
+ "S(EE_6)": {
+ "key": "EE_AMPR",
+ "label": "&",
+ }
+ "S(EE_7)": {
+ "key": "EE_SLSH",
+ "label": "/",
+ }
+ "S(EE_8)": {
+ "key": "EE_LPRN",
+ "label": "(",
+ }
+ "S(EE_9)": {
+ "key": "EE_RPRN",
+ "label": ")",
+ }
+ "S(EE_0)": {
+ "key": "EE_EQL",
+ "label": "=",
+ }
+ "S(EE_PLUS)": {
+ "key": "EE_QUES",
+ "label": "?",
+ }
+ "S(EE_ACUT)": {
+ "key": "EE_GRV",
+ "label": "` (dead)",
+ }
+ "S(EE_QUOT)": {
+ "key": "EE_ASTR",
+ "label": "*",
+ }
+ "S(EE_LABK)": {
+ "key": "EE_RABK",
+ "label": ">",
+ }
+ "S(EE_COMM)": {
+ "key": "EE_SCLN",
+ "label": ";",
+ }
+ "S(EE_DOT)": {
+ "key": "EE_COLN",
+ "label": ":",
+ }
+ "S(EE_MINS)": {
+ "key": "EE_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ § │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ š │ │ │ │ │ │ │ │ │ ^ │ ½ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ ž │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(EE_2)": {
+ "key": "EE_AT",
+ "label": "@",
+ }
+ "ALGR(EE_3)": {
+ "key": "EE_PND",
+ "label": "£",
+ }
+ "ALGR(EE_4)": {
+ "key": "EE_DLR",
+ "label": "$",
+ }
+ "ALGR(EE_5)": {
+ "key": "EE_EURO",
+ "label": "€",
+ }
+ "ALGR(EE_7)": {
+ "key": "EE_LCBR",
+ "label": "{",
+ }
+ "ALGR(EE_8)": {
+ "key": "EE_LBRC",
+ "label": "[",
+ }
+ "ALGR(EE_9)": {
+ "key": "EE_RBRC",
+ "label": "]",
+ }
+ "ALGR(EE_0)": {
+ "key": "EE_RCBR",
+ "label": "}",
+ }
+ "ALGR(EE_PLUS)": {
+ "key": "EE_BSLS",
+ "label": "\\",
+ }
+ "ALGR(EE_OTIL)": {
+ "key": "EE_SECT",
+ "label": "§",
+ }
+ "ALGR(EE_S)": {
+ "key": "EE_SCAR",
+ "label": "š",
+ }
+ "ALGR(EE_ADIA)": {
+ "key": "EE_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(EE_QUOT)": {
+ "key": "EE_HALF",
+ "label": "½",
+ }
+ "ALGR(EE_LABK)": {
+ "key": "EE_PIPE",
+ "label": "|",
+ }
+ "ALGR(EE_Z)": {
+ "key": "EE_ZCAR",
+ "label": "ž",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "FI_SECT",
+ "label": "§",
+ }
+ "KC_1": {
+ "key": "FI_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "FI_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "FI_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "FI_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "FI_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "FI_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "FI_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "FI_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "FI_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "FI_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "FI_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "FI_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "FI_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "FI_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "FI_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "FI_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "FI_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "FI_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "FI_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "FI_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "FI_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "FI_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "FI_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "FI_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "FI_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "FI_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "FI_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "FI_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "FI_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "FI_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "FI_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "FI_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "FI_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "FI_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "FI_ADIA",
+ "label": "Ä",
+ }
+ "KC_NUHS": {
+ "key": "FI_QUOT",
+ "label": "'",
+ }
+ "KC_NUBS": {
+ "key": "FI_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "FI_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "FI_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "FI_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "FI_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "FI_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "FI_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "FI_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "FI_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "FI_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "FI_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(FI_SECT)": {
+ "key": "FI_HALF",
+ "label": "½",
+ }
+ "S(FI_1)": {
+ "key": "FI_EXLM",
+ "label": "!",
+ }
+ "S(FI_2)": {
+ "key": "FI_DQUO",
+ "label": "\"",
+ }
+ "S(FI_3)": {
+ "key": "FI_HASH",
+ "label": "#",
+ }
+ "S(FI_4)": {
+ "key": "FI_CURR",
+ "label": "¤",
+ }
+ "S(FI_5)": {
+ "key": "FI_PERC",
+ "label": "%",
+ }
+ "S(FI_6)": {
+ "key": "FI_AMPR",
+ "label": "&",
+ }
+ "S(FI_7)": {
+ "key": "FI_SLSH",
+ "label": "/",
+ }
+ "S(FI_8)": {
+ "key": "FI_LPRN",
+ "label": "(",
+ }
+ "S(FI_9)": {
+ "key": "FI_RPRN",
+ "label": ")",
+ }
+ "S(FI_0)": {
+ "key": "FI_EQL",
+ "label": "=",
+ }
+ "S(FI_PLUS)": {
+ "key": "FI_QUES",
+ "label": "?",
+ }
+ "S(FI_ACUT)": {
+ "key": "FI_GRV",
+ "label": "` (dead)",
+ }
+ "S(FI_DIAE)": {
+ "key": "FI_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(FI_QUOT)": {
+ "key": "FI_ASTR",
+ "label": "*",
+ }
+ "S(FI_LABK)": {
+ "key": "FI_RABK",
+ "label": ">",
+ }
+ "S(FI_COMM)": {
+ "key": "FI_SCLN",
+ "label": ";",
+ }
+ "S(FI_DOT)": {
+ "key": "FI_COLN",
+ "label": ":",
+ }
+ "S(FI_MINS)": {
+ "key": "FI_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(FI_2)": {
+ "key": "FI_AT",
+ "label": "@",
+ }
+ "ALGR(FI_3)": {
+ "key": "FI_PND",
+ "label": "£",
+ }
+ "ALGR(FI_4)": {
+ "key": "FI_DLR",
+ "label": "$",
+ }
+ "ALGR(FI_5)": {
+ "key": "FI_EURO",
+ "label": "€",
+ }
+ "ALGR(FI_7)": {
+ "key": "FI_LCBR",
+ "label": "{",
+ }
+ "ALGR(FI_8)": {
+ "key": "FI_LBRC",
+ "label": "[",
+ }
+ "ALGR(FI_9)": {
+ "key": "FI_RBRC",
+ "label": "]",
+ }
+ "ALGR(FI_0)": {
+ "key": "FI_RCBR",
+ "label": "}",
+ }
+ "ALGR(FI_PLUS)": {
+ "key": "FI_BSLS",
+ "label": "\\",
+ }
+ "ALGR(FI_DIAE)": {
+ "key": "FI_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(FI_LABK)": {
+ "key": "FI_PIPE",
+ "label": "|",
+ }
+ "ALGR(FI_M)": {
+ "key": "FI_MICR",
+ "label": "µ",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ² │ & │ é │ " │ ' │ ( │ - │ è │ _ │ ç │ à │ ) │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ ! │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "FR_SUP2",
+ "label": "²",
+ }
+ "KC_1": {
+ "key": "FR_AMPR",
+ "label": "&",
+ }
+ "KC_2": {
+ "key": "FR_EACU",
+ "label": "é",
+ }
+ "KC_3": {
+ "key": "FR_DQUO",
+ "label": "\"",
+ }
+ "KC_4": {
+ "key": "FR_QUOT",
+ "label": "'",
+ }
+ "KC_5": {
+ "key": "FR_LPRN",
+ "label": "(",
+ }
+ "KC_6": {
+ "key": "FR_MINS",
+ "label": "-",
+ }
+ "KC_7": {
+ "key": "FR_EGRV",
+ "label": "è",
+ }
+ "KC_8": {
+ "key": "FR_UNDS",
+ "label": "_",
+ }
+ "KC_9": {
+ "key": "FR_CCED",
+ "label": "ç",
+ }
+ "KC_0": {
+ "key": "FR_AGRV",
+ "label": "à",
+ }
+ "KC_MINS": {
+ "key": "FR_RPRN",
+ "label": ")",
+ }
+ "KC_EQL": {
+ "key": "FR_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "FR_A",
+ "label": "A",
+ }
+ "KC_W": {
+ "key": "FR_Z",
+ "label": "Z",
+ }
+ "KC_E": {
+ "key": "FR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "FR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "FR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "FR_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "FR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "FR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "FR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "FR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "FR_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_RBRC": {
+ "key": "FR_DLR",
+ "label": "$",
+ }
+ "KC_A": {
+ "key": "FR_Q",
+ "label": "Q",
+ }
+ "KC_S": {
+ "key": "FR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "FR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "FR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "FR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "FR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "FR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "FR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "FR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "FR_M",
+ "label": "M",
+ }
+ "KC_QUOT": {
+ "key": "FR_UGRV",
+ "label": "ù",
+ }
+ "KC_NUHS": {
+ "key": "FR_ASTR",
+ "label": "*",
+ }
+ "KC_NUBS": {
+ "key": "FR_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "FR_W",
+ "label": "W",
+ }
+ "KC_X": {
+ "key": "FR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "FR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "FR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "FR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "FR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "FR_COMM",
+ "label": ",",
+ }
+ "KC_COMM": {
+ "key": "FR_SCLN",
+ "label": ";",
+ }
+ "KC_DOT": {
+ "key": "FR_COLN",
+ "label": ":",
+ }
+ "KC_SLSH": {
+ "key": "FR_EXLM",
+ "label": "!",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ £ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ % │ µ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ § │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(FR_AMPR)": {
+ "key": "FR_1",
+ "label": "1",
+ }
+ "S(FR_EACU)": {
+ "key": "FR_2",
+ "label": "2",
+ }
+ "S(FR_DQUO)": {
+ "key": "FR_3",
+ "label": "3",
+ }
+ "S(FR_QUOT)": {
+ "key": "FR_4",
+ "label": "4",
+ }
+ "S(FR_LPRN)": {
+ "key": "FR_5",
+ "label": "5",
+ }
+ "S(FR_MINS)": {
+ "key": "FR_6",
+ "label": "6",
+ }
+ "S(FR_EGRV)": {
+ "key": "FR_7",
+ "label": "7",
+ }
+ "S(FR_UNDS)": {
+ "key": "FR_8",
+ "label": "8",
+ }
+ "S(FR_CCED)": {
+ "key": "FR_9",
+ "label": "9",
+ }
+ "S(FR_AGRV)": {
+ "key": "FR_0",
+ "label": "0",
+ }
+ "S(FR_RPRN)": {
+ "key": "FR_DEG",
+ "label": "°",
+ }
+ "S(FR_EQL)": {
+ "key": "FR_PLUS",
+ "label": "+",
+ }
+ "S(FR_CIRC)": {
+ "key": "FR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(FR_DLR)": {
+ "key": "FR_PND",
+ "label": "£",
+ }
+ "S(FR_UGRV)": {
+ "key": "FR_PERC",
+ "label": "%",
+ }
+ "S(FR_ASTR)": {
+ "key": "FR_MICR",
+ "label": "µ",
+ }
+ "S(FR_LABK)": {
+ "key": "FR_RABK",
+ "label": ">",
+ }
+ "S(FR_COMM)": {
+ "key": "FR_QUES",
+ "label": "?",
+ }
+ "S(FR_SCLN)": {
+ "key": "FR_DOT",
+ "label": ".",
+ }
+ "S(FR_COLN)": {
+ "key": "FR_SLSH",
+ "label": "/",
+ }
+ "S(FR_EXLM)": {
+ "key": "FR_SECT",
+ "label": "§",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ ~ │ # │ { │ [ │ | │ ` │ \ │ │ @ │ ] │ } │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ │ ¤ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(FR_EACU)": {
+ "key": "FR_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(FR_DQUO)": {
+ "key": "FR_HASH",
+ "label": "#",
+ }
+ "ALGR(FR_QUOT)": {
+ "key": "FR_LCBR",
+ "label": "{",
+ }
+ "ALGR(FR_LPRN)": {
+ "key": "FR_LBRC",
+ "label": "[",
+ }
+ "ALGR(FR_MINS)": {
+ "key": "FR_PIPE",
+ "label": "|",
+ }
+ "ALGR(FR_EGRV)": {
+ "key": "FR_GRV",
+ "label": "` (dead)",
+ }
+ "ALGR(FR_UNDS)": {
+ "key": "FR_BSLS",
+ "label": "\\",
+ }
+ "ALGR(FR_AGRV)": {
+ "key": "FR_AT",
+ "label": "@",
+ }
+ "ALGR(FR_RPRN)": {
+ "key": "FR_RBRC",
+ "label": "]",
+ }
+ "ALGR(FR_EQL)": {
+ "key": "FR_RCBR",
+ "label": "}",
+ }
+ "ALGR(KC_E)": {
+ "key": "FR_EURO",
+ "label": "€",
+ }
+ "ALGR(FR_DLR)": {
+ "key": "FR_CURR",
+ "label": "¤",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/* French AZERTY - AFNOR NF Z71-300
+ *
+ * A standard for the French keyboard
+ *
+ * The project was launched at the end of 2015 on the proposal of the General
+ * Delegation for the French language and the languages of France (Ministry
+ * of Culture), starting from the observation that the current "azerty"
+ * keyboards constrain the writing of French, languages regional and European
+ * languages with Latin alphabet.
+ *
+ * For the first time, a standard (NF Z71-300) defines the placement of
+ * characters on the French keyboard. It offers two layouts, one of which
+ * closely follows the QWERTY keyboard used by most people who write in French.
+ *
+ * However, it is in many ways superior to the old keyboard:
+ *
+ * - it contains all the characters required to enter text in French (for example É, œ and ")
+ * - it is designed to be more ergonomic and allow faster typing
+ * - it includes almost 60 additional characters for entering foreign languages, technical content, etc
+ * - however, the characters remain easy to locate thanks to intuitive groupings
+ *
+ * Source: https://norme-azerty.fr
+ */
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "FR_AT",
+ "label": "@",
+ }
+ "KC_1": {
+ "key": "FR_AGRV",
+ "label": "à",
+ }
+ "KC_2": {
+ "key": "FR_EACU",
+ "label": "é",
+ }
+ "KC_3": {
+ "key": "FR_EGRV",
+ "label": "è",
+ }
+ "KC_4": {
+ "key": "FR_ECIR",
+ "label": "ê",
+ }
+ "KC_5": {
+ "key": "FR_LPRN",
+ "label": "(",
+ }
+ "KC_6": {
+ "key": "FR_RPRN",
+ "label": ")",
+ }
+ "KC_7": {
+ "key": "FR_LSQU",
+ "label": "‘",
+ }
+ "KC_8": {
+ "key": "FR_RSQU",
+ "label": "’",
+ }
+ "KC_9": {
+ "key": "FR_LDAQ",
+ "label": "«",
+ }
+ "KC_0": {
+ "key": "FR_RDAQ",
+ "label": "»",
+ }
+ "KC_MINS": {
+ "key": "FR_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "FR_DCIR",
+ "label": "^ (dead)",
+ }
+ "KC_Q": {
+ "key": "FR_A",
+ "label": "A",
+ }
+ "KC_W": {
+ "key": "FR_Z",
+ "label": "Z",
+ }
+ "KC_E": {
+ "key": "FR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "FR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "FR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "FR_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "FR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "FR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "FR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "FR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "FR_MINS",
+ "label": "-",
+ }
+ "KC_RBRC": {
+ "key": "FR_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "FR_Q",
+ "label": "Q",
+ }
+ "KC_S": {
+ "key": "FR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "FR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "FR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "FR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "FR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "FR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "FR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "FR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "FR_M",
+ "label": "M",
+ }
+ "KC_QUOT": {
+ "key": "FR_SLSH",
+ "label": "/",
+ }
+ "KC_NUHS": {
+ "key": "FR_ASTR",
+ "label": "*",
+ }
+ "KC_NUBS": {
+ "key": "FR_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "FR_W",
+ "label": "W",
+ }
+ "KC_X": {
+ "key": "FR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "FR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "FR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "FR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "FR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "FR_DOT",
+ "label": ".",
+ }
+ "KC_COMM": {
+ "key": "FR_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "FR_COLN",
+ "label": ":",
+ }
+ "KC_SLSH": {
+ "key": "FR_SCLN",
+ "label": ";",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(FR_AT)": {
+ "key": "FR_HASH",
+ "label": "#",
+ }
+ "S(FR_AGRV)": {
+ "key": "FR_1",
+ "label": "1",
+ }
+ "S(FR_EACU)": {
+ "key": "FR_2",
+ "label": "2",
+ }
+ "S(FR_EGRV)": {
+ "key": "FR_3",
+ "label": "3",
+ }
+ "S(FR_ECIR)": {
+ "key": "FR_4",
+ "label": "4",
+ }
+ "S(FR_LPRN)": {
+ "key": "FR_5",
+ "label": "5",
+ }
+ "S(FR_RPRN)": {
+ "key": "FR_6",
+ "label": "6",
+ }
+ "S(FR_LSQU)": {
+ "key": "FR_7",
+ "label": "7",
+ }
+ "S(FR_RSQU)": {
+ "key": "FR_8",
+ "label": "8",
+ }
+ "S(FR_LDAQ)": {
+ "key": "FR_9",
+ "label": "9",
+ }
+ "S(FR_RDAQ)": {
+ "key": "FR_0",
+ "label": "0",
+ }
+ "S(FR_QUOT)": {
+ "key": "FR_DQUO",
+ "label": "\"",
+ }
+ "S(FR_DCIR)": {
+ "key": "FR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(FR_MINS)": {
+ "key": "FR_NDSH",
+ "label": "–",
+ }
+ "S(FR_PLUS)": {
+ "key": "FR_PLMN",
+ "label": "±",
+ }
+ "S(FR_SLSH)": {
+ "key": "FR_BSLS",
+ "label": "\\",
+ }
+ "S(FR_ASTR)": {
+ "key": "FR_HALF",
+ "label": "½",
+ }
+ "S(FR_LABK)": {
+ "key": "FR_RABK",
+ "label": ">",
+ }
+ "S(FR_DOT)": {
+ "key": "FR_QUES",
+ "label": "?",
+ }
+ "S(FR_COMM)": {
+ "key": "FR_EXLM",
+ "label": "!",
+ }
+ "S(FR_COLN)": {
+ "key": "FR_ELLP",
+ "label": "…",
+ }
+ "S(FR_SCLN)": {
+ "key": "FR_EQL",
+ "label": "=",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(FR_AT)": {
+ "key": "FR_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(FR_AGRV)": {
+ "key": "FR_SECT",
+ "label": "§",
+ }
+ "ALGR(FR_EACU)": {
+ "key": "FR_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(FR_EGRV)": {
+ "key": "FR_GRV",
+ "label": "` (dead)",
+ }
+ "ALGR(FR_ECIR)": {
+ "key": "FR_AMPR",
+ "label": "&",
+ }
+ "ALGR(FR_LPRN)": {
+ "key": "FR_LBRC",
+ "label": "[",
+ }
+ "ALGR(FR_RPRN)": {
+ "key": "FR_RBRC",
+ "label": "]",
+ }
+ "ALGR(FR_LSQU)": {
+ "key": "FR_MACR",
+ "label": "¯ (dead)",
+ }
+ "ALGR(FR_RSQU)": {
+ "key": "FR_UNDS",
+ "label": "_",
+ }
+ "ALGR(FR_LDAQ)": {
+ "key": "FR_LDQU",
+ "label": "“",
+ }
+ "ALGR(FR_RDAQ)": {
+ "key": "FR_RDQU",
+ "label": "”",
+ }
+ "ALGR(FR_QUOT)": {
+ "key": "FR_DEG",
+ "label": "°",
+ }
+ "ALGR(FR_DCIR)": {
+ "key": "FR_CARN",
+ "label": "ˇ (dead)",
+ }
+ "ALGR(FR_A)": {
+ "key": "FR_AE",
+ "label": "æ",
+ }
+ "ALGR(FR_Z)": {
+ "key": "FR_PND",
+ "label": "£",
+ }
+ "ALGR(FR_E)": {
+ "key": "FR_EURO",
+ "label": "€",
+ }
+ "ALGR(FR_R)": {
+ "key": "FR_REGD",
+ "label": "®",
+ }
+ "ALGR(FR_T)": {
+ "key": "FR_LCBR",
+ "label": "{",
+ }
+ "ALGR(FR_Y)": {
+ "key": "FR_RCBR",
+ "label": "}",
+ }
+ "ALGR(FR_U)": {
+ "key": "FR_UGRV",
+ "label": "ù",
+ }
+ "ALGR(FR_I)": {
+ "key": "FR_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(FR_O)": {
+ "key": "FR_OE",
+ "label": "œ",
+ }
+ "ALGR(FR_P)": {
+ "key": "FR_PERC",
+ "label": "%",
+ }
+ "ALGR(FR_MINS)": {
+ "key": "FR_MMNS",
+ "label": "−",
+ }
+ "ALGR(FR_PLUS)": {
+ "key": "FR_DAGG",
+ "label": "†",
+ }
+ "ALGR(FR_Q)": {
+ "key": "FR_THET",
+ "label": "θ",
+ }
+ "ALGR(FR_S)": {
+ "key": "FR_SS",
+ "label": "ß",
+ }
+ "ALGR(FR_D)": {
+ "key": "FR_DLR",
+ "label": "$",
+ }
+ "ALGR(FR_F)": {
+ "key": "FR_CURR",
+ "label": "¤ (dead monetary key)",
+ }
+ "ALGR(FR_G)": {
+ "key": "FR_DGRK",
+ "label": "µ (dead Greek key)",
+ }
+ "ALGR(FR_H)": {
+ "key": "FR_EU",
+ "label": "Eu (dead European symbol key)",
+ }
+ "ALGR(FR_K)": {
+ "key": "FR_DSLS",
+ "label": "∕ (dead)",
+ }
+ "ALGR(FR_L)": {
+ "key": "FR_PIPE",
+ "label": "|",
+ }
+ "ALGR(FR_M)": {
+ "key": "FR_INFN",
+ "label": "∞",
+ }
+ "ALGR(FR_SLSH)": {
+ "key": "FR_DIV",
+ "label": "÷",
+ }
+ "ALGR(FR_ASTR)": {
+ "key": "FR_MUL",
+ "label": "×",
+ }
+ "ALGR(FR_LABK)": {
+ "key": "FR_LEQL",
+ "label": "≤",
+ }
+ "ALGR(FR_W)": {
+ "key": "FR_EZH",
+ "label": "ʒ",
+ }
+ "ALGR(FR_X)": {
+ "key": "FR_COPY",
+ "label": "©",
+ }
+ "ALGR(FR_C)": {
+ "key": "FR_CCED",
+ "label": "ç",
+ }
+ "ALGR(FR_V)": {
+ "key": "FR_CEDL",
+ "label": "¸ (dead)",
+ }
+ "ALGR(FR_B)": {
+ "key": "FR_DMNS",
+ "label": "− (dead)",
+ }
+ "ALGR(FR_N)": {
+ "key": "FR_DTIL",
+ "label": "~ (dead)",
+ }
+ "ALGR(FR_DOT)": {
+ "key": "FR_IQUE",
+ "label": "¿",
+ }
+ "ALGR(FR_COMM)": {
+ "key": "FR_IEXL",
+ "label": "¡",
+ }
+ "ALGR(FR_COLN)": {
+ "key": "FR_MDDT",
+ "label": "·",
+ }
+ "ALGR(FR_SCLN)": {
+ "key": "FR_AEQL",
+ "label": "≃",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(FR_AT))": {
+ "key": "FR_IBRV",
+ "label": "̑ (dead)",
+ }
+ "S(ALGR(FR_LPRN))": {
+ "key": "FR_DACU",
+ "label": "˝ (dead)",
+ }
+ "S(ALGR(FR_RPRN))": {
+ "key": "FR_DGRV",
+ "label": "̏ (dead)",
+ }
+ "S(ALGR(FR_RSQU))": {
+ "key": "FR_MDSH",
+ "label": "—",
+ }
+ "S(ALGR(FR_LDAQ))": {
+ "key": "FR_LSAQ",
+ "label": "‹",
+ }
+ "S(ALGR(FR_RDAQ))": {
+ "key": "FR_RSAQ",
+ "label": "›",
+ }
+ "S(ALGR(FR_QUOT))": {
+ "key": "FR_RNGA",
+ "label": "˚ (dead)",
+ }
+ "S(ALGR(FR_T))": {
+ "key": "FR_TM",
+ "label": "™",
+ }
+ "S(ALGR(FR_I))": {
+ "key": "FR_DOTB",
+ "label": "̣ (dead)",
+ }
+ "S(ALGR(FR_P))": {
+ "key": "FR_PERM",
+ "label": "‰",
+ }
+ "S(ALGR(FR_MINS))": {
+ "key": "FR_NBHY",
+ "label": "‑ (non-breaking hyphen)",
+ }
+ "S(ALGR(FR_PLUS))": {
+ "key": "FR_DDAG",
+ "label": "‡",
+ }
+ "S(ALGR(FR_H))": {
+ "key": "FR_MACB",
+ "label": "ˍ (dead)",
+ }
+ "S(ALGR(FR_SLSH))": {
+ "key": "FR_SQRT",
+ "label": "√",
+ }
+ "S(ALGR(FR_ASTR))": {
+ "key": "FR_QRTR",
+ "label": "¼",
+ }
+ "S(ALGR(FR_LABK))": {
+ "key": "FR_GEQL",
+ "label": "≥",
+ }
+ "S(ALGR(FR_V))": {
+ "key": "FR_OGON",
+ "label": "˛ (dead)",
+ }
+ "S(ALGR(FR_COMM))": {
+ "key": "FR_DCMM",
+ "label": "̦ (dead)",
+ }
+ "S(ALGR(FR_SCLN))": {
+ "key": "FR_NEQL",
+ "label": "≠",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "FR_AT",
+ "label": "@",
+ }
+ "KC_1": {
+ "key": "FR_AMPR",
+ "label": "&",
+ }
+ "KC_2": {
+ "key": "FR_LEAC",
+ "label": "é",
+ }
+ "KC_3": {
+ "key": "FR_DQUO",
+ "label": "\"",
+ }
+ "KC_4": {
+ "key": "FR_QUOT",
+ "label": "'",
+ }
+ "KC_5": {
+ "key": "FR_LPRN",
+ "label": "(",
+ }
+ "KC_6": {
+ "key": "FR_SECT",
+ "label": "§",
+ }
+ "KC_7": {
+ "key": "FR_LEGR",
+ "label": "è",
+ }
+ "KC_8": {
+ "key": "FR_EXLM",
+ "label": "!",
+ }
+ "KC_9": {
+ "key": "FR_LCCE",
+ "label": "ç",
+ }
+ "KC_0": {
+ "key": "FR_LAGR",
+ "label": "à",
+ }
+ "KC_MINS": {
+ "key": "FR_RPRN",
+ "label": ")",
+ }
+ "KC_EQL": {
+ "key": "FR_MINS",
+ "label": "-",
+ }
+ "KC_Q": {
+ "key": "FR_A",
+ "label": "A",
+ }
+ "KC_W": {
+ "key": "FR_Z",
+ "label": "Z",
+ }
+ "KC_E": {
+ "key": "FR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "FR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "FR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "FR_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "FR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "FR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "FR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "FR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "FR_CIRC",
+ "label": "^",
+ }
+ "KC_RBRC": {
+ "key": "FR_DLR",
+ "label": "$",
+ }
+ "KC_A": {
+ "key": "FR_Q",
+ "label": "Q",
+ }
+ "KC_S": {
+ "key": "FR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "FR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "FR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "FR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "FR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "FR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "FR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "FR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "FR_M",
+ "label": "M",
+ }
+ "KC_QUOT": {
+ "key": "FR_LUGR",
+ "label": "ù",
+ }
+ "KC_NUHS": {
+ "key": "FR_GRV",
+ "label": "`",
+ }
+ "KC_NUBS": {
+ "key": "FR_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "FR_W",
+ "label": "W",
+ }
+ "KC_X": {
+ "key": "FR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "FR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "FR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "FR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "FR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "FR_COMM",
+ "label": ",",
+ }
+ "KC_COMM": {
+ "key": "FR_SCLN",
+ "label": ";",
+ }
+ "KC_DOT": {
+ "key": "FR_COLN",
+ "label": ":",
+ }
+ "KC_SLSH": {
+ "key": "FR_EQL",
+ "label": "=",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(FR_AT)": {
+ "key": "FR_HASH",
+ "label": "#",
+ }
+ "S(FR_AMPR)": {
+ "key": "FR_1",
+ "label": "1",
+ }
+ "S(FR_LEAC)": {
+ "key": "FR_2",
+ "label": "2",
+ }
+ "S(FR_DQUO)": {
+ "key": "FR_3",
+ "label": "3",
+ }
+ "S(FR_QUOT)": {
+ "key": "FR_4",
+ "label": "4",
+ }
+ "S(FR_LPRN)": {
+ "key": "FR_5",
+ "label": "5",
+ }
+ "S(FR_SECT)": {
+ "key": "FR_6",
+ "label": "6",
+ }
+ "S(FR_LEGR)": {
+ "key": "FR_7",
+ "label": "7",
+ }
+ "S(FR_EXLM)": {
+ "key": "FR_8",
+ "label": "8",
+ }
+ "S(FR_LCCE)": {
+ "key": "FR_9",
+ "label": "9",
+ }
+ "S(FR_LAGR)": {
+ "key": "FR_0",
+ "label": "0",
+ }
+ "S(FR_RPRN)": {
+ "key": "FR_DEG",
+ "label": "°",
+ }
+ "S(FR_MINS)": {
+ "key": "FR_UNDS",
+ "label": "_",
+ }
+ "S(FR_CIRC)": {
+ "key": "FR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(FR_DLR)": {
+ "key": "FR_ASTR",
+ "label": "*",
+ }
+ "S(FR_LUGR)": {
+ "key": "FR_PERC",
+ "label": "%",
+ }
+ "S(FR_GRV)": {
+ "key": "FR_PND",
+ "label": "£",
+ }
+ "S(FR_LABK)": {
+ "key": "FR_RABK",
+ "label": ">",
+ }
+ "S(FR_COMM)": {
+ "key": "FR_QUES",
+ "label": "?",
+ }
+ "S(FR_SCLN)": {
+ "key": "FR_DOT",
+ "label": ".",
+ }
+ "S(FR_COLN)": {
+ "key": "FR_SLSH",
+ "label": "/",
+ }
+ "S(FR_EQL)": {
+ "key": "FR_PLUS",
+ "label": "+",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ • │  │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "A(FR_AT)": {
+ "key": "FR_BULT",
+ "label": "•",
+ }
+ "A(FR_AMPR)": {
+ "key": "FR_APPL",
+ "label": " (Apple logo)",
+ }
+ "A(FR_LEAC)": {
+ "key": "FR_LEDI",
+ "label": "ë",
+ }
+ "A(FR_DQUO)": {
+ "key": "FR_LDQU",
+ "label": "“",
+ }
+ "A(FR_QUOT)": {
+ "key": "FR_LSQU",
+ "label": "‘",
+ }
+ "A(FR_LPRN)": {
+ "key": "FR_LCBR",
+ "label": "{",
+ }
+ "A(FR_SECT)": {
+ "key": "FR_PILC",
+ "label": "¶",
+ }
+ "A(FR_LEGR)": {
+ "key": "FR_LDAQ",
+ "label": "«",
+ }
+ "A(FR_EXLM)": {
+ "key": "FR_IEXL",
+ "label": "¡",
+ }
+ "A(FR_LCCE)": {
+ "key": "FR_CCCE",
+ "label": "Ç",
+ }
+ "A(FR_LAGR)": {
+ "key": "FR_OSTR",
+ "label": "Ø",
+ }
+ "A(FR_RPRN)": {
+ "key": "FR_RCBR",
+ "label": "}",
+ }
+ "A(FR_MINS)": {
+ "key": "FR_MDSH",
+ "label": "—",
+ }
+ "A(FR_A)": {
+ "key": "FR_AE",
+ "label": "Æ",
+ }
+ "A(FR_Z)": {
+ "key": "FR_CACI",
+ "label": "Â",
+ }
+ "A(FR_E)": {
+ "key": "FR_ECIR",
+ "label": "Ê",
+ }
+ "A(FR_R)": {
+ "key": "FR_REGD",
+ "label": "®",
+ }
+ "A(FR_T)": {
+ "key": "FR_DAGG",
+ "label": "†",
+ }
+ "A(FR_Y)": {
+ "key": "FR_CUAC",
+ "label": "Ú",
+ }
+ "A(FR_U)": {
+ "key": "FR_MORD",
+ "label": "º",
+ }
+ "A(FR_I)": {
+ "key": "FR_LICI",
+ "label": "î",
+ }
+ "A(FR_O)": {
+ "key": "FR_OE",
+ "label": "Œ",
+ }
+ "A(FR_P)": {
+ "key": "FR_PI",
+ "label": "π",
+ }
+ "A(FR_CIRC)": {
+ "key": "FR_OCIR",
+ "label": "Ô",
+ }
+ "A(FR_DLR)": {
+ "key": "FR_EURO",
+ "label": "€",
+ }
+ "A(FR_Q)": {
+ "key": "FR_DDAG",
+ "label": "‡",
+ }
+ "A(FR_S)": {
+ "key": "FR_COGR",
+ "label": "Ò",
+ }
+ "A(FR_D)": {
+ "key": "FR_PDIF",
+ "label": "∂",
+ }
+ "A(FR_F)": {
+ "key": "FR_FHK",
+ "label": "ƒ",
+ }
+ "A(FR_G)": {
+ "key": "FR_FI",
+ "label": "fi",
+ }
+ "A(FR_H)": {
+ "key": "FR_CIGR",
+ "label": "Ì",
+ }
+ "A(FR_J)": {
+ "key": "FR_CIDI",
+ "label": "Ï",
+ }
+ "A(FR_K)": {
+ "key": "FR_CEGR",
+ "label": "È",
+ }
+ "A(FR_L)": {
+ "key": "FR_NOT",
+ "label": "¬",
+ }
+ "A(FR_M)": {
+ "key": "FR_MICR",
+ "label": "µ",
+ }
+ "A(FR_LUGR)": {
+ "key": "FR_CUGR",
+ "label": "Ù",
+ }
+ "A(FR_LABK)": {
+ "key": "FR_LTEQ",
+ "label": "≤",
+ }
+ "A(FR_W)": {
+ "key": "FR_LSAQ",
+ "label": "‹",
+ }
+ "A(FR_X)": {
+ "key": "FR_AEQL",
+ "label": "≈",
+ }
+ "A(FR_C)": {
+ "key": "FR_COPY",
+ "label": "©",
+ }
+ "A(FR_V)": {
+ "key": "FR_LOZN",
+ "label": "◊",
+ }
+ "A(FR_B)": {
+ "key": "FR_SS",
+ "label": "ß",
+ }
+ "A(FR_N)": {
+ "key": "FR_TILD",
+ "label": "~ (dead)",
+ }
+ "A(FR_COMM)": {
+ "key": "FR_INFN",
+ "label": "∞",
+ }
+ "A(FR_SCLN)": {
+ "key": "FR_ELLP",
+ "label": "…",
+ }
+ "A(FR_COLN)": {
+ "key": "FR_DIV",
+ "label": "÷",
+ }
+ "A(FR_EQL)": {
+ "key": "FR_NEQL",
+ "label": "≠",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(A(FR_AT))": {
+ "key": "FR_CYDI",
+ "label": "Ÿ",
+ }
+ "S(A(FR_AMPR))": {
+ "key": "FR_ACUT",
+ "label": "´ (dead)",
+ }
+ "S(A(FR_LEAC))": {
+ "key": "FR_DLQU",
+ "label": "„",
+ }
+ "S(A(FR_LPRN))": {
+ "key": "FR_LBRC",
+ "label": "[",
+ }
+ "S(A(FR_SECT))": {
+ "key": "FR_LARI",
+ "label": "å",
+ }
+ "S(A(FR_LEGR))": {
+ "key": "FR_RDAQ",
+ "label": "»",
+ }
+ "S(A(FR_EXLM))": {
+ "key": "FR_CUCI",
+ "label": "Û",
+ }
+ "S(A(FR_LCCE))": {
+ "key": "FR_CAAC",
+ "label": "Á",
+ }
+ "S(A(FR_RPRN))": {
+ "key": "FR_RBRC",
+ "label": "]",
+ }
+ "S(A(FR_MINS))": {
+ "key": "FR_NDSH",
+ "label": "–",
+ }
+ "S(A(FR_Z))": {
+ "key": "FR_CARI",
+ "label": "Å",
+ }
+ "S(A(FR_R))": {
+ "key": "FR_SLQU",
+ "label": "‚",
+ }
+ "S(A(FR_T))": {
+ "key": "FR_TM",
+ "label": "™",
+ }
+ "S(A(FR_U))": {
+ "key": "FR_FORD",
+ "label": "ª",
+ }
+ "S(A(FR_I))": {
+ "key": "FR_LIDI",
+ "label": "ï",
+ }
+ "S(A(FR_P))": {
+ "key": "FR_NARP",
+ "label": "∏",
+ }
+ "S(A(FR_DLR))": {
+ "key": "FR_YEN",
+ "label": "¥",
+ }
+ "S(A(FR_Q))": {
+ "key": "FR_OMEG",
+ "label": "Ω",
+ }
+ "S(A(FR_S))": {
+ "key": "FR_NARS",
+ "label": "∑",
+ }
+ "S(A(FR_D))": {
+ "key": "FR_INCR",
+ "label": "∆",
+ }
+ "S(A(FR_F))": {
+ "key": "FR_MDDT",
+ "label": "·",
+ }
+ "S(A(FR_G))": {
+ "key": "FR_FL",
+ "label": "fl",
+ }
+ "S(A(FR_H))": {
+ "key": "FR_CICI",
+ "label": "Î",
+ }
+ "S(A(FR_J))": {
+ "key": "FR_CIAC",
+ "label": "Í",
+ }
+ "S(A(FR_K))": {
+ "key": "FR_CEDI",
+ "label": "Ë",
+ }
+ "S(A(FR_L))": {
+ "key": "FR_PIPE",
+ "label": "|",
+ }
+ "S(A(FR_M))": {
+ "key": "FR_COAC",
+ "label": "Ó",
+ }
+ "S(A(FR_LUGR))": {
+ "key": "FR_PERM",
+ "label": "‰",
+ }
+ "S(A(FR_LABK))": {
+ "key": "FR_GTEQ",
+ "label": "≥",
+ }
+ "S(A(FR_W))": {
+ "key": "FR_RSAQ",
+ "label": "›",
+ }
+ "S(A(FR_X))": {
+ "key": "FR_FRSL",
+ "label": "⁄",
+ }
+ "S(A(FR_C))": {
+ "key": "FR_CENT",
+ "label": "¢",
+ }
+ "S(A(FR_V))": {
+ "key": "FR_SQRT",
+ "label": "√",
+ }
+ "S(A(FR_B))": {
+ "key": "FR_INTG",
+ "label": "∫",
+ }
+ "S(A(FR_N))": {
+ "key": "FR_DLSI",
+ "label": "ı",
+ }
+ "S(A(FR_COMM))": {
+ "key": "FR_IQUE",
+ "label": "¿",
+ }
+ "S(A(FR_COLN))": {
+ "key": "FR_BSLS",
+ "label": "\\",
+ }
+ "S(A(FR_EQL))": {
+ "key": "FR_PLMN",
+ "label": "±",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "DE_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_1": {
+ "key": "DE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "DE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "DE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "DE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "DE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "DE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "DE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "DE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "DE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "DE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "DE_SS",
+ "label": "ß",
+ }
+ "KC_EQL": {
+ "key": "DE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "DE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "DE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "DE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "DE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "DE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "DE_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "DE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "DE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "DE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "DE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "DE_UDIA",
+ "label": "Ü",
+ }
+ "KC_RBRC": {
+ "key": "DE_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "DE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "DE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "DE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "DE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "DE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "DE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "DE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "DE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "DE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "DE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "DE_ADIA",
+ "label": "Ä",
+ }
+ "KC_NUHS": {
+ "key": "DE_HASH",
+ "label": "#",
+ }
+ "KC_NUBS": {
+ "key": "DE_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "DE_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "DE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "DE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "DE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "DE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "DE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "DE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "DE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "DE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "DE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(DE_CIRC)": {
+ "key": "DE_DEG",
+ "label": "°",
+ }
+ "S(DE_1)": {
+ "key": "DE_EXLM",
+ "label": "!",
+ }
+ "S(DE_2)": {
+ "key": "DE_DQUO",
+ "label": "\"",
+ }
+ "S(DE_3)": {
+ "key": "DE_SECT",
+ "label": "§",
+ }
+ "S(DE_4)": {
+ "key": "DE_DLR",
+ "label": "$",
+ }
+ "S(DE_5)": {
+ "key": "DE_PERC",
+ "label": "%",
+ }
+ "S(DE_6)": {
+ "key": "DE_AMPR",
+ "label": "&",
+ }
+ "S(DE_7)": {
+ "key": "DE_SLSH",
+ "label": "/",
+ }
+ "S(DE_8)": {
+ "key": "DE_LPRN",
+ "label": "(",
+ }
+ "S(DE_9)": {
+ "key": "DE_RPRN",
+ "label": ")",
+ }
+ "S(DE_0)": {
+ "key": "DE_EQL",
+ "label": "=",
+ }
+ "S(DE_SS)": {
+ "key": "DE_QUES",
+ "label": "?",
+ }
+ "S(DE_ACUT)": {
+ "key": "DE_GRV",
+ "label": "` (dead)",
+ }
+ "S(DE_PLUS)": {
+ "key": "DE_ASTR",
+ "label": "*",
+ }
+ "S(DE_HASH)": {
+ "key": "DE_QUOT",
+ "label": "'",
+ }
+ "S(DE_LABK)": {
+ "key": "DE_RABK",
+ "label": ">",
+ }
+ "S(DE_COMM)": {
+ "key": "DE_SCLN",
+ "label": ";",
+ }
+ "S(DE_DOT)": {
+ "key": "DE_COLN",
+ "label": ":",
+ }
+ "S(DE_MINS)": {
+ "key": "DE_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ ² │ ³ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(DE_2)": {
+ "key": "DE_SUP2",
+ "label": "²",
+ }
+ "ALGR(DE_3)": {
+ "key": "DE_SUP3",
+ "label": "³",
+ }
+ "ALGR(DE_7)": {
+ "key": "DE_LCBR",
+ "label": "{",
+ }
+ "ALGR(DE_8)": {
+ "key": "DE_LBRC",
+ "label": "[",
+ }
+ "ALGR(DE_9)": {
+ "key": "DE_RBRC",
+ "label": "]",
+ }
+ "ALGR(DE_0)": {
+ "key": "DE_RCBR",
+ "label": "}",
+ }
+ "ALGR(DE_SS)": {
+ "key": "DE_BSLS",
+ "label": "\\",
+ }
+ "ALGR(DE_Q)": {
+ "key": "DE_AT",
+ "label": "@",
+ }
+ "ALGR(DE_E)": {
+ "key": "DE_EURO",
+ "label": "€",
+ }
+ "ALGR(DE_PLUS)": {
+ "key": "DE_TILD",
+ "label": "~",
+ }
+ "ALGR(DE_LABK)": {
+ "key": "DE_PIPE",
+ "label": "|",
+ }
+ "ALGR(DE_M)": {
+ "key": "DE_MICR",
+ "label": "µ",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "DE_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_1": {
+ "key": "DE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "DE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "DE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "DE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "DE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "DE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "DE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "DE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "DE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "DE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "DE_SS",
+ "label": "ß",
+ }
+ "KC_EQL": {
+ "key": "DE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "DE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "DE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "DE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "DE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "DE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "DE_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "DE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "DE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "DE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "DE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "DE_UDIA",
+ "label": "Ü",
+ }
+ "KC_RBRC": {
+ "key": "DE_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "DE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "DE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "DE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "DE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "DE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "DE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "DE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "DE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "DE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "DE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "DE_ADIA",
+ "label": "Ä",
+ }
+ "KC_NUHS": {
+ "key": "DE_HASH",
+ "label": "#",
+ }
+ "KC_NUBS": {
+ "key": "DE_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "DE_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "DE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "DE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "DE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "DE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "DE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "DE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "DE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "DE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "DE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(DE_CIRC)": {
+ "key": "DE_DEG",
+ "label": "°",
+ }
+ "S(DE_1)": {
+ "key": "DE_EXLM",
+ "label": "!",
+ }
+ "S(DE_2)": {
+ "key": "DE_DQUO",
+ "label": "\"",
+ }
+ "S(DE_3)": {
+ "key": "DE_SECT",
+ "label": "§",
+ }
+ "S(DE_4)": {
+ "key": "DE_DLR",
+ "label": "$",
+ }
+ "S(DE_5)": {
+ "key": "DE_PERC",
+ "label": "%",
+ }
+ "S(DE_6)": {
+ "key": "DE_AMPR",
+ "label": "&",
+ }
+ "S(DE_7)": {
+ "key": "DE_SLSH",
+ "label": "/",
+ }
+ "S(DE_8)": {
+ "key": "DE_LPRN",
+ "label": "(",
+ }
+ "S(DE_9)": {
+ "key": "DE_RPRN",
+ "label": ")",
+ }
+ "S(DE_0)": {
+ "key": "DE_EQL",
+ "label": "=",
+ }
+ "S(DE_SS)": {
+ "key": "DE_QUES",
+ "label": "?",
+ }
+ "S(DE_ACUT)": {
+ "key": "DE_GRV",
+ "label": "` (dead)",
+ }
+ "S(DE_PLUS)": {
+ "key": "DE_ASTR",
+ "label": "*",
+ }
+ "S(DE_HASH)": {
+ "key": "DE_QUOT",
+ "label": "'",
+ }
+ "S(DE_LABK)": {
+ "key": "DE_RABK",
+ "label": ">",
+ }
+ "S(DE_COMM)": {
+ "key": "DE_SCLN",
+ "label": ";",
+ }
+ "S(DE_DOT)": {
+ "key": "DE_COLN",
+ "label": ":",
+ }
+ "S(DE_MINS)": {
+ "key": "DE_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "A(DE_CIRC)": {
+ "key": "DE_DLQU",
+ "label": "„",
+ }
+ "A(DE_1)": {
+ "key": "DE_IEXL",
+ "label": "¡",
+ }
+ "A(DE_2)": {
+ "key": "DE_LDQU",
+ "label": "“",
+ }
+ "A(DE_3)": {
+ "key": "DE_PILC",
+ "label": "¶",
+ }
+ "A(DE_4)": {
+ "key": "DE_CENT",
+ "label": "¢",
+ }
+ "A(DE_5)": {
+ "key": "DE_LBRC",
+ "label": "[",
+ }
+ "A(DE_6)": {
+ "key": "DE_RBRC",
+ "label": "]",
+ }
+ "A(DE_7)": {
+ "key": "DE_PIPE",
+ "label": "|",
+ }
+ "A(DE_8)": {
+ "key": "DE_LCBR",
+ "label": "{",
+ }
+ "A(DE_9)": {
+ "key": "DE_RCBR",
+ "label": "}",
+ }
+ "A(DE_0)": {
+ "key": "DE_NEQL",
+ "label": "≠",
+ }
+ "A(DE_SS)": {
+ "key": "DE_IQUE",
+ "label": "¿",
+ }
+ "A(DE_Q)": {
+ "key": "DE_LDAQ",
+ "label": "«",
+ }
+ "A(DE_W)": {
+ "key": "DE_NARS",
+ "label": "∑",
+ }
+ "A(DE_E)": {
+ "key": "DE_EURO",
+ "label": "€",
+ }
+ "A(DE_R)": {
+ "key": "DE_REGD",
+ "label": "®",
+ }
+ "A(DE_T)": {
+ "key": "DE_DAGG",
+ "label": "†",
+ }
+ "A(DE_Z)": {
+ "key": "DE_OMEG",
+ "label": "Ω",
+ }
+ "A(DE_U)": {
+ "key": "DE_DIAE",
+ "label": "¨ (dead)",
+ }
+ "A(DE_I)": {
+ "key": "DE_FRSL",
+ "label": "⁄",
+ }
+ "A(DE_O)": {
+ "key": "DE_OSTR",
+ "label": "Ø",
+ }
+ "A(DE_P)": {
+ "key": "DE_PI",
+ "label": "π",
+ }
+ "A(DE_UDIA)": {
+ "key": "DE_BULT",
+ "label": "•",
+ }
+ "A(DE_PLUS)": {
+ "key": "DE_PLMN",
+ "label": "±",
+ }
+ "A(DE_A)": {
+ "key": "DE_ARNG",
+ "label": "Å",
+ }
+ "A(DE_S)": {
+ "key": "DE_SLQU",
+ "label": "‚",
+ }
+ "A(DE_D)": {
+ "key": "DE_PDIF",
+ "label": "∂",
+ }
+ "A(DE_F)": {
+ "key": "DE_FHK",
+ "label": "ƒ",
+ }
+ "A(DE_G)": {
+ "key": "DE_COPY",
+ "label": "©",
+ }
+ "A(DE_H)": {
+ "key": "DE_FORD",
+ "label": "ª",
+ }
+ "A(DE_J)": {
+ "key": "DE_MORD",
+ "label": "º",
+ }
+ "A(DE_K)": {
+ "key": "DE_INCR",
+ "label": "∆",
+ }
+ "A(DE_L)": {
+ "key": "DE_AT",
+ "label": "@",
+ }
+ "A(DE_ODIA)": {
+ "key": "DE_OE",
+ "label": "Œ",
+ }
+ "A(DE_ADIA)": {
+ "key": "DE_AE",
+ "label": "Æ",
+ }
+ "A(DE_HASH)": {
+ "key": "DE_LSQU",
+ "label": "‘",
+ }
+ "A(DE_LABK)": {
+ "key": "DE_LTEQ",
+ "label": "≤",
+ }
+ "A(DE_Y)": {
+ "key": "DE_YEN",
+ "label": "¥",
+ }
+ "A(DE_X)": {
+ "key": "DE_AEQL",
+ "label": "≈",
+ }
+ "A(DE_C)": {
+ "key": "DE_CCCE",
+ "label": "Ç",
+ }
+ "A(DE_V)": {
+ "key": "DE_SQRT",
+ "label": "√",
+ }
+ "A(DE_B)": {
+ "key": "DE_INTG",
+ "label": "∫",
+ }
+ "A(DE_N)": {
+ "key": "DE_TILD",
+ "label": "~ (dead)",
+ }
+ "A(DE_M)": {
+ "key": "DE_MICR",
+ "label": "µ",
+ }
+ "A(DE_COMM)": {
+ "key": "DE_INFN",
+ "label": "∞",
+ }
+ "A(DE_DOT)": {
+ "key": "DE_ELLP",
+ "label": "…",
+ }
+ "A(DE_MINS)": {
+ "key": "DE_NDSH",
+ "label": "–",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │  │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(A(DE_1))": {
+ "key": "DE_NOT",
+ "label": "¬",
+ }
+ "S(A(DE_2))": {
+ "key": "DE_RDQU",
+ "label": "”",
+ }
+ "S(A(DE_4))": {
+ "key": "DE_PND",
+ "label": "£",
+ }
+ "S(A(DE_5))": {
+ "key": "DE_FI",
+ "label": "fi",
+ }
+ "S(A(DE_7))": {
+ "key": "DE_BSLS",
+ "label": "\\",
+ }
+ "S(A(DE_8))": {
+ "key": "DE_STIL",
+ "label": "˜",
+ }
+ "S(A(DE_9))": {
+ "key": "DE_MDDT",
+ "label": "·",
+ }
+ "S(A(DE_0))": {
+ "key": "DE_MACR",
+ "label": "¯",
+ }
+ "S(A(DE_SS))": {
+ "key": "DE_DOTA",
+ "label": "˙",
+ }
+ "S(A(DE_ACUT))": {
+ "key": "DE_RNGA",
+ "label": "˚",
+ }
+ "S(A(DE_Q))": {
+ "key": "DE_RDAQ",
+ "label": "»",
+ }
+ "S(A(DE_E))": {
+ "key": "DE_PERM",
+ "label": "‰",
+ }
+ "S(A(DE_R))": {
+ "key": "DE_CEDL",
+ "label": "¸",
+ }
+ "S(A(DE_T))": {
+ "key": "DE_DACU",
+ "label": "˝",
+ }
+ "S(A(DE_Z))": {
+ "key": "DE_CARN",
+ "label": "ˇ",
+ }
+ "S(A(DE_U))": {
+ "key": "DE_AACU",
+ "label": "Á",
+ }
+ "S(A(DE_I))": {
+ "key": "DE_UCIR",
+ "label": "Û",
+ }
+ "S(A(DE_P))": {
+ "key": "DE_NARP",
+ "label": "∏",
+ }
+ "S(A(DE_PLUS))": {
+ "key": "DE_APPL",
+ "label": " (Apple logo)",
+ }
+ "S(A(DE_S))": {
+ "key": "DE_IACU",
+ "label": "Í",
+ }
+ "S(A(DE_D))": {
+ "key": "DE_TM",
+ "label": "™",
+ }
+ "S(A(DE_F))": {
+ "key": "DE_IDIA",
+ "label": "Ï",
+ }
+ "S(A(DE_G))": {
+ "key": "DE_IGRV",
+ "label": "Ì",
+ }
+ "S(A(DE_H))": {
+ "key": "DE_OACU",
+ "label": "Ó",
+ }
+ "S(A(DE_J))": {
+ "key": "DE_DLSI",
+ "label": "ı",
+ }
+ "S(A(DE_L))": {
+ "key": "DE_FL",
+ "label": "fl",
+ }
+ "S(A(DE_LABK))": {
+ "key": "DE_GTEQ",
+ "label": "≥",
+ }
+ "S(A(DE_Y))": {
+ "key": "DE_DDAG",
+ "label": "‡",
+ }
+ "S(A(DE_X))": {
+ "key": "DE_UGRV",
+ "label": "Ù",
+ }
+ "S(A(DE_V))": {
+ "key": "DE_LOZN",
+ "label": "◊",
+ }
+ "S(A(DE_B))": {
+ "key": "DE_LSAQ",
+ "label": "‹",
+ }
+ "S(A(DE_N))": {
+ "key": "DE_RSAQ",
+ "label": "›",
+ }
+ "S(A(DE_M))": {
+ "key": "DE_BREV",
+ "label": "˘",
+ }
+ "S(A(DE_COMM))": {
+ "key": "DE_OGON",
+ "label": "˛",
+ }
+ "S(A(DE_DOT))": {
+ "key": "DE_DIV",
+ "label": "÷",
+ }
+ "S(A(DE_MINS))": {
+ "key": "DE_MDSH",
+ "label": "—",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ; │ ς │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ΄ │ ' │ \ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ , │ . │ / │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "GR_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "GR_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "GR_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "GR_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "GR_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "GR_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "GR_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "GR_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "GR_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "GR_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "GR_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "GR_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "GR_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "GR_SCLN",
+ "label": ";",
+ }
+ "KC_W": {
+ "key": "GR_FSIG",
+ "label": "ς",
+ }
+ "KC_E": {
+ "key": "GR_EPSL",
+ "label": "Ε",
+ }
+ "KC_R": {
+ "key": "GR_RHO",
+ "label": "Ρ",
+ }
+ "KC_T": {
+ "key": "GR_TAU",
+ "label": "Τ",
+ }
+ "KC_Y": {
+ "key": "GR_UPSL",
+ "label": "Υ",
+ }
+ "KC_U": {
+ "key": "GR_THET",
+ "label": "Θ",
+ }
+ "KC_I": {
+ "key": "GR_IOTA",
+ "label": "Ι",
+ }
+ "KC_O": {
+ "key": "GR_OMCR",
+ "label": "Ο",
+ }
+ "KC_P": {
+ "key": "GR_PI",
+ "label": "Π",
+ }
+ "KC_LBRC": {
+ "key": "GR_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "GR_RBRC",
+ "label": "]",
+ }
+ "KC_A": {
+ "key": "GR_ALPH",
+ "label": "Α",
+ }
+ "KC_S": {
+ "key": "GR_SIGM",
+ "label": "Σ",
+ }
+ "KC_D": {
+ "key": "GR_DELT",
+ "label": "Δ",
+ }
+ "KC_F": {
+ "key": "GR_PHI",
+ "label": "Φ",
+ }
+ "KC_G": {
+ "key": "GR_GAMM",
+ "label": "Γ",
+ }
+ "KC_H": {
+ "key": "GR_ETA",
+ "label": "Η",
+ }
+ "KC_J": {
+ "key": "GR_XI",
+ "label": "Ξ",
+ }
+ "KC_K": {
+ "key": "GR_KAPP",
+ "label": "Κ",
+ }
+ "KC_L": {
+ "key": "GR_LAMB",
+ "label": "Λ",
+ }
+ "KC_SCLN": {
+ "key": "GR_TONS",
+ "label": "΄ (dead)",
+ }
+ "KC_QUOT": {
+ "key": "GR_QUOT",
+ "label": "'",
+ }
+ "KC_NUHS": {
+ "key": "GR_BSLS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "GR_ZETA",
+ "label": "Ζ",
+ }
+ "KC_X": {
+ "key": "GR_CHI",
+ "label": "Χ",
+ }
+ "KC_C": {
+ "key": "GR_PSI",
+ "label": "Ψ",
+ }
+ "KC_V": {
+ "key": "GR_OMEG",
+ "label": "Ω",
+ }
+ "KC_B": {
+ "key": "GR_BETA",
+ "label": "Β",
+ }
+ "KC_N": {
+ "key": "GR_NU",
+ "label": "Ν",
+ }
+ "KC_M": {
+ "key": "GR_MU",
+ "label": "Μ",
+ }
+ "KC_COMM": {
+ "key": "GR_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "GR_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "GR_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ : │ ΅ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ ¨ │ " │ | │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(GR_GRV)": {
+ "key": "GR_TILD",
+ "label": "~",
+ }
+ "S(GR_1)": {
+ "key": "GR_EXLM",
+ "label": "!",
+ }
+ "S(GR_2)": {
+ "key": "GR_AT",
+ "label": "@",
+ }
+ "S(GR_3)": {
+ "key": "GR_HASH",
+ "label": "#",
+ }
+ "S(GR_4)": {
+ "key": "GR_DLR",
+ "label": "$",
+ }
+ "S(GR_5)": {
+ "key": "GR_PERC",
+ "label": "%",
+ }
+ "S(GR_6)": {
+ "key": "GR_CIRC",
+ "label": "^",
+ }
+ "S(GR_7)": {
+ "key": "GR_AMPR",
+ "label": "&",
+ }
+ "S(GR_8)": {
+ "key": "GR_ASTR",
+ "label": "*",
+ }
+ "S(GR_9)": {
+ "key": "GR_LPRN",
+ "label": "(",
+ }
+ "S(GR_0)": {
+ "key": "GR_RPRN",
+ "label": ")",
+ }
+ "S(GR_MINS)": {
+ "key": "GR_UNDS",
+ "label": "_",
+ }
+ "S(GR_EQL)": {
+ "key": "GR_PLUS",
+ "label": "+",
+ }
+ "S(GR_SCLN)": {
+ "key": "GR_COLN",
+ "label": ":",
+ }
+ "S(GR_FSIG)": {
+ "key": "GR_DIAT",
+ "label": "΅ (dead)",
+ }
+ "S(GR_LBRC)": {
+ "key": "GR_LCBR",
+ "label": "{",
+ }
+ "S(GR_RBRC)": {
+ "key": "GR_RCBR",
+ "label": "}",
+ }
+ "S(GR_TONS)": {
+ "key": "GR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(GR_QUOT)": {
+ "key": "GR_DQUO",
+ "label": "\"",
+ }
+ "S(GR_BSLS)": {
+ "key": "GR_PIPE",
+ "label": "|",
+ }
+ "S(GR_COMM)": {
+ "key": "GR_LABK",
+ "label": "<",
+ }
+ "S(GR_DOT)": {
+ "key": "GR_RABK",
+ "label": ">",
+ }
+ "S(GR_SLSH)": {
+ "key": "GR_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ ² │ ³ │ £ │ § │ ¶ │ │ ¤ │ ¦ │ ° │ ± │ ½ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ ® │ │ ¥ │ │ │ │ │ « │ » │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ¬ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ © │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(GR_2)": {
+ "key": "GR_SUP2",
+ "label": "²",
+ }
+ "ALGR(GR_3)": {
+ "key": "GR_SUP3",
+ "label": "³",
+ }
+ "ALGR(GR_4)": {
+ "key": "GR_PND",
+ "label": "£",
+ }
+ "ALGR(GR_5)": {
+ "key": "GR_SECT",
+ "label": "§",
+ }
+ "ALGR(GR_6)": {
+ "key": "GR_PILC",
+ "label": "¶",
+ }
+ "ALGR(GR_8)": {
+ "key": "GR_CURR",
+ "label": "¤",
+ }
+ "ALGR(GR_9)": {
+ "key": "GR_BRKP",
+ "label": "¦",
+ }
+ "ALGR(GR_0)": {
+ "key": "GR_DEG",
+ "label": "°",
+ }
+ "ALGR(GR_MINS)": {
+ "key": "GR_PLMN",
+ "label": "±",
+ }
+ "ALGR(GR_EQL)": {
+ "key": "GR_HALF",
+ "label": "½",
+ }
+ "ALGR(GR_EPSL)": {
+ "key": "GR_EURO",
+ "label": "€",
+ }
+ "ALGR(GR_RHO)": {
+ "key": "GR_REGD",
+ "label": "®",
+ }
+ "ALGR(GR_UPSL)": {
+ "key": "GR_YEN",
+ "label": "¥",
+ }
+ "ALGR(GR_LBRC)": {
+ "key": "GR_LDAQ",
+ "label": "«",
+ }
+ "ALGR(GR_RBRC)": {
+ "key": "GR_RDAQ",
+ "label": "»",
+ }
+ "ALGR(GR_BSLS)": {
+ "key": "GR_NOT",
+ "label": "¬",
+ }
+ "ALGR(GR_PSI)": {
+ "key": "GR_COPY",
+ "label": "©",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "IL_SCLN",
+ "label": ";",
+ }
+ "KC_1": {
+ "key": "IL_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "IL_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "IL_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "IL_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "IL_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "IL_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "IL_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "IL_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "IL_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "IL_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "IL_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "IL_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "IL_SLSH",
+ "label": "/",
+ }
+ "KC_W": {
+ "key": "IL_QUOT",
+ "label": "'",
+ }
+ "KC_E": {
+ "key": "IL_QOF",
+ "label": "ק",
+ }
+ "KC_R": {
+ "key": "IL_RESH",
+ "label": "ר",
+ }
+ "KC_T": {
+ "key": "IL_ALEF",
+ "label": "א",
+ }
+ "KC_Y": {
+ "key": "IL_TET",
+ "label": "ט",
+ }
+ "KC_U": {
+ "key": "IL_VAV",
+ "label": "ו",
+ }
+ "KC_I": {
+ "key": "IL_FNUN",
+ "label": "ן",
+ }
+ "KC_O": {
+ "key": "IL_FMEM",
+ "label": "ם",
+ }
+ "KC_P": {
+ "key": "IL_PE",
+ "label": "פ",
+ }
+ "KC_LBRC": {
+ "key": "IL_RBRC",
+ "label": "]",
+ }
+ "KC_RBRC": {
+ "key": "IL_LBRC",
+ "label": "[",
+ }
+ "KC_A": {
+ "key": "IL_SHIN",
+ "label": "ש",
+ }
+ "KC_S": {
+ "key": "IL_DALT",
+ "label": "ד",
+ }
+ "KC_D": {
+ "key": "IL_GIML",
+ "label": "ג",
+ }
+ "KC_F": {
+ "key": "IL_KAF",
+ "label": "כ",
+ }
+ "KC_G": {
+ "key": "IL_AYIN",
+ "label": "ע",
+ }
+ "KC_H": {
+ "key": "IL_YOD",
+ "label": "י",
+ }
+ "KC_J": {
+ "key": "IL_HET",
+ "label": "ח",
+ }
+ "KC_K": {
+ "key": "IL_LAMD",
+ "label": "ל",
+ }
+ "KC_L": {
+ "key": "IL_FKAF",
+ "label": "ך",
+ }
+ "KC_SCLN": {
+ "key": "IL_FPE",
+ "label": "ף",
+ }
+ "KC_QUOT": {
+ "key": "IL_COMM",
+ "label": ",",
+ }
+ "KC_NUHS": {
+ "key": "IL_BSLS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "IL_ZAYN",
+ "label": "ז",
+ }
+ "KC_X": {
+ "key": "IL_SMKH",
+ "label": "ס",
+ }
+ "KC_C": {
+ "key": "IL_BET",
+ "label": "ב",
+ }
+ "KC_V": {
+ "key": "IL_HE",
+ "label": "ה",
+ }
+ "KC_B": {
+ "key": "IL_NUN",
+ "label": "נ",
+ }
+ "KC_N": {
+ "key": "IL_MEM",
+ "label": "מ",
+ }
+ "KC_M": {
+ "key": "IL_TSDI",
+ "label": "צ",
+ }
+ "KC_COMM": {
+ "key": "IL_TAV",
+ "label": "ת",
+ }
+ "KC_DOT": {
+ "key": "IL_FTSD",
+ "label": "ץ",
+ }
+ "KC_SLSH": {
+ "key": "IL_DOT",
+ "label": ".",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ } │ { │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ > │ < │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(IL_SCLN)": {
+ "key": "IL_TILD",
+ "label": "~",
+ }
+ "S(IL_1)": {
+ "key": "IL_EXLM",
+ "label": "!",
+ }
+ "S(IL_2)": {
+ "key": "IL_AT",
+ "label": "@",
+ }
+ "S(IL_3)": {
+ "key": "IL_PND",
+ "label": "#",
+ }
+ "S(IL_4)": {
+ "key": "IL_DLR",
+ "label": "$",
+ }
+ "S(IL_5)": {
+ "key": "IL_PERC",
+ "label": "%",
+ }
+ "S(IL_6)": {
+ "key": "IL_CIRC",
+ "label": "^",
+ }
+ "S(IL_7)": {
+ "key": "IL_AMPR",
+ "label": "&",
+ }
+ "S(IL_8)": {
+ "key": "IL_ASTR",
+ "label": "*",
+ }
+ "S(IL_9)": {
+ "key": "IL_RPRN",
+ "label": ")",
+ }
+ "S(IL_0)": {
+ "key": "IL_LPRN",
+ "label": "(",
+ }
+ "S(IL_MINS)": {
+ "key": "IL_UNDS",
+ "label": "_",
+ }
+ "S(IL_EQL)": {
+ "key": "IL_PLUS",
+ "label": "+",
+ }
+ "S(IL_RBRC)": {
+ "key": "IL_RCBR",
+ "label": "}",
+ }
+ "S(IL_LBRC)": {
+ "key": "IL_LCBR",
+ "label": "{",
+ }
+ "S(IL_FPE)": {
+ "key": "IL_COLN",
+ "label": ":",
+ }
+ "S(IL_COMM)": {
+ "key": "IL_DQUO",
+ "label": "\"",
+ }
+ "S(IL_BSLS)": {
+ "key": "IL_PIPE",
+ "label": "|",
+ }
+ "S(IL_TAV)": {
+ "key": "IL_RABK",
+ "label": ">",
+ }
+ "S(IL_FTSD)": {
+ "key": "IL_LABK",
+ "label": "<",
+ }
+ "S(IL_DOT)": {
+ "key": "IL_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ € │ ₪ │ ° │ │ │ × │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ װ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ ײ │ ױ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ÷ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(IL_3)": {
+ "key": "IL_EURO",
+ "label": "€",
+ }
+ "ALGR(IL_4)": {
+ "key": "IL_SHKL",
+ "label": "₪",
+ }
+ "ALGR(IL_5)": {
+ "key": "IL_DEG",
+ "label": "°",
+ }
+ "ALGR(IL_8)": {
+ "key": "IL_MUL",
+ "label": "×",
+ }
+ "ALGR(IL_TET)": {
+ "key": "IL_DVAV",
+ "label": "װ",
+ }
+ "ALGR(IL_AYIN)": {
+ "key": "IL_VYOD",
+ "label": "ױ",
+ }
+ "ALGR(IL_YOD)": {
+ "key": "IL_DYOD",
+ "label": "ײ",
+ }
+ "ALGR(IL_DOT)": {
+ "key": "IL_DIV",
+ "label": "÷",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ Ö │ Ü │ Ó │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ő │ Ú │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ É │ Á │ Ű │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ Í │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "HU_0",
+ "label": "0",
+ }
+ "KC_1": {
+ "key": "HU_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "HU_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "HU_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "HU_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "HU_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "HU_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "HU_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "HU_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "HU_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "HU_ODIA",
+ "label": "Ö",
+ }
+ "KC_MINS": {
+ "key": "HU_UDIA",
+ "label": "Ü",
+ }
+ "KC_EQL": {
+ "key": "HU_OACU",
+ "label": "Ó",
+ }
+ "KC_Q": {
+ "key": "HU_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "HU_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "HU_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "HU_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "HU_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "HU_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "HU_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "HU_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "HU_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "HU_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "HU_ODAC",
+ "label": "Ő",
+ }
+ "KC_RBRC": {
+ "key": "HU_UACU",
+ "label": "Ú",
+ }
+ "KC_A": {
+ "key": "HU_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "HU_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "HU_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "HU_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "HU_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "HU_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "HU_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "HU_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "HU_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "HU_EACU",
+ "label": "É",
+ }
+ "KC_QUOT": {
+ "key": "HU_AACU",
+ "label": "Á",
+ }
+ "KC_NUHS": {
+ "key": "HU_UDAC",
+ "label": "Ű",
+ }
+ "KC_NUBS": {
+ "key": "HU_IACU",
+ "label": "Í",
+ }
+ "KC_Z": {
+ "key": "HU_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "HU_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "HU_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "HU_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "HU_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "HU_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "HU_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "HU_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "HU_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "HU_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ § │ ' │ " │ + │ ! │ % │ / │ = │ ( │ ) │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(HU_0)": {
+ "key": "HU_SECT",
+ "label": "§",
+ }
+ "S(HU_1)": {
+ "key": "HU_QUOT",
+ "label": "'",
+ }
+ "S(HU_2)": {
+ "key": "HU_DQUO",
+ "label": "\"",
+ }
+ "S(HU_3)": {
+ "key": "HU_PLUS",
+ "label": "+",
+ }
+ "S(HU_4)": {
+ "key": "HU_EXLM",
+ "label": "!",
+ }
+ "S(HU_5)": {
+ "key": "HU_PERC",
+ "label": "%",
+ }
+ "S(HU_6)": {
+ "key": "HU_SLSH",
+ "label": "/",
+ }
+ "S(HU_7)": {
+ "key": "HU_EQL",
+ "label": "=",
+ }
+ "S(HU_8)": {
+ "key": "HU_LPRN",
+ "label": "(",
+ }
+ "S(HU_9)": {
+ "key": "HU_RPRN",
+ "label": ")",
+ }
+ "S(HU_COMM)": {
+ "key": "HU_QUES",
+ "label": "?",
+ }
+ "S(HU_DOT)": {
+ "key": "HU_COLN",
+ "label": ":",
+ }
+ "S(HU_MINS)": {
+ "key": "HU_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ \ │ | │ Ä │ │ │ │ € │ │ │ │ ÷ │ × │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ä │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ > │ # │ & │ @ │ { │ } │ │ ; │ │ * │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(HU_1)": {
+ "key": "HU_TILD",
+ "label": "~",
+ }
+ "ALGR(HU_2)": {
+ "key": "HU_CARN",
+ "label": "ˇ (dead)",
+ }
+ "ALGR(HU_3)": {
+ "key": "HU_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(HU_4)": {
+ "key": "HU_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(HU_5)": {
+ "key": "HU_RNGA",
+ "label": "° (dead)",
+ }
+ "ALGR(HU_6)": {
+ "key": "HU_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(HU_7)": {
+ "key": "HU_GRV",
+ "label": "`",
+ }
+ "ALGR(HU_8)": {
+ "key": "HU_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(HU_9)": {
+ "key": "HU_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(HU_ODIA)": {
+ "key": "HU_DACU",
+ "label": "˝ (dead)",
+ }
+ "ALGR(HU_UDIA)": {
+ "key": "HU_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(HU_OACU)": {
+ "key": "HU_CEDL",
+ "label": "¸ (dead)",
+ }
+ "ALGR(HU_Q)": {
+ "key": "HU_BSLS",
+ "label": "\\",
+ }
+ "ALGR(HU_W)": {
+ "key": "HU_PIPE",
+ "label": "|",
+ }
+ "ALGR(HU_E)": {
+ "key": "HU_CADI",
+ "label": "Ä",
+ }
+ "ALGR(HU_U)": {
+ "key": "HU_EURO",
+ "label": "€",
+ }
+ "ALGR(HU_ODAC)": {
+ "key": "HU_DIV",
+ "label": "÷",
+ }
+ "ALGR(HU_UACU)": {
+ "key": "HU_MUL",
+ "label": "×",
+ }
+ "ALGR(HU_A)": {
+ "key": "HU_LADI",
+ "label": "ä",
+ }
+ "ALGR(HU_S)": {
+ "key": "HU_LDST",
+ "label": "đ",
+ }
+ "ALGR(HU_D)": {
+ "key": "HU_CDST",
+ "label": "Đ",
+ }
+ "ALGR(HU_F)": {
+ "key": "HU_LBRC",
+ "label": "[",
+ }
+ "ALGR(HU_G)": {
+ "key": "HU_RBRC",
+ "label": "]",
+ }
+ "ALGR(HU_K)": {
+ "key": "HU_LLST",
+ "label": "ł",
+ }
+ "ALGR(HU_L)": {
+ "key": "HU_CLST",
+ "label": "Ł",
+ }
+ "ALGR(HU_EACU)": {
+ "key": "HU_DLR",
+ "label": "$",
+ }
+ "ALGR(HU_AACU)": {
+ "key": "HU_SS",
+ "label": "ß",
+ }
+ "ALGR(HU_UDAC)": {
+ "key": "HU_CURR",
+ "label": "¤",
+ }
+ "ALGR(HU_IACU)": {
+ "key": "HU_LABK",
+ "label": "<",
+ }
+ "ALGR(HU_Y)": {
+ "key": "HU_RABK",
+ "label": ">",
+ }
+ "ALGR(HU_X)": {
+ "key": "HU_HASH",
+ "label": "#",
+ }
+ "ALGR(HU_C)": {
+ "key": "HU_AMPR",
+ "label": "&",
+ }
+ "ALGR(HU_V)": {
+ "key": "HU_AT",
+ "label": "@",
+ }
+ "ALGR(HU_B)": {
+ "key": "HU_LCBR",
+ "label": "{",
+ }
+ "ALGR(HU_N)": {
+ "key": "HU_RCBR",
+ "label": "}",
+ }
+ "ALGR(HU_COMM)": {
+ "key": "HU_SCLN",
+ "label": ";",
+ }
+ "ALGR(HU_MINS)": {
+ "key": "HU_ASTR",
+ "label": "*",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ Ö │ - │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ð │ ' │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ ´ │ + │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Þ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "IS_RNGA",
+ "label": "° (dead)",
+ }
+ "KC_1": {
+ "key": "IS_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "IS_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "IS_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "IS_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "IS_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "IS_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "IS_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "IS_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "IS_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "IS_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "IS_ODIA",
+ "label": "Ö",
+ }
+ "KC_EQL": {
+ "key": "IS_MINS",
+ "label": "-",
+ }
+ "KC_Q": {
+ "key": "IS_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "IS_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "IS_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "IS_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "IS_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "IS_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "IS_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "IS_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "IS_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "IS_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "IS_ETH",
+ "label": "Ð",
+ }
+ "KC_RBRC": {
+ "key": "IS_QUOT",
+ "label": "'",
+ }
+ "KC_A": {
+ "key": "IS_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "IS_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "IS_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "IS_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "IS_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "IS_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "IS_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "IS_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "IS_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "IS_AE",
+ "label": "Æ",
+ }
+ "KC_QUOT": {
+ "key": "IS_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_NUHS": {
+ "key": "IS_PLUS",
+ "label": "+",
+ }
+ "KC_NUBS": {
+ "key": "IS_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "IS_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "IS_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "IS_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "IS_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "IS_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "IS_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "IS_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "IS_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "IS_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "IS_THRN",
+ "label": "Þ",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ │ _ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ? │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(IS_RNGA)": {
+ "key": "IS_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(IS_1)": {
+ "key": "IS_EXLM",
+ "label": "!",
+ }
+ "S(IS_2)": {
+ "key": "IS_DQUO",
+ "label": "\"",
+ }
+ "S(IS_3)": {
+ "key": "IS_HASH",
+ "label": "#",
+ }
+ "S(IS_4)": {
+ "key": "IS_DLR",
+ "label": "$",
+ }
+ "S(IS_5)": {
+ "key": "IS_PERC",
+ "label": "%",
+ }
+ "S(IS_6)": {
+ "key": "IS_AMPR",
+ "label": "&",
+ }
+ "S(IS_7)": {
+ "key": "IS_SLSH",
+ "label": "/",
+ }
+ "S(IS_8)": {
+ "key": "IS_LPRN",
+ "label": "(",
+ }
+ "S(IS_9)": {
+ "key": "IS_RPRN",
+ "label": ")",
+ }
+ "S(IS_0)": {
+ "key": "IS_EQL",
+ "label": "=",
+ }
+ "S(IS_MINS)": {
+ "key": "IS_UNDS",
+ "label": "_",
+ }
+ "S(IS_QUOT)": {
+ "key": "IS_QUES",
+ "label": "?",
+ }
+ "S(IS_PLUS)": {
+ "key": "IS_ASTR",
+ "label": "*",
+ }
+ "S(IS_LABK)": {
+ "key": "IS_RABK",
+ "label": ">",
+ }
+ "S(IS_COMM)": {
+ "key": "IS_SCLN",
+ "label": ";",
+ }
+ "S(IS_DOT)": {
+ "key": "IS_COLN",
+ "label": ":",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ° │ │ │ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ ` │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(IS_RNGA)": {
+ "key": "IS_DEG",
+ "label": "°",
+ }
+ "ALGR(IS_7)": {
+ "key": "IS_LCBR",
+ "label": "{",
+ }
+ "ALGR(IS_8)": {
+ "key": "IS_LBRC",
+ "label": "[",
+ }
+ "ALGR(IS_9)": {
+ "key": "IS_RBRC",
+ "label": "]",
+ }
+ "ALGR(IS_0)": {
+ "key": "IS_RCBR",
+ "label": "}",
+ }
+ "ALGR(IS_ODIA)": {
+ "key": "IS_BSLS",
+ "label": "\\",
+ }
+ "ALGR(IS_Q)": {
+ "key": "IS_AT",
+ "label": "@",
+ }
+ "ALGR(IS_E)": {
+ "key": "IS_EURO",
+ "label": "€",
+ }
+ "ALGR(IS_QUOT)": {
+ "key": "IS_TILD",
+ "label": "~",
+ }
+ "ALGR(IS_ACUT)": {
+ "key": "IS_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(IS_PLUS)": {
+ "key": "IS_GRV",
+ "label": "` (dead)",
+ }
+ "ALGR(IS_LABK)": {
+ "key": "IS_PIPE",
+ "label": "|",
+ }
+ "ALGR(IS_M)": {
+ "key": "IS_MICR",
+ "label": "µ",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "IE_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "IE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "IE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "IE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "IE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "IE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "IE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "IE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "IE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "IE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "IE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "IE_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "IE_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "IE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "IE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "IE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "IE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "IE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "IE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "IE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "IE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "IE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "IE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "IE_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "IE_RBRC",
+ "label": "]",
+ }
+ "KC_A": {
+ "key": "IE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "IE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "IE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "IE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "IE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "IE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "IE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "IE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "IE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "IE_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "IE_QUOT",
+ "label": "'",
+ }
+ "KC_NUHS": {
+ "key": "IE_HASH",
+ "label": "#",
+ }
+ "KC_NUBS": {
+ "key": "IE_BSLS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "IE_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "IE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "IE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "IE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "IE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "IE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "IE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "IE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "IE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "IE_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ : │ @ │ ~ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(IE_GRV)": {
+ "key": "IE_NOT",
+ "label": "¬",
+ }
+ "S(IE_1)": {
+ "key": "IE_EXLM",
+ "label": "!",
+ }
+ "S(IE_2)": {
+ "key": "IE_DQUO",
+ "label": "\"",
+ }
+ "S(IE_3)": {
+ "key": "IE_PND",
+ "label": "£",
+ }
+ "S(IE_4)": {
+ "key": "IE_DLR",
+ "label": "$",
+ }
+ "S(IE_5)": {
+ "key": "IE_PERC",
+ "label": "%",
+ }
+ "S(IE_6)": {
+ "key": "IE_CIRC",
+ "label": "^",
+ }
+ "S(IE_7)": {
+ "key": "IE_AMPR",
+ "label": "&",
+ }
+ "S(IE_8)": {
+ "key": "IE_ASTR",
+ "label": "*",
+ }
+ "S(IE_9)": {
+ "key": "IE_LPRN",
+ "label": "(",
+ }
+ "S(IE_0)": {
+ "key": "IE_RPRN",
+ "label": ")",
+ }
+ "S(IE_MINS)": {
+ "key": "IE_UNDS",
+ "label": "_",
+ }
+ "S(IE_EQL)": {
+ "key": "IE_PLUS",
+ "label": "+",
+ }
+ "S(IE_LBRC)": {
+ "key": "IE_LCBR",
+ "label": "{",
+ }
+ "S(IE_RBRC)": {
+ "key": "IE_RCBR",
+ "label": "}",
+ }
+ "S(IE_SCLN)": {
+ "key": "IE_COLN",
+ "label": ":",
+ }
+ "S(IE_QUOT)": {
+ "key": "IE_AT",
+ "label": "@",
+ }
+ "S(IE_HASH)": {
+ "key": "IE_TILD",
+ "label": "~",
+ }
+ "S(IE_BSLS)": {
+ "key": "IE_PIPE",
+ "label": "|",
+ }
+ "S(IE_COMM)": {
+ "key": "IE_LABK",
+ "label": "<",
+ }
+ "S(IE_DOT)": {
+ "key": "IE_RABK",
+ "label": ">",
+ }
+ "S(IE_SLSH)": {
+ "key": "IE_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¦ │ │ │ │ € │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ É │ │ │ │ Ú │ Í │ Ó │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Á │ │ │ │ │ │ │ │ │ │ ´ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(IE_GRV)": {
+ "key": "IE_BRKP",
+ "label": "¦",
+ }
+ "ALGR(IE_4)": {
+ "key": "IE_EURO",
+ "label": "€",
+ }
+ "ALGR(IE_E)": {
+ "key": "IE_EACU",
+ "label": "É",
+ }
+ "ALGR(IE_U)": {
+ "key": "IE_UACU",
+ "label": "Ú",
+ }
+ "ALGR(IE_I)": {
+ "key": "IE_IACU",
+ "label": "Í",
+ }
+ "ALGR(IE_O)": {
+ "key": "IE_OACU",
+ "label": "Ó",
+ }
+ "ALGR(IE_A)": {
+ "key": "IE_AACU",
+ "label": "Á",
+ }
+ "ALGR(IE_QUOT)": {
+ "key": "IE_ACUT",
+ "label": "´ (dead)",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "IT_BSLS",
+ "label": "\\",
+ }
+ "KC_1": {
+ "key": "IT_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "IT_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "IT_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "IT_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "IT_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "IT_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "IT_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "IT_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "IT_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "IT_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "IT_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "IT_IGRV",
+ "label": "ì",
+ }
+ "KC_Q": {
+ "key": "IT_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "IT_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "IT_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "IT_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "IT_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "IT_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "IT_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "IT_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "IT_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "IT_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "IT_EGRV",
+ "label": "è",
+ }
+ "KC_RBRC": {
+ "key": "IT_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "IT_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "IT_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "IT_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "IT_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "IT_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "IT_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "IT_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "IT_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "IT_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "IT_OGRV",
+ "label": "ò",
+ }
+ "KC_QUOT": {
+ "key": "IT_AGRV",
+ "label": "à",
+ }
+ "KC_NUHS": {
+ "key": "IT_UGRV",
+ "label": "ù",
+ }
+ "KC_NUBS": {
+ "key": "IT_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "IT_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "IT_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "IT_C",
+ "label": "C",
+ }
+ "KC_B": {
+ "key": "IT_B",
+ "label": "B",
+ }
+ "KC_V": {
+ "key": "IT_V",
+ "label": "V",
+ }
+ "KC_N": {
+ "key": "IT_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "IT_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "IT_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "IT_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "IT_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(IT_BSLS)": {
+ "key": "IT_PIPE",
+ "label": "|",
+ }
+ "S(IT_1)": {
+ "key": "IT_EXLM",
+ "label": "!",
+ }
+ "S(IT_2)": {
+ "key": "IT_DQUO",
+ "label": "\"",
+ }
+ "S(IT_3)": {
+ "key": "IT_PND",
+ "label": "£",
+ }
+ "S(IT_4)": {
+ "key": "IT_DLR",
+ "label": "$",
+ }
+ "S(IT_5)": {
+ "key": "IT_PERC",
+ "label": "%",
+ }
+ "S(IT_6)": {
+ "key": "IT_AMPR",
+ "label": "&",
+ }
+ "S(IT_7)": {
+ "key": "IT_SLSH",
+ "label": "/",
+ }
+ "S(IT_8)": {
+ "key": "IT_LPRN",
+ "label": "(",
+ }
+ "S(IT_9)": {
+ "key": "IT_RPRN",
+ "label": ")",
+ }
+ "S(IT_0)": {
+ "key": "IT_EQL",
+ "label": "=",
+ }
+ "S(IT_QUOT)": {
+ "key": "IT_QUES",
+ "label": "?",
+ }
+ "S(IT_IGRV)": {
+ "key": "IT_CIRC",
+ "label": "^",
+ }
+ "S(IT_EGRV)": {
+ "key": "IT_EACU",
+ "label": "é",
+ }
+ "S(IT_PLUS)": {
+ "key": "IT_ASTR",
+ "label": "*",
+ }
+ "S(IT_OGRV)": {
+ "key": "IT_CCED",
+ "label": "ç",
+ }
+ "S(IT_AGRV)": {
+ "key": "IT_DEG",
+ "label": "°",
+ }
+ "S(IT_UGRV)": {
+ "key": "IT_SECT",
+ "label": "§",
+ }
+ "S(IT_LABK)": {
+ "key": "IT_RABK",
+ "label": ">",
+ }
+ "S(IT_DOT)": {
+ "key": "IT_COLN",
+ "label": ":",
+ }
+ "S(IT_COMM)": {
+ "key": "IT_SCLN",
+ "label": ";",
+ }
+ "S(IT_MINS)": {
+ "key": "IT_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ @ │ # │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(IT_E)": {
+ "key": "IT_EURO",
+ "label": "€",
+ }
+ "ALGR(IT_EGRV)": {
+ "key": "IT_LBRC",
+ "label": "[",
+ }
+ "ALGR(IT_PLUS)": {
+ "key": "IT_RBRC",
+ "label": "]",
+ }
+ "ALGR(IT_OGRV)": {
+ "key": "IT_AT",
+ "label": "@",
+ }
+ "ALGR(IT_AGRV)": {
+ "key": "IT_HASH",
+ "label": "#",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(IT_EGRV))": {
+ "key": "IT_LCBR",
+ "label": "{",
+ }
+ "S(ALGR(IT_PLUS))": {
+ "key": "IT_RCBR",
+ "label": "}",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ ù │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "IT_LABK",
+ "label": "<",
+ }
+ "KC_1": {
+ "key": "IT_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "IT_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "IT_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "IT_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "IT_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "IT_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "IT_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "IT_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "IT_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "IT_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "IT_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "IT_IGRV",
+ "label": "ì",
+ }
+ "KC_Q": {
+ "key": "IT_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "IT_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "IT_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "IT_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "IT_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "IT_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "IT_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "IT_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "IT_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "IT_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "IT_EGRV",
+ "label": "è",
+ }
+ "KC_RBRC": {
+ "key": "IT_PLUS",
+ "label": "+",
+ }
+ "KC_BSLS": {
+ "key": "IT_UGRV",
+ "label": "ù",
+ }
+ "KC_A": {
+ "key": "IT_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "IT_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "IT_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "IT_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "IT_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "IT_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "IT_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "IT_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "IT_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "IT_OGRV",
+ "label": "ò",
+ }
+ "KC_QUOT": {
+ "key": "IT_AGRV",
+ "label": "à",
+ }
+ "KC_NUBS": {
+ "key": "IT_BSLS",
+ "label": "(backslash, not physically present)",
+ }
+ "KC_Z": {
+ "key": "IT_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "IT_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "IT_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "IT_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "IT_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "IT_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "IT_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "IT_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "IT_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "IT_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ > │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ § │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(IT_LABK)": {
+ "key": "IT_RABK",
+ "label": ">",
+ }
+ "S(IT_1)": {
+ "key": "IT_EXLM",
+ "label": "!",
+ }
+ "S(IT_2)": {
+ "key": "IT_DQUO",
+ "label": "\"",
+ }
+ "S(IT_3)": {
+ "key": "IT_PND",
+ "label": "£",
+ }
+ "S(IT_4)": {
+ "key": "IT_DLR",
+ "label": "$",
+ }
+ "S(IT_5)": {
+ "key": "IT_PERC",
+ "label": "%",
+ }
+ "S(IT_6)": {
+ "key": "IT_AMPR",
+ "label": "&",
+ }
+ "S(IT_7)": {
+ "key": "IT_SLSH",
+ "label": "/",
+ }
+ "S(IT_8)": {
+ "key": "IT_LPRN",
+ "label": "(",
+ }
+ "S(IT_9)": {
+ "key": "IT_RPRN",
+ "label": ")",
+ }
+ "S(IT_0)": {
+ "key": "IT_EQL",
+ "label": "=",
+ }
+ "S(IT_QUOT)": {
+ "key": "IT_QUES",
+ "label": "?",
+ }
+ "S(IT_IGRV)": {
+ "key": "IT_CIRC",
+ "label": "^",
+ }
+ "S(IT_EGRV)": {
+ "key": "IT_EACU",
+ "label": "é",
+ }
+ "S(IT_PLUS)": {
+ "key": "IT_ASTR",
+ "label": "*",
+ }
+ "S(IT_UGRV)": {
+ "key": "IT_SECT",
+ "label": "§",
+ }
+ "S(IT_OGRV)": {
+ "key": "IT_LCCE",
+ "label": "ç",
+ }
+ "S(IT_AGRV)": {
+ "key": "IT_DEG",
+ "label": "°",
+ }
+ "S(IT_BSLS)": {
+ "key": "IT_PIPE",
+ "label": "| (not physically present)",
+ }
+ "S(IT_COMM)": {
+ "key": "IT_SCLN",
+ "label": ";",
+ }
+ "S(IT_DOT)": {
+ "key": "IT_COLN",
+ "label": ":",
+ }
+ "S(IT_MINS)": {
+ "key": "IT_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ≤ │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ ¶ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "A(IT_LABK)": {
+ "key": "IT_LTEQ",
+ "label": "≤",
+ }
+ "A(IT_1)": {
+ "key": "IT_LDAQ",
+ "label": "«",
+ }
+ "A(IT_2)": {
+ "key": "IT_LDQU",
+ "label": "“",
+ }
+ "A(IT_3)": {
+ "key": "IT_LSQU",
+ "label": "‘",
+ }
+ "A(IT_4)": {
+ "key": "IT_YEN",
+ "label": "¥",
+ }
+ "A(IT_5)": {
+ "key": "IT_TILD",
+ "label": "~",
+ }
+ "A(IT_6)": {
+ "key": "IT_LSAQ",
+ "label": "‹",
+ }
+ "A(IT_7)": {
+ "key": "IT_DIV",
+ "label": "÷",
+ }
+ "A(IT_8)": {
+ "key": "IT_ACUT",
+ "label": "´ (dead)",
+ }
+ "A(IT_9)": {
+ "key": "IT_DGRV",
+ "label": "` (dead)",
+ }
+ "A(IT_0)": {
+ "key": "IT_NEQL",
+ "label": "≠",
+ }
+ "A(IT_QUOT)": {
+ "key": "IT_IEXL",
+ "label": "¡",
+ }
+ "A(IT_IGRV)": {
+ "key": "IT_DCIR",
+ "label": "ˆ (dead)",
+ }
+ "A(IT_Q)": {
+ "key": "IT_DLQU",
+ "label": "„",
+ }
+ "A(IT_W)": {
+ "key": "IT_OMEG",
+ "label": "Ω",
+ }
+ "A(IT_E)": {
+ "key": "IT_EURO",
+ "label": "€",
+ }
+ "A(IT_R)": {
+ "key": "IT_REGD",
+ "label": "®",
+ }
+ "A(IT_T)": {
+ "key": "IT_TM",
+ "label": "™",
+ }
+ "A(IT_Y)": {
+ "key": "IT_AE",
+ "label": "Æ",
+ }
+ "A(IT_U)": {
+ "key": "IT_DIAE",
+ "label": "¨ (dead)",
+ }
+ "A(IT_I)": {
+ "key": "IT_OE",
+ "label": "Œ",
+ }
+ "A(IT_O)": {
+ "key": "IT_OSTR",
+ "label": "Ø",
+ }
+ "A(IT_P)": {
+ "key": "IT_PI",
+ "label": "π",
+ }
+ "A(IT_EGRV)": {
+ "key": "IT_LBRC",
+ "label": "[",
+ }
+ "A(IT_PLUS)": {
+ "key": "IT_RBRC",
+ "label": "]",
+ }
+ "A(IT_A)": {
+ "key": "IT_ARNG",
+ "label": "Å",
+ }
+ "A(IT_S)": {
+ "key": "IT_SS",
+ "label": "ß",
+ }
+ "A(IT_D)": {
+ "key": "IT_PDIF",
+ "label": "∂",
+ }
+ "A(IT_F)": {
+ "key": "IT_FHK",
+ "label": "ƒ",
+ }
+ "A(IT_G)": {
+ "key": "IT_INFN",
+ "label": "∞",
+ }
+ "A(IT_H)": {
+ "key": "IT_INCR",
+ "label": "∆",
+ }
+ "A(IT_J)": {
+ "key": "IT_FORD",
+ "label": "ª",
+ }
+ "A(IT_K)": {
+ "key": "IT_MORD",
+ "label": "º",
+ }
+ "A(IT_L)": {
+ "key": "IT_NOT",
+ "label": "¬",
+ }
+ "A(IT_OGRV)": {
+ "key": "IT_AT",
+ "label": "@",
+ }
+ "A(IT_AGRV)": {
+ "key": "IT_HASH",
+ "label": "#",
+ }
+ "A(IT_UGRV)": {
+ "key": "IT_PILC",
+ "label": "¶",
+ }
+ "A(IT_BSLS)": {
+ "key": "IT_GRV",
+ "label": "` (not physically present)",
+ }
+ "A(IT_Z)": {
+ "key": "IT_NARS",
+ "label": "∑",
+ }
+ "A(IT_X)": {
+ "key": "IT_DAGG",
+ "label": "†",
+ }
+ "A(IT_C)": {
+ "key": "IT_COPY",
+ "label": "©",
+ }
+ "A(IT_V)": {
+ "key": "IT_SQRT",
+ "label": "√",
+ }
+ "A(IT_B)": {
+ "key": "IT_INTG",
+ "label": "∫",
+ }
+ "A(IT_N)": {
+ "key": "IT_STIL",
+ "label": "˜ (dead)",
+ }
+ "A(IT_M)": {
+ "key": "IT_MICR",
+ "label": "µ",
+ }
+ "A(IT_COMM)": {
+ "key": "IT_ELLP",
+ "label": "…",
+ }
+ "A(IT_DOT)": {
+ "key": "IT_BULT",
+ "label": "•",
+ }
+ "A(IT_MINS)": {
+ "key": "IT_NDSH",
+ "label": "–",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ≥ │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ ◊ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ ∞ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(A(IT_LABK))": {
+ "key": "IT_GTEQ",
+ "label": "≥",
+ }
+ "S(A(IT_1))": {
+ "key": "IT_RDAQ",
+ "label": "»",
+ }
+ "S(A(IT_2))": {
+ "key": "IT_RDQU",
+ "label": "”",
+ }
+ "S(A(IT_3))": {
+ "key": "IT_RSQU",
+ "label": "’",
+ }
+ "S(A(IT_4))": {
+ "key": "IT_CENT",
+ "label": "¢",
+ }
+ "S(A(IT_5))": {
+ "key": "IT_PERM",
+ "label": "‰",
+ }
+ "S(A(IT_6))": {
+ "key": "IT_RSAQ",
+ "label": "›",
+ }
+ "S(A(IT_7))": {
+ "key": "IT_FRSL",
+ "label": "⁄",
+ }
+ "S(A(IT_8))": {
+ "key": "IT_APPL",
+ "label": " (Apple logo)",
+ }
+ "S(A(IT_0))": {
+ "key": "IT_AEQL",
+ "label": "≈",
+ }
+ "S(A(IT_QUOT))": {
+ "key": "IT_IQUE",
+ "label": "¿",
+ }
+ "S(A(IT_IGRV))": {
+ "key": "IT_PLMN",
+ "label": "±",
+ }
+ "S(A(IT_Q))": {
+ "key": "IT_SLQU",
+ "label": "‚",
+ }
+ "S(A(IT_W))": {
+ "key": "IT_CAGR",
+ "label": "À",
+ }
+ "S(A(IT_E))": {
+ "key": "IT_CEGR",
+ "label": "È",
+ }
+ "S(A(IT_R))": {
+ "key": "IT_CIGR",
+ "label": "Ì",
+ }
+ "S(A(IT_T))": {
+ "key": "IT_COGR",
+ "label": "Ò",
+ }
+ "S(A(IT_U))": {
+ "key": "IT_CUGR",
+ "label": "Ù",
+ }
+ "S(A(IT_P))": {
+ "key": "IT_NARP",
+ "label": "∏",
+ }
+ "S(A(IT_EGRV))": {
+ "key": "IT_LCBR",
+ "label": "{",
+ }
+ "S(A(IT_PLUS))": {
+ "key": "IT_RCBR",
+ "label": "}",
+ }
+ "S(A(IT_UGRV))": {
+ "key": "IT_LOZN",
+ "label": "◊",
+ }
+ "S(A(IT_S))": {
+ "key": "IT_MACR",
+ "label": "¯",
+ }
+ "S(A(IT_D))": {
+ "key": "IT_BREV",
+ "label": "˘",
+ }
+ "S(A(IT_F))": {
+ "key": "IT_DOTA",
+ "label": "˙",
+ }
+ "S(A(IT_G))": {
+ "key": "IT_RGNA",
+ "label": "˚",
+ }
+ "S(A(IT_H))": {
+ "key": "IT_CEDL",
+ "label": "¸",
+ }
+ "S(A(IT_J))": {
+ "key": "IT_DACU",
+ "label": "˝",
+ }
+ "S(A(IT_K))": {
+ "key": "IT_OGON",
+ "label": "˛",
+ }
+ "S(A(IT_L))": {
+ "key": "IT_CARN",
+ "label": "ˇ",
+ }
+ "S(A(IT_OGRV))": {
+ "key": "IT_CCCE",
+ "label": "Ç",
+ }
+ "S(A(IT_X))": {
+ "key": "IT_DDAG",
+ "label": "‡",
+ }
+ "S(A(IT_C))": {
+ "key": "IT_CAAC",
+ "label": "Á",
+ }
+ "S(A(IT_V))": {
+ "key": "IT_CEAC",
+ "label": "É",
+ }
+ "S(A(IT_B))": {
+ "key": "IT_CIAC",
+ "label": "Í",
+ }
+ "S(A(IT_N))": {
+ "key": "IT_COAC",
+ "label": "Ó",
+ }
+ "S(A(IT_M))": {
+ "key": "IT_CUAC",
+ "label": "Ú",
+ }
+ "S(A(IT_DOT))": {
+ "key": "IT_MDDT",
+ "label": "·",
+ }
+ "S(A(IT_MINS))": {
+ "key": "IT_MDSH",
+ "label": "—",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "IT_BSLS",
+ "label": "\\",
+ }
+ "KC_1": {
+ "key": "IT_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "IT_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "IT_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "IT_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "IT_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "IT_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "IT_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "IT_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "IT_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "IT_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "IT_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "IT_IGRV",
+ "label": "ì",
+ }
+ "KC_Q": {
+ "key": "IT_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "IT_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "IT_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "IT_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "IT_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "IT_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "IT_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "IT_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "IT_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "IT_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "IT_EGRV",
+ "label": "è",
+ }
+ "KC_RBRC": {
+ "key": "IT_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "IT_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "IT_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "IT_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "IT_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "IT_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "IT_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "IT_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "IT_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "IT_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "IT_OGRV",
+ "label": "ò",
+ }
+ "KC_QUOT": {
+ "key": "IT_AGRV",
+ "label": "à",
+ }
+ "KC_NUHS": {
+ "key": "IT_UGRV",
+ "label": "ù",
+ }
+ "KC_NUBS": {
+ "key": "IT_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "IT_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "IT_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "IT_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "IT_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "IT_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "IT_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "IT_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "IT_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "IT_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "IT_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(IT_BSLS)": {
+ "key": "IT_PIPE",
+ "label": "|",
+ }
+ "S(IT_1)": {
+ "key": "IT_EXLM",
+ "label": "!",
+ }
+ "S(IT_2)": {
+ "key": "IT_DQUO",
+ "label": "\"",
+ }
+ "S(IT_3)": {
+ "key": "IT_PND",
+ "label": "£",
+ }
+ "S(IT_4)": {
+ "key": "IT_DLR",
+ "label": "$",
+ }
+ "S(IT_5)": {
+ "key": "IT_PERC",
+ "label": "%",
+ }
+ "S(IT_6)": {
+ "key": "IT_AMPR",
+ "label": "&",
+ }
+ "S(IT_7)": {
+ "key": "IT_SLSH",
+ "label": "/",
+ }
+ "S(IT_8)": {
+ "key": "IT_LPRN",
+ "label": "(",
+ }
+ "S(IT_9)": {
+ "key": "IT_RPRN",
+ "label": ")",
+ }
+ "S(IT_0)": {
+ "key": "IT_EQL",
+ "label": "=",
+ }
+ "S(IT_QUOT)": {
+ "key": "IT_QUES",
+ "label": "?",
+ }
+ "S(IT_IGRV)": {
+ "key": "IT_CIRC",
+ "label": "^",
+ }
+ "S(IT_EGRV)": {
+ "key": "IT_EACU",
+ "label": "é",
+ }
+ "S(IT_PLUS)": {
+ "key": "IT_ASTR",
+ "label": "*",
+ }
+ "S(IT_OGRV)": {
+ "key": "IT_LCCE",
+ "label": "ç",
+ }
+ "S(IT_AGRV)": {
+ "key": "IT_DEG",
+ "label": "°",
+ }
+ "S(IT_UGRV)": {
+ "key": "IT_SECT",
+ "label": "§",
+ }
+ "S(IT_LABK)": {
+ "key": "IT_RABK",
+ "label": ">",
+ }
+ "S(IT_COMM)": {
+ "key": "IT_SCLN",
+ "label": ";",
+ }
+ "S(IT_DOT)": {
+ "key": "IT_COLN",
+ "label": ":",
+ }
+ "S(IT_MINS)": {
+ "key": "IT_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ` │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ ¶ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≤ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "A(IT_BSLS)": {
+ "key": "IT_GRV",
+ "label": "`",
+ }
+ "A(IT_1)": {
+ "key": "IT_LDAQ",
+ "label": "«",
+ }
+ "A(IT_2)": {
+ "key": "IT_LDQU",
+ "label": "“",
+ }
+ "A(IT_3)": {
+ "key": "IT_LSQU",
+ "label": "‘",
+ }
+ "A(IT_4)": {
+ "key": "IT_YEN",
+ "label": "¥",
+ }
+ "A(IT_5)": {
+ "key": "IT_TILD",
+ "label": "~",
+ }
+ "A(IT_6)": {
+ "key": "IT_LSAQ",
+ "label": "‹",
+ }
+ "A(IT_7)": {
+ "key": "IT_DIV",
+ "label": "÷",
+ }
+ "A(IT_8)": {
+ "key": "IT_ACUT",
+ "label": "´ (dead)",
+ }
+ "A(IT_9)": {
+ "key": "IT_DGRV",
+ "label": "` (dead)",
+ }
+ "A(IT_0)": {
+ "key": "IT_NEQL",
+ "label": "≠",
+ }
+ "A(IT_QUOT)": {
+ "key": "IT_IEXL",
+ "label": "¡",
+ }
+ "A(IT_IGRV)": {
+ "key": "IT_DCIR",
+ "label": "ˆ (dead)",
+ }
+ "A(IT_Q)": {
+ "key": "IT_DLQU",
+ "label": "„",
+ }
+ "A(IT_W)": {
+ "key": "IT_OMEG",
+ "label": "Ω",
+ }
+ "A(IT_E)": {
+ "key": "IT_EURO",
+ "label": "€",
+ }
+ "A(IT_R)": {
+ "key": "IT_REGD",
+ "label": "®",
+ }
+ "A(IT_T)": {
+ "key": "IT_TM",
+ "label": "™",
+ }
+ "A(IT_Y)": {
+ "key": "IT_AE",
+ "label": "Æ",
+ }
+ "A(IT_U)": {
+ "key": "IT_DIAE",
+ "label": "¨ (dead)",
+ }
+ "A(IT_I)": {
+ "key": "IT_OE",
+ "label": "Œ",
+ }
+ "A(IT_O)": {
+ "key": "IT_OSTR",
+ "label": "Ø",
+ }
+ "A(IT_P)": {
+ "key": "IT_PI",
+ "label": "π",
+ }
+ "A(IT_EGRV)": {
+ "key": "IT_LBRC",
+ "label": "[",
+ }
+ "A(IT_PLUS)": {
+ "key": "IT_RBRC",
+ "label": "]",
+ }
+ "A(IT_A)": {
+ "key": "IT_ARNG",
+ "label": "Å",
+ }
+ "A(IT_S)": {
+ "key": "IT_SS",
+ "label": "ß",
+ }
+ "A(IT_D)": {
+ "key": "IT_PDIF",
+ "label": "∂",
+ }
+ "A(IT_F)": {
+ "key": "IT_FHK",
+ "label": "ƒ",
+ }
+ "A(IT_G)": {
+ "key": "IT_INFN",
+ "label": "∞",
+ }
+ "A(IT_H)": {
+ "key": "IT_INCR",
+ "label": "∆",
+ }
+ "A(IT_J)": {
+ "key": "IT_FORD",
+ "label": "ª",
+ }
+ "A(IT_K)": {
+ "key": "IT_MORD",
+ "label": "º",
+ }
+ "A(IT_L)": {
+ "key": "IT_NOT",
+ "label": "¬",
+ }
+ "A(IT_OGRV)": {
+ "key": "IT_AT",
+ "label": "@",
+ }
+ "A(IT_AGRV)": {
+ "key": "IT_HASH",
+ "label": "#",
+ }
+ "A(IT_UGRV)": {
+ "key": "IT_PILC",
+ "label": "¶",
+ }
+ "A(IT_LABK)": {
+ "key": "IT_LTEQ",
+ "label": "≤",
+ }
+ "A(IT_Z)": {
+ "key": "IT_NARS",
+ "label": "∑",
+ }
+ "A(IT_X)": {
+ "key": "IT_DAGG",
+ "label": "†",
+ }
+ "A(IT_C)": {
+ "key": "IT_COPY",
+ "label": "©",
+ }
+ "A(IT_V)": {
+ "key": "IT_SQRT",
+ "label": "√",
+ }
+ "A(IT_B)": {
+ "key": "IT_INTG",
+ "label": "∫",
+ }
+ "A(IT_N)": {
+ "key": "IT_STIL",
+ "label": "˜ (dead)",
+ }
+ "A(IT_M)": {
+ "key": "IT_MICR",
+ "label": "µ",
+ }
+ "A(IT_COMM)": {
+ "key": "IT_ELLP",
+ "label": "…",
+ }
+ "A(IT_DOT)": {
+ "key": "IT_BULT",
+ "label": "•",
+ }
+ "A(IT_MINS)": {
+ "key": "IT_NDSH",
+ "label": "–",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ı │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ │ ◊ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≥ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(A(IT_BSLS))": {
+ "key": "IT_DLSI",
+ "label": "ı",
+ }
+ "S(A(IT_1))": {
+ "key": "IT_RDAQ",
+ "label": "»",
+ }
+ "S(A(IT_2))": {
+ "key": "IT_RDQU",
+ "label": "”",
+ }
+ "S(A(IT_3))": {
+ "key": "IT_RSQU",
+ "label": "’",
+ }
+ "S(A(IT_4))": {
+ "key": "IT_CENT",
+ "label": "¢",
+ }
+ "S(A(IT_5))": {
+ "key": "IT_PERM",
+ "label": "‰",
+ }
+ "S(A(IT_6))": {
+ "key": "IT_RSAQ",
+ "label": "›",
+ }
+ "S(A(IT_7))": {
+ "key": "IT_FRSL",
+ "label": "⁄",
+ }
+ "S(A(IT_8))": {
+ "key": "IT_APPL",
+ "label": " (Apple logo)",
+ }
+ "S(A(IT_0))": {
+ "key": "IT_AEQL",
+ "label": "≈",
+ }
+ "S(A(IT_QUOT))": {
+ "key": "IT_IQUE",
+ "label": "¿",
+ }
+ "S(A(IT_IGRV))": {
+ "key": "IT_PLMN",
+ "label": "±",
+ }
+ "S(A(IT_Q))": {
+ "key": "IT_SLQU",
+ "label": "‚",
+ }
+ "S(A(IT_W))": {
+ "key": "IT_CAGR",
+ "label": "À",
+ }
+ "S(A(IT_E))": {
+ "key": "IT_CEGR",
+ "label": "È",
+ }
+ "S(A(IT_R))": {
+ "key": "IT_CIGR",
+ "label": "Ì",
+ }
+ "S(A(IT_T))": {
+ "key": "IT_COGR",
+ "label": "Ò",
+ }
+ "S(A(IT_U))": {
+ "key": "IT_CUGR",
+ "label": "Ù",
+ }
+ "S(A(IT_P))": {
+ "key": "IT_NARP",
+ "label": "∏",
+ }
+ "S(A(IT_EGRV))": {
+ "key": "IT_LCBR",
+ "label": "{",
+ }
+ "S(A(IT_PLUS))": {
+ "key": "IT_RCBR",
+ "label": "}",
+ }
+ "S(A(IT_S))": {
+ "key": "IT_MACR",
+ "label": "¯",
+ }
+ "S(A(IT_D))": {
+ "key": "IT_BREV",
+ "label": "˘",
+ }
+ "S(A(IT_F))": {
+ "key": "IT_DOTA",
+ "label": "˙",
+ }
+ "S(A(IT_G))": {
+ "key": "IT_RNGA",
+ "label": "˚",
+ }
+ "S(A(IT_H))": {
+ "key": "IT_CEDL",
+ "label": "¸",
+ }
+ "S(A(IT_J))": {
+ "key": "IT_DACU",
+ "label": "˝",
+ }
+ "S(A(IT_K))": {
+ "key": "IT_OGON",
+ "label": "˛",
+ }
+ "S(A(IT_L))": {
+ "key": "IT_CARN",
+ "label": "ˇ",
+ }
+ "S(A(IT_OGRV))": {
+ "key": "IT_CCCE",
+ "label": "Ç",
+ }
+ "S(A(IT_UGRV))": {
+ "key": "IT_LOZN",
+ "label": "◊",
+ }
+ "S(A(IT_LABK))": {
+ "key": "IT_GTEQ",
+ "label": "≥",
+ }
+ "S(A(IT_X))": {
+ "key": "IT_DDAG",
+ "label": "‡",
+ }
+ "S(A(IT_C))": {
+ "key": "IT_CAAC",
+ "label": "Á",
+ }
+ "S(A(IT_V))": {
+ "key": "IT_CEAC",
+ "label": "É",
+ }
+ "S(A(IT_B))": {
+ "key": "IT_CIAC",
+ "label": "Í",
+ }
+ "S(A(IT_N))": {
+ "key": "IT_COAC",
+ "label": "Ó",
+ }
+ "S(A(IT_M))": {
+ "key": "IT_CUAC",
+ "label": "Ú",
+ }
+ "S(A(IT_DOT))": {
+ "key": "IT_MDDT",
+ "label": "·",
+ }
+ "S(A(IT_MINS))": {
+ "key": "IT_MDSH",
+ "label": "—",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+ * │Z↔H│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ Eisū │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ │
+ * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
+ * │ │ │ │Muhen│ │ Hen │K↔H│ │ │ │ │
+ * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
+ */
+ "KC_GRV": {
+ "key": "JP_ZKHK",
+ "label": "Zenkaku ↔ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字)",
+ }
+ "KC_1": {
+ "key": "JP_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "JP_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "JP_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "JP_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "JP_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "JP_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "JP_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "JP_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "JP_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "JP_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "JP_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "JP_CIRC",
+ "label": "^",
+ }
+ "KC_INT3": {
+ "key": "JP_YEN",
+ "label": "¥",
+ }
+ "KC_Q": {
+ "key": "JP_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "JP_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "JP_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "JP_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "JP_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "JP_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "JP_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "JP_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "JP_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "JP_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "JP_AT",
+ "label": "@",
+ }
+ "KC_RBRC": {
+ "key": "JP_LBRC",
+ "label": "[",
+ }
+ "KC_CAPS": {
+ "key": "JP_EISU",
+ "label": "Eisū (英数)",
+ }
+ "KC_A": {
+ "key": "JP_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "JP_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "JP_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "JP_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "JP_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "JP_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "JP_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "JP_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "JP_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "JP_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "JP_COLN",
+ "label": ":",
+ }
+ "KC_NUHS": {
+ "key": "JP_RBRC",
+ "label": "]",
+ }
+ "KC_Z": {
+ "key": "JP_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "JP_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "JP_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "JP_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "JP_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "JP_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "JP_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "JP_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "JP_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "JP_SLSH",
+ "label": "/",
+ }
+ "KC_INT1": {
+ "key": "JP_BSLS",
+ "label": "\\",
+ }
+ "KC_INT5": {
+ "key": "JP_MHEN",
+ "label": "Muhenkan (無変換)",
+ }
+ "KC_INT4": {
+ "key": "JP_HENK",
+ "label": "Henkan (変換)",
+ }
+ "KC_INT2": {
+ "key": "JP_KANA",
+ "label": "Katakana ↔ Hiragana ↔ Rōmaji (カタカナ ↔ ひらがな ↔ ローマ字)",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+ * │ │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ │ = │ ~ │ | │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ Caps │ │ │ │ │ │ │ │ │ │ + │ * │ } │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ _ │ │
+ * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │
+ * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
+ */
+ "S(JP_1)": {
+ "key": "JP_EXLM",
+ "label": "!",
+ }
+ "S(JP_2)": {
+ "key": "JP_DQUO",
+ "label": "\"",
+ }
+ "S(JP_3)": {
+ "key": "JP_HASH",
+ "label": "#",
+ }
+ "S(JP_4)": {
+ "key": "JP_DLR",
+ "label": "$",
+ }
+ "S(JP_5)": {
+ "key": "JP_PERC",
+ "label": "%",
+ }
+ "S(JP_6)": {
+ "key": "JP_AMPR",
+ "label": "&",
+ }
+ "S(JP_7)": {
+ "key": "JP_QUOT",
+ "label": "'",
+ }
+ "S(JP_8)": {
+ "key": "JP_LPRN",
+ "label": "(",
+ }
+ "S(JP_9)": {
+ "key": "JP_RPRN",
+ "label": ")",
+ }
+ "S(JP_MINS)": {
+ "key": "JP_EQL",
+ "label": "=",
+ }
+ "S(JP_CIRC)": {
+ "key": "JP_TILD",
+ "label": "~",
+ }
+ "S(JP_YEN)": {
+ "key": "JP_PIPE",
+ "label": "|",
+ }
+ "S(JP_AT)": {
+ "key": "JP_GRV",
+ "label": "`",
+ }
+ "S(JP_LBRC)": {
+ "key": "JP_LCBR",
+ "label": "{",
+ }
+ "S(JP_EISU)": {
+ "key": "JP_CAPS",
+ "label": "Caps Lock",
+ }
+ "S(JP_SCLN)": {
+ "key": "JP_PLUS",
+ "label": "+",
+ }
+ "S(JP_COLN)": {
+ "key": "JP_ASTR",
+ "label": "*",
+ }
+ "S(JP_RBRC)": {
+ "key": "JP_RCBR",
+ "label": "}",
+ }
+ "S(JP_COMM)": {
+ "key": "JP_LABK",
+ "label": "<",
+ }
+ "S(JP_DOT)": {
+ "key": "JP_RABK",
+ "label": ">",
+ }
+ "S(JP_SLSH)": {
+ "key": "JP_QUES",
+ "label": "?",
+ }
+ "S(JP_BSLS)": {
+ "key": "JP_UNDS",
+ "label": "_",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ₩ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
+ * │ │ │ │Hnj│ │H↔Y│ │ │ │ │
+ * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
+ */
+ "KC_GRV": {
+ "key": "KR_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "KR_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "KR_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "KR_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "KR_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "KR_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "KR_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "KR_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "KR_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "KR_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "KR_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "KR_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "KR_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "KR_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "KR_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "KR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "KR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "KR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "KR_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "KR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "KR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "KR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "KR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "KR_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "KR_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "KR_WON",
+ "label": "₩",
+ }
+ "KC_A": {
+ "key": "KR_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "KR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "KR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "KR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "KR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "KR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "KR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "KR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "KR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "KR_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "KR_QUOT",
+ "label": "'",
+ }
+ "KC_Z": {
+ "key": "KR_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "KR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "KR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "KR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "KR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "KR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "KR_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "KR_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "KR_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "KR_SLSH",
+ "label": "/",
+ }
+ "KC_LNG2": {
+ "key": "KR_HANJ",
+ "label": "Hanja (한자)",
+ }
+ "KC_LNG1": {
+ "key": "KR_HAEN",
+ "label": "Han ↔ Yeong (한 ↔ 영)",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │
+ * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
+ */
+ "S(KR_GRV)": {
+ "key": "KR_TILD",
+ "label": "~",
+ }
+ "S(KR_1)": {
+ "key": "KR_EXLM",
+ "label": "!",
+ }
+ "S(KR_2)": {
+ "key": "KR_AT",
+ "label": "@",
+ }
+ "S(KR_3)": {
+ "key": "KR_HASH",
+ "label": "#",
+ }
+ "S(KR_4)": {
+ "key": "KR_DLR",
+ "label": "$",
+ }
+ "S(KR_5)": {
+ "key": "KR_PERC",
+ "label": "%",
+ }
+ "S(KR_6)": {
+ "key": "KR_CIRC",
+ "label": "^",
+ }
+ "S(KR_7)": {
+ "key": "KR_AMPR",
+ "label": "&",
+ }
+ "S(KR_8)": {
+ "key": "KR_ASTR",
+ "label": "*",
+ }
+ "S(KR_9)": {
+ "key": "KR_LPRN",
+ "label": "(",
+ }
+ "S(KR_0)": {
+ "key": "KR_RPRN",
+ "label": ")",
+ }
+ "S(KR_MINS)": {
+ "key": "KR_UNDS",
+ "label": "_",
+ }
+ "S(KR_EQL)": {
+ "key": "KR_PLUS",
+ "label": "+",
+ }
+ "S(KR_LBRC)": {
+ "key": "KR_LCBR",
+ "label": "{",
+ }
+ "S(KR_RBRC)": {
+ "key": "KR_RCBR",
+ "label": "}",
+ }
+ "S(KR_WON)": {
+ "key": "KR_PIPE",
+ "label": "|",
+ }
+ "S(KR_SCLN)": {
+ "key": "KR_COLN",
+ "label": ":",
+ }
+ "S(KR_QUOT)": {
+ "key": "KR_DQUO",
+ "label": "\"",
+ }
+ "S(KR_COMM)": {
+ "key": "KR_LABK",
+ "label": "<",
+ }
+ "S(KR_DOT)": {
+ "key": "KR_RABK",
+ "label": ">",
+ }
+ "S(KR_SLSH)": {
+ "key": "KR_QUES",
+ "label": "?",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "LV_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "LV_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "LV_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "LV_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "LV_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "LV_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "LV_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "LV_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "LV_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "LV_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "LV_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "LV_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "LV_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "LV_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "LV_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "LV_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "LV_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "LV_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "LV_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "LV_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "LV_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "LV_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "LV_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "LV_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "LV_RBRC",
+ "label": "]",
+ }
+ "KC_A": {
+ "key": "LV_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "LV_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "LV_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "LV_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "LV_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "LV_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "LV_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "LV_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "LV_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "LV_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "LV_QUOT",
+ "label": "' (dead)",
+ }
+ "KC_NUHS": {
+ "key": "LV_BSLS",
+ "label": "\\",
+ }
+ "KC_NUBS": {
+ "key": "LV_NUBS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "LV_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "LV_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "LV_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "LV_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "LV_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "LV_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "LV_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "LV_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "LV_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "LV_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(LV_GRV)": {
+ "key": "LV_TILD",
+ "label": "~",
+ }
+ "S(LV_1)": {
+ "key": "LV_EXLM",
+ "label": "!",
+ }
+ "S(LV_2)": {
+ "key": "LV_AT",
+ "label": "@",
+ }
+ "S(LV_3)": {
+ "key": "LV_HASH",
+ "label": "#",
+ }
+ "S(LV_4)": {
+ "key": "LV_DLR",
+ "label": "$",
+ }
+ "S(LV_5)": {
+ "key": "LV_PERC",
+ "label": "%",
+ }
+ "S(LV_6)": {
+ "key": "LV_CIRC",
+ "label": "^",
+ }
+ "S(LV_7)": {
+ "key": "LV_AMPR",
+ "label": "&",
+ }
+ "S(LV_8)": {
+ "key": "LV_ASTR",
+ "label": "*",
+ }
+ "S(LV_9)": {
+ "key": "LV_LPRN",
+ "label": "(",
+ }
+ "S(LV_0)": {
+ "key": "LV_RPRN",
+ "label": ")",
+ }
+ "S(LV_MINS)": {
+ "key": "LV_UNDS",
+ "label": "_",
+ }
+ "S(LV_EQL)": {
+ "key": "LV_PLUS",
+ "label": "+",
+ }
+ "S(LV_LBRC)": {
+ "key": "LV_LCBR",
+ "label": "{",
+ }
+ "S(LV_RBRC)": {
+ "key": "LV_RCBR",
+ "label": "}",
+ }
+ "S(LV_SCLN)": {
+ "key": "LV_COLN",
+ "label": ":",
+ }
+ "S(LV_QUOT)": {
+ "key": "LV_DQUO",
+ "label": "\" (dead)",
+ }
+ "S(LV_BSLS)": {
+ "key": "LV_PIPE",
+ "label": "|",
+ }
+ "S(LV_COMM)": {
+ "key": "LV_LABK",
+ "label": "<",
+ }
+ "S(LV_DOT)": {
+ "key": "LV_RABK",
+ "label": ">",
+ }
+ "S(LV_SLSH)": {
+ "key": "LV_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ - │ │ « │ » │ € │ │ ’ │ │ │ │ │ – │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ Ē │ Ŗ │ │ │ Ū │ Ī │ Ō │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Ā │ Š │ │ │ Ģ │ │ │ Ķ │ Ļ │ │ ´ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ Ž │ │ Č │ │ │ Ņ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(LV_GRV)": {
+ "key": "LV_SHYP",
+ "label": "­ (soft hyphen)",
+ }
+ "ALGR(LV_1)": {
+ "key": "LV_NBSP",
+ "label": "(non-breaking space)",
+ }
+ "ALGR(LV_2)": {
+ "key": "LV_LDAQ",
+ "label": "«",
+ }
+ "ALGR(LV_3)": {
+ "key": "LV_RDAQ",
+ "label": "»",
+ }
+ "ALGR(LV_4)": {
+ "key": "LV_EURO",
+ "label": "€",
+ }
+ "ALGR(LV_6)": {
+ "key": "LV_RSQU",
+ "label": "’",
+ }
+ "ALGR(LV_MINS)": {
+ "key": "LV_NDSH",
+ "label": "–",
+ }
+ "ALGR(LV_E)": {
+ "key": "LV_EMAC",
+ "label": "Ē",
+ }
+ "ALGR(LV_R)": {
+ "key": "LV_RCED",
+ "label": "Ŗ",
+ }
+ "ALGR(LV_U)": {
+ "key": "LV_UMAC",
+ "label": "Ū",
+ }
+ "ALGR(LV_I)": {
+ "key": "LV_IMAC",
+ "label": "Ī",
+ }
+ "ALGR(LV_O)": {
+ "key": "LV_OMAC",
+ "label": "Ō",
+ }
+ "ALGR(LV_A)": {
+ "key": "LV_AMAC",
+ "label": "Ā",
+ }
+ "ALGR(LV_S)": {
+ "key": "LV_SCAR",
+ "label": "Š",
+ }
+ "ALGR(LV_G)": {
+ "key": "LV_GCED",
+ "label": "Ģ",
+ }
+ "ALGR(LV_K)": {
+ "key": "LV_KCED",
+ "label": "Ķ",
+ }
+ "ALGR(LV_L)": {
+ "key": "LV_LCED",
+ "label": "Ļ",
+ }
+ "ALGR(LV_QUOT)": {
+ "key": "LV_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(LV_Z)": {
+ "key": "LV_ZCAR",
+ "label": "Ž",
+ }
+ "ALGR(LV_C)": {
+ "key": "LV_CCAR",
+ "label": "Č",
+ }
+ "ALGR(LV_N)": {
+ "key": "LV_NCED",
+ "label": "Ņ",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ § │ ° │ │ ± │ × │ │ │ — │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(LV_4))": {
+ "key": "LV_SECT",
+ "label": "§",
+ }
+ "S(ALGR(LV_5))": {
+ "key": "LV_DEG",
+ "label": "°",
+ }
+ "S(ALGR(LV_7))": {
+ "key": "LV_PLMN",
+ "label": "±",
+ }
+ "S(ALGR(LV_8))": {
+ "key": "LV_MUL",
+ "label": "×",
+ }
+ "S(ALGR(LV_MINS))": {
+ "key": "LV_MDSH",
+ "label": "—",
+ }
+ "S(ALGR(LV_QUOT))": {
+ "key": "LV_DIAE",
+ "label": "¨ (dead)",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ ! │ - │ / │ ; │ : │ , │ . │ = │ ( │ ) │ ? │ X │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Ą │ Ž │ E │ R │ T │ Y │ U │ I │ O │ P │ Į │ W │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ Š │ G │ H │ J │ K │ L │ Ų │ Ė │ Q │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ Ū │ C │ V │ B │ N │ M │ Č │ F │ Ę │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "LT_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "LT_EXLM",
+ "label": "!",
+ }
+ "KC_2": {
+ "key": "LT_MINS",
+ "label": "-",
+ }
+ "KC_3": {
+ "key": "LT_SLSH",
+ "label": "/",
+ }
+ "KC_4": {
+ "key": "LT_SCLN",
+ "label": ";",
+ }
+ "KC_5": {
+ "key": "LT_COLN",
+ "label": ":",
+ }
+ "KC_6": {
+ "key": "LT_COMM",
+ "label": ",",
+ }
+ "KC_7": {
+ "key": "LT_DOT",
+ "label": ".",
+ }
+ "KC_8": {
+ "key": "LT_EQL",
+ "label": "=",
+ }
+ "KC_9": {
+ "key": "LT_LPRN",
+ "label": "(",
+ }
+ "KC_0": {
+ "key": "LT_RPRN",
+ "label": ")",
+ }
+ "KC_MINS": {
+ "key": "LT_QUES",
+ "label": "?",
+ }
+ "KC_EQL": {
+ "key": "LT_X",
+ "label": "X",
+ }
+ "KC_Q": {
+ "key": "LT_AOGO",
+ "label": "Ą",
+ }
+ "KC_W": {
+ "key": "LT_ZCAR",
+ "label": "Ž",
+ }
+ "KC_E": {
+ "key": "LT_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "LT_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "LT_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "LT_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "LT_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "LT_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "LT_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "LT_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "LT_IOGO",
+ "label": "Į",
+ }
+ "KC_RBRC": {
+ "key": "LT_W",
+ "label": "W",
+ }
+ "KC_A": {
+ "key": "LT_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "LT_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "LT_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "LT_SCAR",
+ "label": "Š",
+ }
+ "KC_G": {
+ "key": "LT_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "LT_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "LT_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "LT_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "LT_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "LT_UOGO",
+ "label": "Ų",
+ }
+ "KC_QUOT": {
+ "key": "LT_EDOT",
+ "label": "Ė",
+ }
+ "KC_NUHS": {
+ "key": "LT_Q",
+ "label": "Q",
+ }
+ "KC_NUBS": {
+ "key": "LT_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "LT_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "LT_UMAC",
+ "label": "Ū",
+ }
+ "KC_C": {
+ "key": "LT_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "LT_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "LT_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "LT_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "LT_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "LT_CCAR",
+ "label": "Č",
+ }
+ "KC_DOT": {
+ "key": "LT_F",
+ "label": "F",
+ }
+ "KC_SLSH": {
+ "key": "LT_EOGO",
+ "label": "Ę",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(LT_GRV)": {
+ "key": "LT_TILD",
+ "label": "~",
+ }
+ "S(LT_EXLM)": {
+ "key": "LT_1",
+ "label": "1",
+ }
+ "S(LT_MINS)": {
+ "key": "LT_2",
+ "label": "2",
+ }
+ "S(LT_SLSH)": {
+ "key": "LT_3",
+ "label": "3",
+ }
+ "S(LT_SCLN)": {
+ "key": "LT_4",
+ "label": "4",
+ }
+ "S(LT_COLN)": {
+ "key": "LT_5",
+ "label": "5",
+ }
+ "S(LT_COMM)": {
+ "key": "LT_6",
+ "label": "6",
+ }
+ "S(LT_DOT)": {
+ "key": "LT_7",
+ "label": "7",
+ }
+ "S(LT_EQL)": {
+ "key": "LT_8",
+ "label": "8",
+ }
+ "S(LT_LPRN)": {
+ "key": "LT_9",
+ "label": "9",
+ }
+ "S(LT_RPRN)": {
+ "key": "LT_0",
+ "label": "0",
+ }
+ "S(LT_QUES)": {
+ "key": "LT_PLUS",
+ "label": "+",
+ }
+ "S(LT_LABK)": {
+ "key": "LT_RABK",
+ "label": ">",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ´ │ @ │ _ │ # │ $ │ § │ ^ │ & │ * │ [ │ ] │ ' │ % │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ " │ | │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ – │ │ │ │ │ │ │ │ „ │ “ │ \ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(LT_GRV)": {
+ "key": "LT_ACUT",
+ "label": "´",
+ }
+ "ALGR(LT_EXLM)": {
+ "key": "LT_AT",
+ "label": "@",
+ }
+ "ALGR(LT_MINS)": {
+ "key": "LT_UNDS",
+ "label": "_",
+ }
+ "ALGR(LT_SLSH)": {
+ "key": "LT_HASH",
+ "label": "#",
+ }
+ "ALGR(LT_SCLN)": {
+ "key": "LT_DLR",
+ "label": "$",
+ }
+ "ALGR(LT_COLN)": {
+ "key": "LT_SECT",
+ "label": "§",
+ }
+ "ALGR(LT_COMM)": {
+ "key": "LT_CIRC",
+ "label": "^",
+ }
+ "ALGR(LT_DOT)": {
+ "key": "LT_AMPR",
+ "label": "&",
+ }
+ "ALGR(LT_EQL)": {
+ "key": "LT_ASTR",
+ "label": "*",
+ }
+ "ALGR(LT_LPRN)": {
+ "key": "LT_LBRC",
+ "label": "[",
+ }
+ "ALGR(LT_RPRN)": {
+ "key": "LT_RBRC",
+ "label": "]",
+ }
+ "ALGR(LT_QUES)": {
+ "key": "LT_QUOT",
+ "label": "'",
+ }
+ "ALGR(LT_X)": {
+ "key": "LT_PERC",
+ "label": "%",
+ }
+ "ALGR(LT_E)": {
+ "key": "LT_EURO",
+ "label": "€",
+ }
+ "ALGR(LT_IOGO)": {
+ "key": "LT_LCBR",
+ "label": "{",
+ }
+ "ALGR(LT_W)": {
+ "key": "LT_RCBR",
+ "label": "}",
+ }
+ "ALGR(LT_EDOT)": {
+ "key": "LT_DQUO",
+ "label": "\"",
+ }
+ "ALGR(LT_Q)": {
+ "key": "LT_PIPE",
+ "label": "|",
+ }
+ "ALGR(LT_LABK)": {
+ "key": "LT_NDSH",
+ "label": "–",
+ }
+ "ALGR(LT_CCAR)": {
+ "key": "LT_DLQU",
+ "label": "„",
+ }
+ "ALGR(LT_F)": {
+ "key": "LT_LDQU",
+ "label": "“",
+ }
+ "ALGR(LT_EOGO)": {
+ "key": "LT_BSLS",
+ "label": "\\",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ Ą │ Č │ Ę │ Ė │ Į │ Š │ Ų │ Ū │ 9 │ 0 │ - │ Ž │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "LT_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "LT_AOGO",
+ "label": "Ą",
+ }
+ "KC_2": {
+ "key": "LT_CCAR",
+ "label": "Č",
+ }
+ "KC_3": {
+ "key": "LT_EOGO",
+ "label": "Ę",
+ }
+ "KC_4": {
+ "key": "LT_EDOT",
+ "label": "Ė",
+ }
+ "KC_5": {
+ "key": "LT_IOGO",
+ "label": "Į",
+ }
+ "KC_6": {
+ "key": "LT_SCAR",
+ "label": "Š",
+ }
+ "KC_7": {
+ "key": "LT_UOGO",
+ "label": "Ų",
+ }
+ "KC_8": {
+ "key": "LT_UMAC",
+ "label": "Ū",
+ }
+ "KC_9": {
+ "key": "LT_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "LT_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "LT_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "LT_ZCAR",
+ "label": "Ž",
+ }
+ "KC_Q": {
+ "key": "LT_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "LT_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "LT_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "LT_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "LT_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "LT_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "LT_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "LT_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "LT_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "LT_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "LT_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "LT_RBRC",
+ "label": "]",
+ }
+ "KC_A": {
+ "key": "LT_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "LT_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "LT_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "LT_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "LT_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "LT_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "LT_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "LT_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "LT_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "LT_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "LT_QUOT",
+ "label": "'",
+ }
+ "KC_BSLS": {
+ "key": "LT_BSLS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "LT_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "LT_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "LT_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "LT_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "LT_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "LT_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "LT_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "LT_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "LT_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "LT_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ │ │ │ │ │ │ │ │ ( │ ) │ _ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(LT_GRV)": {
+ "key": "LT_TILD",
+ "label": "~",
+ }
+ "S(LT_9)": {
+ "key": "LT_LPRN",
+ "label": "(",
+ }
+ "S(LT_0)": {
+ "key": "LT_RPRN",
+ "label": ")",
+ }
+ "S(LT_MINS)": {
+ "key": "LT_UNDS",
+ "label": "_",
+ }
+ "S(LT_LBRC)": {
+ "key": "LT_LCBR",
+ "label": "{",
+ }
+ "S(LT_RBRC)": {
+ "key": "LT_RCBR",
+ "label": "}",
+ }
+ "S(LT_SCLN)": {
+ "key": "LT_COLN",
+ "label": ":",
+ }
+ "S(LT_QUOT)": {
+ "key": "LT_DQUO",
+ "label": "\"",
+ }
+ "S(LT_BSLS)": {
+ "key": "LT_PIPE",
+ "label": "|",
+ }
+ "S(LT_COMM)": {
+ "key": "LT_LABK",
+ "label": "<",
+ }
+ "S(LT_DOT)": {
+ "key": "LT_RABK",
+ "label": ">",
+ }
+ "S(LT_SLSH)": {
+ "key": "LT_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ │ │ │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(LT_AOGO)": {
+ "key": "LT_1",
+ "label": "1",
+ }
+ "ALGR(LT_CCAR)": {
+ "key": "LT_2",
+ "label": "2",
+ }
+ "ALGR(LT_EOGO)": {
+ "key": "LT_3",
+ "label": "3",
+ }
+ "ALGR(LT_EDOT)": {
+ "key": "LT_4",
+ "label": "4",
+ }
+ "ALGR(LT_IOGO)": {
+ "key": "LT_5",
+ "label": "5",
+ }
+ "ALGR(LT_SCAR)": {
+ "key": "LT_6",
+ "label": "6",
+ }
+ "ALGR(LT_UOGO)": {
+ "key": "LT_7",
+ "label": "7",
+ }
+ "ALGR(LT_UMAC)": {
+ "key": "LT_8",
+ "label": "8",
+ }
+ "ALGR(LT_ZCAR)": {
+ "key": "LT_EQL",
+ "label": "=",
+ }
+ "ALGR(LT_E)": {
+ "key": "LT_EURO",
+ "label": "€",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ │ │ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(LT_AOGO))": {
+ "key": "LT_EXLM",
+ "label": "!",
+ }
+ "S(ALGR(LT_CCAR))": {
+ "key": "LT_AT",
+ "label": "@",
+ }
+ "S(ALGR(LT_EOGO))": {
+ "key": "LT_HASH",
+ "label": "#",
+ }
+ "S(ALGR(LT_EDOT))": {
+ "key": "LT_DLR",
+ "label": "$",
+ }
+ "S(ALGR(LT_IOGO))": {
+ "key": "LT_PERC",
+ "label": "%",
+ }
+ "S(ALGR(LT_SCAR))": {
+ "key": "LT_CIRC",
+ "label": "^",
+ }
+ "S(ALGR(LT_UOGO))": {
+ "key": "LT_AMPR",
+ "label": "&",
+ }
+ "S(ALGR(LT_UMAC))": {
+ "key": "LT_ASTR",
+ "label": "*",
+ }
+ "S(ALGR(LT_ZCAR))": {
+ "key": "LT_PLUS",
+ "label": "+",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ X │ V │ L │ C │ W │ K │ H │ G │ F │ Q │ ß │ ´ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ L3 │ U │ I │ A │ E │ O │ S │ N │ R │ T │ D │ Y │ L3│ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │L4 │ Ü │ Ö │ Ä │ P │ Z │ B │ M │ , │ . │ J │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ L4 │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "NE_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_1": {
+ "key": "NE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "NE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "NE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "NE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "NE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "NE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "NE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "NE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "NE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "NE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "NE_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "NE_GRV",
+ "label": "` (dead)",
+ }
+ "KC_Q": {
+ "key": "NE_X",
+ "label": "X",
+ }
+ "KC_W": {
+ "key": "NE_V",
+ "label": "V",
+ }
+ "KC_E": {
+ "key": "NE_L",
+ "label": "L",
+ }
+ "KC_R": {
+ "key": "NE_C",
+ "label": "C",
+ }
+ "KC_T": {
+ "key": "NE_W",
+ "label": "W",
+ }
+ "KC_Y": {
+ "key": "NE_K",
+ "label": "K",
+ }
+ "KC_U": {
+ "key": "NE_H",
+ "label": "H",
+ }
+ "KC_I": {
+ "key": "NE_G",
+ "label": "G",
+ }
+ "KC_O": {
+ "key": "NE_F",
+ "label": "F",
+ }
+ "KC_P": {
+ "key": "NE_Q",
+ "label": "Q",
+ }
+ "KC_LBRC": {
+ "key": "NE_SS",
+ "label": "ß",
+ }
+ "KC_RBRC": {
+ "key": "NE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_CAPS": {
+ "key": "NE_L3L",
+ "label": "(layer 3)",
+ }
+ "KC_A": {
+ "key": "NE_U",
+ "label": "U",
+ }
+ "KC_S": {
+ "key": "NE_I",
+ "label": "I",
+ }
+ "KC_D": {
+ "key": "NE_A",
+ "label": "A",
+ }
+ "KC_F": {
+ "key": "NE_E",
+ "label": "E",
+ }
+ "KC_G": {
+ "key": "NE_O",
+ "label": "O",
+ }
+ "KC_H": {
+ "key": "NE_S",
+ "label": "S",
+ }
+ "KC_J": {
+ "key": "NE_N",
+ "label": "N",
+ }
+ "KC_K": {
+ "key": "NE_R",
+ "label": "R",
+ }
+ "KC_L": {
+ "key": "NE_T",
+ "label": "T",
+ }
+ "KC_SCLN": {
+ "key": "NE_D",
+ "label": "D",
+ }
+ "KC_QUOT": {
+ "key": "NE_Y",
+ "label": "Y",
+ }
+ "KC_NUHS": {
+ "key": "NE_L3R",
+ "label": "(layer 3)",
+ }
+ "KC_NUBS": {
+ "key": "NE_L4L",
+ "label": "(layer 4)",
+ }
+ "KC_Z": {
+ "key": "NE_UDIA",
+ "label": "Ü",
+ }
+ "KC_X": {
+ "key": "NE_ODIA",
+ "label": "Ö",
+ }
+ "KC_C": {
+ "key": "NE_ADIA",
+ "label": "Ä",
+ }
+ "KC_V": {
+ "key": "NE_P",
+ "label": "P",
+ }
+ "KC_B": {
+ "key": "NE_Z",
+ "label": "Z",
+ }
+ "KC_N": {
+ "key": "NE_B",
+ "label": "B",
+ }
+ "KC_M": {
+ "key": "NE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "NE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "NE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "NE_J",
+ "label": "J",
+ }
+ "KC_ALGR": {
+ "key": "NE_L4R",
+ "label": "(layer 4)",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+ "KC_GRV": {
+ "key": "NO_HALF"
+ }
+ "KC_MINS": {
+ "key": "NO_PLUS"
+ }
+ "KC_EQL": {
+ "key": "NO_ACUT"
+ }
+ "KC_LBRC": {
+ "key": "NO_AM"
+ }
+ "KC_RBRC": {
+ "key": "NO_QUOT",
+ "label": "this is the \"umlaut\" char on Nordic keyboards, Apple layout",
+ }
+ "KC_SCLN": {
+ "key": "NO_AE"
+ }
+ "KC_QUOT": {
+ "key": "NO_OSLH"
+ }
+ "KC_NUHS": {
+ "key": "NO_APOS"
+ }
+ "KC_NUBS": {
+ "key": "NO_LESS"
+ }
+ "KC_SLSH": {
+ "key": "NO_MINS"
+ }
+ "LSFT(NO_HALF)": {
+ "key": "NO_SECT"
+ }
+ "LSFT(KC_2)": {
+ "key": "NO_QUO2"
+ }
+ "LSFT(KC_4)": {
+ "key": "NO_BULT"
+ }
+ "LSFT(KC_6)": {
+ "key": "NO_AMPR"
+ }
+ "LSFT(KC_7)": {
+ "key": "NO_SLSH"
+ }
+ "LSFT(KC_8)": {
+ "key": "NO_LPRN"
+ }
+ "LSFT(KC_9)": {
+ "key": "NO_RPRN"
+ }
+ "LSFT(KC_0)": {
+ "key": "NO_EQL"
+ }
+ "LSFT(NO_PLUS)": {
+ "key": "NO_QUES"
+ }
+ "LSFT(NO_ACUT)": {
+ "key": "NO_GRV"
+ }
+ "LSFT(NO_QUOT)": {
+ "key": "NO_CIRC"
+ }
+ "LSFT(NO_LESS)": {
+ "key": "NO_GRTR"
+ }
+ "LSFT(KC_COMM)": {
+ "key": "NO_SCLN"
+ }
+ "LSFT(KC_DOT)": {
+ "key": "NO_COLN"
+ }
+ "LSFT(NO_MINS)": {
+ "key": "NO_UNDS"
+ }
+ "ALGR(KC_2)": {
+ "key": "NO_AT"
+ }
+ "ALGR(KC_3)": {
+ "key": "NO_PND"
+ }
+ "ALGR(KC_4)": {
+ "key": "NO_DLR"
+ }
+ "ALGR(KC_7)": {
+ "key": "NO_LCBR"
+ }
+ "ALGR(KC_8)": {
+ "key": "NO_LBRC"
+ }
+ "ALGR(KC_9)": {
+ "key": "NO_RBRC"
+ }
+ "ALGR(KC_0)": {
+ "key": "NO_RCBR"
+ }
+ "ALGR(KC_NUBS)": {
+ "key": "NO_PIPE"
+ }
+ "ALGR(KC_E)": {
+ "key": "NO_EURO"
+ }
+ "ALGR(NO_QUOT)": {
+ "key": "NO_TILD"
+ }
+ "ALGR(KC_MINS)": {
+ "key": "NO_BSLS"
+ }
+ "ALGR(KC_M)": {
+ "key": "NO_MU"
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ D │ F │ K │ J │ U │ R │ L │ ; │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ E │ T │ G │ Y │ N │ I │ O │ H │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ P │ M │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "NM_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "NM_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "NM_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "NM_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "NM_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "NM_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "NM_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "NM_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "NM_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "NM_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "NM_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "NM_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "NM_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "NM_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "NM_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "NM_D",
+ "label": "D",
+ }
+ "KC_R": {
+ "key": "NM_F",
+ "label": "F",
+ }
+ "KC_T": {
+ "key": "NM_K",
+ "label": "K",
+ }
+ "KC_Y": {
+ "key": "NM_J",
+ "label": "J",
+ }
+ "KC_U": {
+ "key": "NM_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "NM_R",
+ "label": "R",
+ }
+ "KC_O": {
+ "key": "NM_L",
+ "label": "L",
+ }
+ "KC_P": {
+ "key": "NM_SCLN",
+ "label": ";",
+ }
+ "KC_LBRC": {
+ "key": "NM_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "NM_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "NM_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "NM_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "NM_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "NM_E",
+ "label": "E",
+ }
+ "KC_F": {
+ "key": "NM_T",
+ "label": "T",
+ }
+ "KC_G": {
+ "key": "NM_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "NM_Y",
+ "label": "Y",
+ }
+ "KC_J": {
+ "key": "NM_N",
+ "label": "N",
+ }
+ "KC_K": {
+ "key": "NM_I",
+ "label": "I",
+ }
+ "KC_L": {
+ "key": "NM_O",
+ "label": "O",
+ }
+ "KC_SCLN": {
+ "key": "NM_H",
+ "label": "H",
+ }
+ "KC_QUOT": {
+ "key": "NM_QUOT",
+ "label": "'",
+ }
+ "KC_Z": {
+ "key": "NM_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "NM_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "NM_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "NM_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "NM_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "NM_P",
+ "label": "P",
+ }
+ "KC_M": {
+ "key": "NM_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "NM_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "NM_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "NM_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(NM_GRV)": {
+ "key": "NM_TILD",
+ "label": "~",
+ }
+ "S(NM_1)": {
+ "key": "NM_EXLM",
+ "label": "!",
+ }
+ "S(NM_2)": {
+ "key": "NM_AT",
+ "label": "@",
+ }
+ "S(NM_3)": {
+ "key": "NM_HASH",
+ "label": "#",
+ }
+ "S(NM_4)": {
+ "key": "NM_DLR",
+ "label": "$",
+ }
+ "S(NM_5)": {
+ "key": "NM_PERC",
+ "label": "%",
+ }
+ "S(NM_6)": {
+ "key": "NM_CIRC",
+ "label": "^",
+ }
+ "S(NM_7)": {
+ "key": "NM_AMPR",
+ "label": "&",
+ }
+ "S(NM_8)": {
+ "key": "NM_ASTR",
+ "label": "*",
+ }
+ "S(NM_9)": {
+ "key": "NM_LPRN",
+ "label": "(",
+ }
+ "S(NM_0)": {
+ "key": "NM_RPRN",
+ "label": ")",
+ }
+ "S(NM_MINS)": {
+ "key": "NM_UNDS",
+ "label": "_",
+ }
+ "S(NM_EQL)": {
+ "key": "NM_PLUS",
+ "label": "+",
+ }
+ "S(NM_SCLN)": {
+ "key": "NM_COLN",
+ "label": ":",
+ }
+ "S(NM_LBRC)": {
+ "key": "NM_LCBR",
+ "label": "{",
+ }
+ "S(NM_RBRC)": {
+ "key": "NM_RCBR",
+ "label": "}",
+ }
+ "S(NM_BSLS)": {
+ "key": "NM_PIPE",
+ "label": "|",
+ }
+ "S(NM_QUOT)": {
+ "key": "NM_DQUO",
+ "label": "\"",
+ }
+ "S(NM_COMM)": {
+ "key": "NM_LABK",
+ "label": "<",
+ }
+ "S(NM_DOT)": {
+ "key": "NM_RABK",
+ "label": ">",
+ }
+ "S(NM_SLSH)": {
+ "key": "NM_QUES",
+ "label": "?",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ \ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ø │ Æ │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "NO_PIPE",
+ "label": "|",
+ }
+ "KC_1": {
+ "key": "NO_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "NO_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "NO_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "NO_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "NO_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "NO_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "NO_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "NO_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "NO_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "NO_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "NO_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "NO_BSLS",
+ "label": "\\",
+ }
+ "KC_Q": {
+ "key": "NO_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "NO_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "NO_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "NO_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "NO_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "NO_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "NO_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "NO_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "NO_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "NO_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "NO_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "NO_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "NO_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "NO_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "NO_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "NO_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "NO_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "NO_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "NO_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "NO_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "NO_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "NO_OSTR",
+ "label": "Ø",
+ }
+ "KC_QUOT": {
+ "key": "NO_AE",
+ "label": "Æ",
+ }
+ "KC_NUHS": {
+ "key": "NO_QUOT",
+ "label": "'",
+ }
+ "KC_NUBS": {
+ "key": "NO_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "NO_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "NO_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "NO_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "NO_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "NO_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "NO_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "NO_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "NO_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "NO_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "NO_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(NO_PIPE)": {
+ "key": "NO_SECT",
+ "label": "§",
+ }
+ "S(NO_1)": {
+ "key": "NO_EXLM",
+ "label": "!",
+ }
+ "S(NO_2)": {
+ "key": "NO_DQUO",
+ "label": "\"",
+ }
+ "S(NO_3)": {
+ "key": "NO_HASH",
+ "label": "#",
+ }
+ "S(NO_4)": {
+ "key": "NO_CURR",
+ "label": "¤",
+ }
+ "S(NO_5)": {
+ "key": "NO_PERC",
+ "label": "%",
+ }
+ "S(NO_6)": {
+ "key": "NO_AMPR",
+ "label": "&",
+ }
+ "S(NO_7)": {
+ "key": "NO_SLSH",
+ "label": "/",
+ }
+ "S(NO_8)": {
+ "key": "NO_LPRN",
+ "label": "(",
+ }
+ "S(NO_9)": {
+ "key": "NO_RPRN",
+ "label": ")",
+ }
+ "S(NO_0)": {
+ "key": "NO_EQL",
+ "label": "=",
+ }
+ "S(NO_PLUS)": {
+ "key": "NO_QUES",
+ "label": "?",
+ }
+ "S(NO_BSLS)": {
+ "key": "NO_GRV",
+ "label": "` (dead)",
+ }
+ "S(NO_DIAE)": {
+ "key": "NO_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(NO_QUOT)": {
+ "key": "NO_ASTR",
+ "label": "*",
+ }
+ "S(NO_LABK)": {
+ "key": "NO_RABK",
+ "label": ">",
+ }
+ "S(NO_COMM)": {
+ "key": "NO_SCLN",
+ "label": ";",
+ }
+ "S(NO_DOT)": {
+ "key": "NO_COLN",
+ "label": ":",
+ }
+ "S(NO_MINS)": {
+ "key": "NO_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ µ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(NO_2)": {
+ "key": "NO_AT",
+ "label": "@",
+ }
+ "ALGR(NO_3)": {
+ "key": "NO_PND",
+ "label": "£",
+ }
+ "ALGR(NO_4)": {
+ "key": "NO_DLR",
+ "label": "$",
+ }
+ "ALGR(NO_5)": {
+ "key": "NO_EURO",
+ "label": "€",
+ }
+ "ALGR(NO_7)": {
+ "key": "NO_LCBR",
+ "label": "{",
+ }
+ "ALGR(NO_8)": {
+ "key": "NO_LBRC",
+ "label": "[",
+ }
+ "ALGR(NO_9)": {
+ "key": "NO_RBRC",
+ "label": "]",
+ }
+ "ALGR(NO_0)": {
+ "key": "NO_RCBR",
+ "label": "}",
+ }
+ "ALGR(NO_BSLS)": {
+ "key": "NO_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(NO_DIAE)": {
+ "key": "NO_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(NO_M)": {
+ "key": "NO_MICR",
+ "label": "µ",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │Num│ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ S │ T │ P │ H │ │ * │ F │ P │ L │ T │ D │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ K │ W │ R │ │ │ R │ B │ G │ S │ Z │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ A │ O │ │ E │ U │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_1": {
+ "key": "PV_NUM"
+ }
+ "KC_Q": {
+ "key": "PV_LS"
+ }
+ "KC_W": {
+ "key": "PV_LT"
+ }
+ "KC_E": {
+ "key": "PV_LP"
+ }
+ "KC_R": {
+ "key": "PV_LH"
+ }
+ "KC_Y": {
+ "key": "PV_STAR"
+ }
+ "KC_U": {
+ "key": "PV_RF"
+ }
+ "KC_I": {
+ "key": "PV_RP"
+ }
+ "KC_O": {
+ "key": "PV_RL"
+ }
+ "KC_P": {
+ "key": "PV_RT"
+ }
+ "KC_LBRC": {
+ "key": "PV_RD"
+ }
+ "KC_S": {
+ "key": "PV_LK"
+ }
+ "KC_D": {
+ "key": "PV_LW"
+ }
+ "KC_F": {
+ "key": "PV_LR"
+ }
+ "KC_J": {
+ "key": "PV_RR"
+ }
+ "KC_K": {
+ "key": "PV_RB"
+ }
+ "KC_L": {
+ "key": "PV_RG"
+ }
+ "KC_SCLN": {
+ "key": "PV_RS"
+ }
+ "KC_QUOT": {
+ "key": "PV_RZ"
+ }
+ "KC_C": {
+ "key": "PV_A"
+ }
+ "KC_V": {
+ "key": "PV_O"
+ }
+ "KC_N": {
+ "key": "PV_E"
+ }
+ "KC_M": {
+ "key": "PV_U"
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+ "DV_1": {
+ "key": "PD_NUM"
+ }
+ "DV_Q": {
+ "key": "PD_LS"
+ }
+ "DV_W": {
+ "key": "PD_LT"
+ }
+ "DV_E": {
+ "key": "PD_LP"
+ }
+ "DV_R": {
+ "key": "PD_LH"
+ }
+ "DV_S": {
+ "key": "PD_LK"
+ }
+ "DV_D": {
+ "key": "PD_LW"
+ }
+ "DV_F": {
+ "key": "PD_LR"
+ }
+ "DV_Y": {
+ "key": "PD_STAR"
+ }
+ "DV_U": {
+ "key": "PD_RF"
+ }
+ "DV_I": {
+ "key": "PD_RP"
+ }
+ "DV_O": {
+ "key": "PD_RL"
+ }
+ "DV_P": {
+ "key": "PD_RT"
+ }
+ "DV_LBRC": {
+ "key": "PD_RD"
+ }
+ "DV_J": {
+ "key": "PD_RR"
+ }
+ "DV_K": {
+ "key": "PD_RB"
+ }
+ "DV_L": {
+ "key": "PD_RG"
+ }
+ "DV_SCLN": {
+ "key": "PD_RS"
+ }
+ "DV_QUOT": {
+ "key": "PD_RZ"
+ }
+ "DV_C": {
+ "key": "PD_A"
+ }
+ "DV_V": {
+ "key": "PD_O"
+ }
+ "DV_N": {
+ "key": "PD_E"
+ }
+ "DV_M": {
+ "key": "PD_U"
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "PL_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "PL_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "PL_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "PL_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "PL_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "PL_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "PL_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "PL_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "PL_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "PL_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "PL_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "PL_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "PL_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "PL_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "PL_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "PL_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "PL_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "PL_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "PL_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "PL_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "PL_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "PL_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "PL_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "PL_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "PL_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "PL_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "PL_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "PL_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "PL_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "PL_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "PL_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "PL_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "PL_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "PL_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "PL_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "PL_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "PL_QUOT",
+ "label": "'",
+ }
+ "KC_Z": {
+ "key": "PL_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "PL_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "PL_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "PL_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "PL_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "PL_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "PL_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "PL_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "PL_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "PL_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(PL_GRV)": {
+ "key": "PL_TILD",
+ "label": "~",
+ }
+ "S(PL_1)": {
+ "key": "PL_EXLM",
+ "label": "!",
+ }
+ "S(PL_2)": {
+ "key": "PL_AT",
+ "label": "@",
+ }
+ "S(PL_3)": {
+ "key": "PL_HASH",
+ "label": "#",
+ }
+ "S(PL_4)": {
+ "key": "PL_DLR",
+ "label": "$",
+ }
+ "S(PL_5)": {
+ "key": "PL_PERC",
+ "label": "%",
+ }
+ "S(PL_6)": {
+ "key": "PL_CIRC",
+ "label": "^",
+ }
+ "S(PL_7)": {
+ "key": "PL_AMPR",
+ "label": "&",
+ }
+ "S(PL_8)": {
+ "key": "PL_ASTR",
+ "label": "*",
+ }
+ "S(PL_9)": {
+ "key": "PL_LPRN",
+ "label": "(",
+ }
+ "S(PL_0)": {
+ "key": "PL_RPRN",
+ "label": ")",
+ }
+ "S(PL_MINS)": {
+ "key": "PL_UNDS",
+ "label": "_",
+ }
+ "S(PL_EQL)": {
+ "key": "PL_PLUS",
+ "label": "+",
+ }
+ "S(PL_LBRC)": {
+ "key": "PL_LCBR",
+ "label": "{",
+ }
+ "S(PL_RBRC)": {
+ "key": "PL_RCBR",
+ "label": "}",
+ }
+ "S(PL_BSLS)": {
+ "key": "PL_PIPE",
+ "label": "|",
+ }
+ "S(PL_SCLN)": {
+ "key": "PL_COLN",
+ "label": ":",
+ }
+ "S(PL_QUOT)": {
+ "key": "PL_DQUO",
+ "label": "\"",
+ }
+ "S(PL_COMM)": {
+ "key": "PL_LABK",
+ "label": "<",
+ }
+ "S(PL_DOT)": {
+ "key": "PL_RABK",
+ "label": ">",
+ }
+ "S(PL_SLSH)": {
+ "key": "PL_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ Ę │ │ │ │ € │ │ Ó │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ Ą │ Ś │ │ │ │ │ │ │ Ł │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Ż │ Ź │ Ć │ │ │ Ń │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(PL_E)": {
+ "key": "PL_EOGO",
+ "label": "Ę",
+ }
+ "ALGR(PL_U)": {
+ "key": "PL_EURO",
+ "label": "€",
+ }
+ "ALGR(PL_O)": {
+ "key": "PL_OACU",
+ "label": "Ó",
+ }
+ "ALGR(PL_A)": {
+ "key": "PL_AOGO",
+ "label": "Ą",
+ }
+ "ALGR(PL_S)": {
+ "key": "PL_SACU",
+ "label": "Ś",
+ }
+ "ALGR(PL_L)": {
+ "key": "PL_LSTR",
+ "label": "Ł",
+ }
+ "ALGR(PL_Z)": {
+ "key": "PL_ZDOT",
+ "label": "Ż",
+ }
+ "ALGR(PL_X)": {
+ "key": "PL_ZACU",
+ "label": "Ź",
+ }
+ "ALGR(PL_C)": {
+ "key": "PL_CACU",
+ "label": "Ć",
+ }
+ "ALGR(PL_N)": {
+ "key": "PL_NACU",
+ "label": "Ń",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ « │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ + │ ´ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ º │ ~ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "PT_BSLS",
+ "label": "\\",
+ }
+ "KC_1": {
+ "key": "PT_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "PT_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "PT_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "PT_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "PT_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "PT_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "PT_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "PT_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "PT_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "PT_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "PT_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "PT_LDAQ",
+ "label": "«",
+ }
+ "KC_Q": {
+ "key": "PT_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "PT_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "PT_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "PT_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "PT_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "PT_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "PT_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "PT_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "PT_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "PT_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "PT_PLUS",
+ "label": "+",
+ }
+ "KC_RBRC": {
+ "key": "PT_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_A": {
+ "key": "PT_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "PT_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "PT_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "PT_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "PT_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "PT_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "PT_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "PT_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "PT_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "PT_CCED",
+ "label": "Ç",
+ }
+ "KC_QUOT": {
+ "key": "PT_MORD",
+ "label": "º",
+ }
+ "KC_NUHS": {
+ "key": "PT_TILD",
+ "label": "~ (dead)",
+ }
+ "KC_NUBS": {
+ "key": "PT_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "PT_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "PT_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "PT_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "PT_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "PT_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "PT_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "PT_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "PT_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "PT_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "PT_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ | │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ » │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ * │ ` │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ^ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(PT_BSLS)": {
+ "key": "PT_PIPE",
+ "label": "|",
+ }
+ "S(PT_1)": {
+ "key": "PT_EXLM",
+ "label": "!",
+ }
+ "S(PT_2)": {
+ "key": "PT_DQUO",
+ "label": "\"",
+ }
+ "S(PT_3)": {
+ "key": "PT_HASH",
+ "label": "#",
+ }
+ "S(PT_4)": {
+ "key": "PT_DLR",
+ "label": "$",
+ }
+ "S(PT_5)": {
+ "key": "PT_PERC",
+ "label": "%",
+ }
+ "S(PT_6)": {
+ "key": "PT_AMPR",
+ "label": "&",
+ }
+ "S(PT_7)": {
+ "key": "PT_SLSH",
+ "label": "/",
+ }
+ "S(PT_8)": {
+ "key": "PT_LPRN",
+ "label": "(",
+ }
+ "S(PT_9)": {
+ "key": "PT_RPRN",
+ "label": ")",
+ }
+ "S(PT_0)": {
+ "key": "PT_EQL",
+ "label": "=",
+ }
+ "S(PT_QUOT)": {
+ "key": "PT_QUES",
+ "label": "?",
+ }
+ "S(PT_LDAQ)": {
+ "key": "PT_RDAQ",
+ "label": "»",
+ }
+ "S(PT_PLUS)": {
+ "key": "PT_ASTR",
+ "label": "*",
+ }
+ "S(PT_ACUT)": {
+ "key": "PT_GRV",
+ "label": "` (dead)",
+ }
+ "S(PT_MORD)": {
+ "key": "PT_FORD",
+ "label": "ª",
+ }
+ "S(PT_TILD)": {
+ "key": "PT_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(PT_LABK)": {
+ "key": "PT_RABK",
+ "label": ">",
+ }
+ "S(PT_COMM)": {
+ "key": "PT_SCLN",
+ "label": ";",
+ }
+ "S(PT_DOT)": {
+ "key": "PT_COLN",
+ "label": ":",
+ }
+ "S(PT_MINS)": {
+ "key": "PT_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ @ │ £ │ § │ │ │ { │ [ │ ] │ } │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ ¨ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(PT_2)": {
+ "key": "PT_AT",
+ "label": "@",
+ }
+ "ALGR(PT_3)": {
+ "key": "PT_PND",
+ "label": "£",
+ }
+ "ALGR(PT_4)": {
+ "key": "PT_SECT",
+ "label": "§",
+ }
+ "ALGR(PT_7)": {
+ "key": "PT_LCBR",
+ "label": "{",
+ }
+ "ALGR(PT_8)": {
+ "key": "PT_LBRC",
+ "label": "[",
+ }
+ "ALGR(PT_9)": {
+ "key": "PT_RBRC",
+ "label": "]",
+ }
+ "ALGR(PT_0)": {
+ "key": "PT_RCBR",
+ "label": "}",
+ }
+ "ALGR(PT_PLUS)": {
+ "key": "PT_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(PT_E)": {
+ "key": "PT_EURO",
+ "label": "€",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ º │ ´ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ \ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "PT_SECT",
+ "label": "§",
+ }
+ "KC_1": {
+ "key": "PT_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "PT_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "PT_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "PT_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "PT_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "PT_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "PT_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "PT_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "PT_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "PT_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "PT_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "PT_PLUS",
+ "label": "+",
+ }
+ "KC_Q": {
+ "key": "PT_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "PT_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "PT_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "PT_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "PT_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "PT_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "PT_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "PT_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "PT_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "PT_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "PT_MORD",
+ "label": "º",
+ }
+ "KC_RBRC": {
+ "key": "PT_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_A": {
+ "key": "PT_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "PT_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "PT_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "PT_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "PT_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "PT_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "PT_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "PT_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "PT_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "PT_CCED",
+ "label": "Ç",
+ }
+ "KC_QUOT": {
+ "key": "PT_TILD",
+ "label": "~ (dead)",
+ }
+ "KC_NUHS": {
+ "key": "PT_BSLS",
+ "label": "\\",
+ }
+ "KC_NUBS": {
+ "key": "PT_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "PT_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "PT_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "PT_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "PT_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "PT_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "PT_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "PT_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "PT_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "PT_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "PT_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ± │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ` │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ | │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(PT_SECT)": {
+ "key": "PT_PLMN",
+ "label": "±",
+ }
+ "S(PT_1)": {
+ "key": "PT_EXLM",
+ "label": "!",
+ }
+ "S(PT_2)": {
+ "key": "PT_DQUO",
+ "label": "\"",
+ }
+ "S(PT_3)": {
+ "key": "PT_HASH",
+ "label": "#",
+ }
+ "S(PT_4)": {
+ "key": "PT_DLR",
+ "label": "$",
+ }
+ "S(PT_5)": {
+ "key": "PT_PERC",
+ "label": "%",
+ }
+ "S(PT_6)": {
+ "key": "PT_AMPR",
+ "label": "&",
+ }
+ "S(PT_7)": {
+ "key": "PT_SLSH",
+ "label": "/",
+ }
+ "S(PT_8)": {
+ "key": "PT_LPRN",
+ "label": "(",
+ }
+ "S(PT_9)": {
+ "key": "PT_RPRN",
+ "label": ")",
+ }
+ "S(PT_0)": {
+ "key": "PT_EQL",
+ "label": "=",
+ }
+ "S(PT_QUOT)": {
+ "key": "PT_QUES",
+ "label": "?",
+ }
+ "S(PT_PLUS)": {
+ "key": "PT_ASTR",
+ "label": "*",
+ }
+ "S(PT_MORD)": {
+ "key": "PT_FORD",
+ "label": "ª",
+ }
+ "S(PT_ACUT)": {
+ "key": "PT_GRV",
+ "label": "` (dead)",
+ }
+ "S(PT_TILD)": {
+ "key": "PT_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(PT_BSLS)": {
+ "key": "PT_PIPE",
+ "label": "|",
+ }
+ "S(PT_LABK)": {
+ "key": "PT_RABK",
+ "label": ">",
+ }
+ "S(PT_COMM)": {
+ "key": "PT_SCLN",
+ "label": ";",
+ }
+ "S(PT_DOT)": {
+ "key": "PT_COLN",
+ "label": ":",
+ }
+ "S(PT_MINS)": {
+ "key": "PT_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ │  │ @ │ € │ £ │ ‰ │ ¶ │ ÷ │ [ │ ] │ ≠ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Œ │ ∑ │ Æ │ ® │ ™ │ ¥ │ † │ ı │ Ø │ π │ ° │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Å │ ß │ ∂ │ ƒ │ ˙ │ ˇ │ ¯ │ „ │ ‘ │ ¸ │ ˜ │ ‹ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≤ │ Ω │ « │ © │ √ │ ∫ │ ¬ │ µ │ “ │ … │ — │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "A(PT_1)": {
+ "key": "PT_APPL",
+ "label": " (Apple logo)",
+ }
+ "A(PT_2)": {
+ "key": "PT_AT",
+ "label": "@",
+ }
+ "A(PT_3)": {
+ "key": "PT_EURO",
+ "label": "€",
+ }
+ "A(PT_4)": {
+ "key": "PT_PND",
+ "label": "£",
+ }
+ "A(PT_5)": {
+ "key": "PT_PERM",
+ "label": "‰",
+ }
+ "A(PT_6)": {
+ "key": "PT_PILC",
+ "label": "¶",
+ }
+ "A(PT_7)": {
+ "key": "PT_DIV",
+ "label": "÷",
+ }
+ "A(PT_8)": {
+ "key": "PT_LBRC",
+ "label": "[",
+ }
+ "A(PT_9)": {
+ "key": "PT_RBRC",
+ "label": "]",
+ }
+ "A(PT_0)": {
+ "key": "PT_NEQL",
+ "label": "≠",
+ }
+ "A(PT_Q)": {
+ "key": "PT_OE",
+ "label": "Œ",
+ }
+ "A(PT_W)": {
+ "key": "PT_NARS",
+ "label": "∑",
+ }
+ "A(PT_E)": {
+ "key": "PT_AE",
+ "label": "Æ",
+ }
+ "A(PT_R)": {
+ "key": "PT_REGD",
+ "label": "®",
+ }
+ "A(PT_T)": {
+ "key": "PT_TM",
+ "label": "™",
+ }
+ "A(PT_Y)": {
+ "key": "PT_YEN",
+ "label": "¥",
+ }
+ "A(PT_U)": {
+ "key": "PT_DAGG",
+ "label": "†",
+ }
+ "A(PT_I)": {
+ "key": "PT_DLSI",
+ "label": "ı",
+ }
+ "A(PT_O)": {
+ "key": "PT_OSTR",
+ "label": "Ø",
+ }
+ "A(PT_P)": {
+ "key": "PT_PI",
+ "label": "π",
+ }
+ "A(PT_MORD)": {
+ "key": "PT_DEG",
+ "label": "°",
+ }
+ "A(PT_ACUT)": {
+ "key": "PT_DIAE",
+ "label": "¨ (dead)",
+ }
+ "A(PT_A)": {
+ "key": "PT_ARNG",
+ "label": "å",
+ }
+ "A(PT_S)": {
+ "key": "PT_SS",
+ "label": "ß",
+ }
+ "A(PT_D)": {
+ "key": "PT_PDIF",
+ "label": "∂",
+ }
+ "A(PT_F)": {
+ "key": "PT_FHK",
+ "label": "ƒ",
+ }
+ "A(PT_G)": {
+ "key": "PT_DOTA",
+ "label": "˙",
+ }
+ "A(PT_H)": {
+ "key": "PT_CARN",
+ "label": "ˇ",
+ }
+ "A(PT_J)": {
+ "key": "PT_MACR",
+ "label": "¯",
+ }
+ "A(PT_K)": {
+ "key": "PT_DLQU",
+ "label": "„",
+ }
+ "A(PT_L)": {
+ "key": "PT_LSQU",
+ "label": "‘",
+ }
+ "A(PT_CCED)": {
+ "key": "PT_CEDL",
+ "label": "¸",
+ }
+ "A(PT_TILD)": {
+ "key": "PT_STIL",
+ "label": "˜ (dead)",
+ }
+ "A(PT_BSLS)": {
+ "key": "PT_LSAQ",
+ "label": "‹",
+ }
+ "A(PT_LABK)": {
+ "key": "PT_LTEQ",
+ "label": "≤",
+ }
+ "A(PT_Z)": {
+ "key": "PT_OMEG",
+ "label": "Ω",
+ }
+ "A(PT_X)": {
+ "key": "PT_LDAQ",
+ "label": "«",
+ }
+ "A(PT_C)": {
+ "key": "PT_COPY",
+ "label": "©",
+ }
+ "A(PT_V)": {
+ "key": "PT_SQRT",
+ "label": "√",
+ }
+ "A(PT_B)": {
+ "key": "PT_INTG",
+ "label": "∫",
+ }
+ "A(PT_N)": {
+ "key": "PT_NOT",
+ "label": "¬",
+ }
+ "A(PT_M)": {
+ "key": "PT_MICR",
+ "label": "µ",
+ }
+ "A(PT_COMM)": {
+ "key": "PT_LDQU",
+ "label": "“",
+ }
+ "A(PT_DOT)": {
+ "key": "PT_ELLP",
+ "label": "…",
+ }
+ "A(PT_MINS)": {
+ "key": "PT_MDSH",
+ "label": "—",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ │ ¡ │ fi │ fl │ ¢ │ ∞ │ • │ ⁄ │ { │ } │ ≈ │ ¿ │ ◊ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ ‡ │ ˚ │ │ ∏ │ │ ˝ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ ∆ │ │ │ │ │ ‚ │ ’ │ ˛ │ ˆ │ › │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≥ │ │ » │ │ │ │ │ │ ” │ · │ – │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(A(PT_1))": {
+ "key": "PT_IEXL",
+ "label": "¡",
+ }
+ "S(A(PT_2))": {
+ "key": "PT_FI",
+ "label": "fi",
+ }
+ "S(A(PT_3))": {
+ "key": "PT_FL",
+ "label": "fl",
+ }
+ "S(A(PT_4))": {
+ "key": "PT_CENT",
+ "label": "¢",
+ }
+ "S(A(PT_5))": {
+ "key": "PT_INFN",
+ "label": "∞",
+ }
+ "S(A(PT_6))": {
+ "key": "PT_BULT",
+ "label": "•",
+ }
+ "S(A(PT_7))": {
+ "key": "PT_FRSL",
+ "label": "⁄",
+ }
+ "S(A(PT_8))": {
+ "key": "PT_LCBR",
+ "label": "{",
+ }
+ "S(A(PT_9))": {
+ "key": "PT_RCBR",
+ "label": "}",
+ }
+ "S(A(PT_0))": {
+ "key": "PT_AEQL",
+ "label": "≈",
+ }
+ "S(A(PT_QUOT))": {
+ "key": "PT_IQUE",
+ "label": "¿",
+ }
+ "S(A(PT_PLUS))": {
+ "key": "PT_LOZN",
+ "label": "◊",
+ }
+ "S(A(PT_U))": {
+ "key": "PT_DDAG",
+ "label": "‡",
+ }
+ "S(A(PT_I))": {
+ "key": "PT_RNGA",
+ "label": "˚",
+ }
+ "S(A(PT_P))": {
+ "key": "PT_NARP",
+ "label": "∏",
+ }
+ "S(A(PT_ACUT))": {
+ "key": "PT_DACU",
+ "label": "˝",
+ }
+ "S(A(PT_D))": {
+ "key": "PT_INCR",
+ "label": "∆",
+ }
+ "S(A(PT_K))": {
+ "key": "PT_SLQU",
+ "label": "‚",
+ }
+ "S(A(PT_L))": {
+ "key": "PT_RSQU",
+ "label": "’",
+ }
+ "S(A(PT_CCED))": {
+ "key": "PT_OGON",
+ "label": "˛",
+ }
+ "S(A(PT_TILD))": {
+ "key": "PT_DCIR",
+ "label": "ˆ (dead)",
+ }
+ "S(A(PT_BSLS))": {
+ "key": "PT_RSAQ",
+ "label": "›",
+ }
+ "S(A(PT_LABK))": {
+ "key": "PT_GTEQ",
+ "label": "≥",
+ }
+ "S(A(PT_X))": {
+ "key": "PT_RDAQ",
+ "label": "»",
+ }
+ "S(A(PT_COMM))": {
+ "key": "PT_RDQU",
+ "label": "”",
+ }
+ "S(A(PT_DOT))": {
+ "key": "PT_MDDT",
+ "label": "·",
+ }
+ "S(A(PT_MINS))": {
+ "key": "PT_NDSH",
+ "label": "–",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ „ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ă │ Î │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ș │ Ț │ Â │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "RO_DLQU",
+ "label": "„",
+ }
+ "KC_1": {
+ "key": "RO_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "RO_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "RO_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "RO_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "RO_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "RO_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "RO_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "RO_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "RO_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "RO_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "RO_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "RO_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "RO_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "RO_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "RO_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "RO_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "RO_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "RO_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "RO_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "RO_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "RO_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "RO_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "RO_ABRV",
+ "label": "Ă",
+ }
+ "KC_RBRC": {
+ "key": "RO_ICIR",
+ "label": "Î",
+ }
+ "KC_A": {
+ "key": "RO_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "RO_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "RO_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "RO_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "RO_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "RO_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "RO_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "RO_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "RO_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "RO_SCOM",
+ "label": "Ș",
+ }
+ "KC_QUOT": {
+ "key": "RO_TCOM",
+ "label": "Ț",
+ }
+ "KC_NUHS": {
+ "key": "RO_ACIR",
+ "label": "Â",
+ }
+ "KC_NUBS": {
+ "key": "RO_BSLS",
+ "label": "\\",
+ }
+ "KC_Z": {
+ "key": "RO_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "RO_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "RO_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "RO_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "RO_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "RO_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "RO_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "RO_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "RO_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "RO_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ” │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ │ ; │ : │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(RO_DLQU)": {
+ "key": "RO_RDQU",
+ "label": "”",
+ }
+ "S(RO_1)": {
+ "key": "RO_EXLM",
+ "label": "!",
+ }
+ "S(RO_2)": {
+ "key": "RO_AT",
+ "label": "@",
+ }
+ "S(RO_3)": {
+ "key": "RO_HASH",
+ "label": "#",
+ }
+ "S(RO_4)": {
+ "key": "RO_DLR",
+ "label": "$",
+ }
+ "S(RO_5)": {
+ "key": "RO_PERC",
+ "label": "%",
+ }
+ "S(RO_6)": {
+ "key": "RO_CIRC",
+ "label": "^",
+ }
+ "S(RO_7)": {
+ "key": "RO_AMPR",
+ "label": "&",
+ }
+ "S(RO_8)": {
+ "key": "RO_ASTR",
+ "label": "*",
+ }
+ "S(RO_9)": {
+ "key": "RO_LPRN",
+ "label": "(",
+ }
+ "S(RO_0)": {
+ "key": "RO_RPRN",
+ "label": ")",
+ }
+ "S(RO_MINS)": {
+ "key": "RO_UNDS",
+ "label": "_",
+ }
+ "S(RO_EQL)": {
+ "key": "RO_PLUS",
+ "label": "+",
+ }
+ "S(RO_BSLS)": {
+ "key": "RO_PIPE",
+ "label": "|",
+ }
+ "S(RO_COMM)": {
+ "key": "RO_SCLN",
+ "label": ";",
+ }
+ "S(RO_DOT)": {
+ "key": "RO_COLN",
+ "label": ":",
+ }
+ "S(RO_SLSH)": {
+ "key": "RO_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ § │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ ß │ Đ │ │ │ │ │ │ Ł │ │ ' │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ © │ │ │ │ │ < │ > │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(RO_DLQU)": {
+ "key": "RO_GRV",
+ "label": "`",
+ }
+ "ALGR(RO_1)": {
+ "key": "RO_DTIL",
+ "label": "~ (dead)",
+ }
+ "ALGR(RO_2)": {
+ "key": "RO_CARN",
+ "label": "ˇ (dead)",
+ }
+ "ALGR(RO_3)": {
+ "key": "RO_DCIR",
+ "label": "^ (dead)",
+ }
+ "ALGR(RO_4)": {
+ "key": "RO_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(RO_5)": {
+ "key": "RO_RNGA",
+ "label": "° (dead)",
+ }
+ "ALGR(RO_6)": {
+ "key": "RO_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(RO_7)": {
+ "key": "RO_DGRV",
+ "label": "` (dead)",
+ }
+ "ALGR(RO_8)": {
+ "key": "RO_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(RO_9)": {
+ "key": "RO_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(RO_0)": {
+ "key": "RO_DACU",
+ "label": "˝ (dead)",
+ }
+ "ALGR(RO_MINS)": {
+ "key": "RO_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(RO_EQL)": {
+ "key": "RO_CEDL",
+ "label": "¸ (dead)",
+ }
+ "ALGR(RO_E)": {
+ "key": "RO_EURO",
+ "label": "€",
+ }
+ "ALGR(RO_P)": {
+ "key": "RO_SECT",
+ "label": "§",
+ }
+ "ALGR(RO_ABRV)": {
+ "key": "RO_LBRC",
+ "label": "[",
+ }
+ "ALGR(RO_ICIR)": {
+ "key": "RO_RBRC",
+ "label": "]",
+ }
+ "ALGR(RO_S)": {
+ "key": "RO_SS",
+ "label": "ß",
+ }
+ "ALGR(RO_D)": {
+ "key": "RO_DSTR",
+ "label": "Đ",
+ }
+ "ALGR(RO_L)": {
+ "key": "RO_LSTR",
+ "label": "Ł",
+ }
+ "ALGR(RO_TCOM)": {
+ "key": "RO_QUOT",
+ "label": "'",
+ }
+ "ALGR(RO_C)": {
+ "key": "RO_COPY",
+ "label": "©",
+ }
+ "ALGR(RO_COMM)": {
+ "key": "RO_LABK",
+ "label": "<",
+ }
+ "ALGR(RO_DOT)": {
+ "key": "RO_RABK",
+ "label": ">",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ " │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ « │ » │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(RO_DLQU))": {
+ "key": "RO_TILD",
+ "label": "~",
+ }
+ "S(ALGR(RO_MINS))": {
+ "key": "RO_NDSH",
+ "label": "–",
+ }
+ "S(ALGR(RO_EQL))": {
+ "key": "RO_PLMN",
+ "label": "±",
+ }
+ "S(ALGR(RO_ABRV))": {
+ "key": "RO_LCBR",
+ "label": "{",
+ }
+ "S(ALGR(RO_ICIR))": {
+ "key": "RO_RCBR",
+ "label": "}",
+ }
+ "S(ALGR(RO_TCOM))": {
+ "key": "RO_DQUO",
+ "label": "\"",
+ }
+ "S(ALGR(RO_COMM))": {
+ "key": "RO_LDAQ",
+ "label": "«",
+ }
+ "S(ALGR(RO_DOT))": {
+ "key": "RO_RDAQ",
+ "label": "»",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ Ё │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "RU_YO",
+ "label": "Ё",
+ }
+ "KC_1": {
+ "key": "RU_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "RU_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "RU_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "RU_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "RU_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "RU_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "RU_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "RU_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "RU_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "RU_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "RU_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "RU_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "RU_SHTI",
+ "label": "Й",
+ }
+ "KC_W": {
+ "key": "RU_TSE",
+ "label": "Ц",
+ }
+ "KC_E": {
+ "key": "RU_U",
+ "label": "У",
+ }
+ "KC_R": {
+ "key": "RU_KA",
+ "label": "К",
+ }
+ "KC_T": {
+ "key": "RU_IE",
+ "label": "Е",
+ }
+ "KC_Y": {
+ "key": "RU_EN",
+ "label": "Н",
+ }
+ "KC_U": {
+ "key": "RU_GHE",
+ "label": "Г",
+ }
+ "KC_I": {
+ "key": "RU_SHA",
+ "label": "Ш",
+ }
+ "KC_O": {
+ "key": "RU_SHCH",
+ "label": "Щ",
+ }
+ "KC_P": {
+ "key": "RU_ZE",
+ "label": "З",
+ }
+ "KC_LBRC": {
+ "key": "RU_HA",
+ "label": "Х",
+ }
+ "KC_RBRC": {
+ "key": "RU_HARD",
+ "label": "Ъ",
+ }
+ "KC_BSLS": {
+ "key": "RU_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "RU_EF",
+ "label": "Ф",
+ }
+ "KC_S": {
+ "key": "RU_YERU",
+ "label": "Ы",
+ }
+ "KC_D": {
+ "key": "RU_VE",
+ "label": "В",
+ }
+ "KC_F": {
+ "key": "RU_A",
+ "label": "А",
+ }
+ "KC_G": {
+ "key": "RU_PE",
+ "label": "П",
+ }
+ "KC_H": {
+ "key": "RU_ER",
+ "label": "Р",
+ }
+ "KC_J": {
+ "key": "RU_O",
+ "label": "О",
+ }
+ "KC_K": {
+ "key": "RU_EL",
+ "label": "Л",
+ }
+ "KC_L": {
+ "key": "RU_DE",
+ "label": "Д",
+ }
+ "KC_SCLN": {
+ "key": "RU_ZHE",
+ "label": "Ж",
+ }
+ "KC_QUOT": {
+ "key": "RU_E",
+ "label": "Э",
+ }
+ "KC_Z": {
+ "key": "RU_YA",
+ "label": "Я",
+ }
+ "KC_X": {
+ "key": "RU_CHE",
+ "label": "Ч",
+ }
+ "KC_C": {
+ "key": "RU_ES",
+ "label": "С",
+ }
+ "KC_V": {
+ "key": "RU_EM",
+ "label": "М",
+ }
+ "KC_B": {
+ "key": "RU_I",
+ "label": "И",
+ }
+ "KC_N": {
+ "key": "RU_TE",
+ "label": "Т",
+ }
+ "KC_M": {
+ "key": "RU_SOFT",
+ "label": "Ь",
+ }
+ "KC_COMM": {
+ "key": "RU_BE",
+ "label": "Б",
+ }
+ "KC_DOT": {
+ "key": "RU_YU",
+ "label": "Ю",
+ }
+ "KC_SLSH": {
+ "key": "RU_DOT",
+ "label": ".",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ │ │ , │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(RU_1)": {
+ "key": "RU_EXLM",
+ "label": "!",
+ }
+ "S(RU_2)": {
+ "key": "RU_DQUO",
+ "label": "\"",
+ }
+ "S(RU_3)": {
+ "key": "RU_NUM",
+ "label": "№",
+ }
+ "S(RU_4)": {
+ "key": "RU_SCLN",
+ "label": ";",
+ }
+ "S(RU_5)": {
+ "key": "RU_PERC",
+ "label": "%",
+ }
+ "S(RU_6)": {
+ "key": "RU_COLN",
+ "label": ":",
+ }
+ "S(RU_7)": {
+ "key": "RU_QUES",
+ "label": "?",
+ }
+ "S(RU_8)": {
+ "key": "RU_ASTR",
+ "label": "*",
+ }
+ "S(RU_9)": {
+ "key": "RU_LPRN",
+ "label": "(",
+ }
+ "S(RU_0)": {
+ "key": "RU_RPRN",
+ "label": ")",
+ }
+ "S(RU_MINS)": {
+ "key": "RU_UNDS",
+ "label": "_",
+ }
+ "S(RU_EQL)": {
+ "key": "RU_PLUS",
+ "label": "+",
+ }
+ "S(RU_BSLS)": {
+ "key": "RU_SLSH",
+ "label": "/",
+ }
+ "S(RU_DOT)": {
+ "key": "RU_COMM",
+ "label": ",",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ ₽ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(RU_8)": {
+ "key": "RU_RUBL",
+ "label": "₽",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Љ │ Њ │ Е │ Р │ Т │ З │ У │ И │ О │ П │ Ш │ Ђ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ А │ С │ Д │ Ф │ Г │ Х │ Ј │ К │ Л │ Ч │ Ћ │ Ж │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Ѕ │ Џ │ Ц │ В │ Б │ Н │ М │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "RS_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "RS_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "RS_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "RS_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "RS_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "RS_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "RS_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "RS_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "RS_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "RS_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "RS_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "RS_QUOT",
+ "label": "' (dead)",
+ }
+ "KC_EQL": {
+ "key": "RS_PLUS",
+ "label": "+",
+ }
+ "KC_Q": {
+ "key": "RS_LJE",
+ "label": "Љ",
+ }
+ "KC_W": {
+ "key": "RS_NJE",
+ "label": "Њ",
+ }
+ "KC_E": {
+ "key": "RS_IE",
+ "label": "Е",
+ }
+ "KC_R": {
+ "key": "RS_ER",
+ "label": "Р",
+ }
+ "KC_T": {
+ "key": "RS_TE",
+ "label": "Т",
+ }
+ "KC_Y": {
+ "key": "RS_ZE",
+ "label": "З",
+ }
+ "KC_U": {
+ "key": "RS_U",
+ "label": "У",
+ }
+ "KC_I": {
+ "key": "RS_I",
+ "label": "И",
+ }
+ "KC_O": {
+ "key": "RS_O",
+ "label": "О",
+ }
+ "KC_P": {
+ "key": "RS_PE",
+ "label": "П",
+ }
+ "KC_LBRC": {
+ "key": "RS_SHA",
+ "label": "Ш",
+ }
+ "KC_RBRC": {
+ "key": "RS_DJE",
+ "label": "Ђ",
+ }
+ "KC_A": {
+ "key": "RS_A",
+ "label": "А",
+ }
+ "KC_S": {
+ "key": "RS_ES",
+ "label": "С",
+ }
+ "KC_D": {
+ "key": "RS_DE",
+ "label": "Д",
+ }
+ "KC_F": {
+ "key": "RS_EF",
+ "label": "Ф",
+ }
+ "KC_G": {
+ "key": "RS_GHE",
+ "label": "Г",
+ }
+ "KC_H": {
+ "key": "RS_HA",
+ "label": "Х",
+ }
+ "KC_J": {
+ "key": "RS_JE",
+ "label": "Ј",
+ }
+ "KC_K": {
+ "key": "RS_KA",
+ "label": "К",
+ }
+ "KC_L": {
+ "key": "RS_EL",
+ "label": "Л",
+ }
+ "KC_SCLN": {
+ "key": "RS_CHE",
+ "label": "Ч",
+ }
+ "KC_QUOT": {
+ "key": "RS_TSHE",
+ "label": "Ћ",
+ }
+ "KC_NUHS": {
+ "key": "RS_ZHE",
+ "label": "Ж",
+ }
+ "KC_NUBS": {
+ "key": "RS_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "RS_DZE",
+ "label": "Ѕ",
+ }
+ "KC_X": {
+ "key": "RS_DZHE",
+ "label": "Џ",
+ }
+ "KC_C": {
+ "key": "RS_TSE",
+ "label": "Ц",
+ }
+ "KC_V": {
+ "key": "RS_VE",
+ "label": "В",
+ }
+ "KC_B": {
+ "key": "RS_BE",
+ "label": "Б",
+ }
+ "KC_N": {
+ "key": "RS_EN",
+ "label": "Н",
+ }
+ "KC_M": {
+ "key": "RS_EM",
+ "label": "М",
+ }
+ "KC_COMM": {
+ "key": "RS_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "RS_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "RS_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(RS_GRV)": {
+ "key": "RS_TILD",
+ "label": "~",
+ }
+ "S(RS_1)": {
+ "key": "RS_EXLM",
+ "label": "!",
+ }
+ "S(RS_2)": {
+ "key": "RS_DQUO",
+ "label": "\"",
+ }
+ "S(RS_3)": {
+ "key": "RS_HASH",
+ "label": "#",
+ }
+ "S(RS_4)": {
+ "key": "RS_DLR",
+ "label": "$",
+ }
+ "S(RS_5)": {
+ "key": "RS_PERC",
+ "label": "%",
+ }
+ "S(RS_6)": {
+ "key": "RS_AMPR",
+ "label": "&",
+ }
+ "S(RS_7)": {
+ "key": "RS_SLSH",
+ "label": "/",
+ }
+ "S(RS_8)": {
+ "key": "RS_LPRN",
+ "label": "(",
+ }
+ "S(RS_9)": {
+ "key": "RS_RPRN",
+ "label": ")",
+ }
+ "S(RS_0)": {
+ "key": "RS_EQL",
+ "label": "=",
+ }
+ "S(RS_QUOT)": {
+ "key": "RS_QUES",
+ "label": "?",
+ }
+ "S(RS_PLUS)": {
+ "key": "RS_ASTR",
+ "label": "*",
+ }
+ "S(RS_LABK)": {
+ "key": "RS_RABK",
+ "label": ">",
+ }
+ "S(RS_COMM)": {
+ "key": "RS_SCLN",
+ "label": ";",
+ }
+ "S(RS_DOT)": {
+ "key": "RS_COLN",
+ "label": ":",
+ }
+ "S(RS_MINS)": {
+ "key": "RS_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(RS_IE)": {
+ "key": "RS_EURO",
+ "label": "€",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ‚ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "RS_SLQU",
+ "label": "‚ (dead)",
+ }
+ "KC_1": {
+ "key": "RS_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "RS_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "RS_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "RS_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "RS_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "RS_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "RS_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "RS_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "RS_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "RS_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "RS_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "RS_PLUS",
+ "label": "+",
+ }
+ "KC_Q": {
+ "key": "RS_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "RS_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "RS_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "RS_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "RS_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "RS_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "RS_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "RS_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "RS_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "RS_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "RS_SCAR",
+ "label": "Š",
+ }
+ "KC_RBRC": {
+ "key": "RS_DSTR",
+ "label": "Đ",
+ }
+ "KC_A": {
+ "key": "RS_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "RS_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "RS_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "RS_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "RS_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "RS_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "RS_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "RS_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "RS_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "RS_CCAR",
+ "label": "Č",
+ }
+ "KC_QUOT": {
+ "key": "RS_CACU",
+ "label": "Ć",
+ }
+ "KC_NUHS": {
+ "key": "RS_ZCAR",
+ "label": "Ž",
+ }
+ "KC_NUBS": {
+ "key": "RS_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "RS_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "RS_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "RS_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "RS_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "RS_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "RS_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "RS_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "RS_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "RS_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "RS_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(RS_SLQU)": {
+ "key": "RS_TILD",
+ "label": "~",
+ }
+ "S(RS_1)": {
+ "key": "RS_EXLM",
+ "label": "!",
+ }
+ "S(RS_2)": {
+ "key": "RS_DQUO",
+ "label": "\"",
+ }
+ "S(RS_3)": {
+ "key": "RS_HASH",
+ "label": "#",
+ }
+ "S(RS_4)": {
+ "key": "RS_DLR",
+ "label": "$",
+ }
+ "S(RS_5)": {
+ "key": "RS_PERC",
+ "label": "%",
+ }
+ "S(RS_6)": {
+ "key": "RS_AMPR",
+ "label": "&",
+ }
+ "S(RS_7)": {
+ "key": "RS_SLSH",
+ "label": "/",
+ }
+ "S(RS_8)": {
+ "key": "RS_LPRN",
+ "label": "(",
+ }
+ "S(RS_9)": {
+ "key": "RS_RPRN",
+ "label": ")",
+ }
+ "S(RS_0)": {
+ "key": "RS_EQL",
+ "label": "=",
+ }
+ "S(RS_QUOT)": {
+ "key": "RS_QUES",
+ "label": "?",
+ }
+ "S(RS_PLUS)": {
+ "key": "RS_ASTR",
+ "label": "*",
+ }
+ "S(RS_LABK)": {
+ "key": "RS_RABK",
+ "label": ">",
+ }
+ "S(RS_COMM)": {
+ "key": "RS_SCLN",
+ "label": ";",
+ }
+ "S(RS_DOT)": {
+ "key": "RS_COLN",
+ "label": ":",
+ }
+ "S(RS_MINS)": {
+ "key": "RS_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(RS_2)": {
+ "key": "RS_CARN",
+ "label": "ˇ (dead)",
+ }
+ "ALGR(RS_3)": {
+ "key": "RS_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(RS_4)": {
+ "key": "RS_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(RS_5)": {
+ "key": "RS_RNGA",
+ "label": "° (dead)",
+ }
+ "ALGR(RS_6)": {
+ "key": "RS_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(RS_7)": {
+ "key": "RS_GRV",
+ "label": "`",
+ }
+ "ALGR(RS_8)": {
+ "key": "RS_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(RS_9)": {
+ "key": "RS_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(RS_0)": {
+ "key": "RS_DACU",
+ "label": "˝ (dead)",
+ }
+ "ALGR(RS_QUOT)": {
+ "key": "RS_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(RS_PLUS)": {
+ "key": "RS_CEDL",
+ "label": "¸ (dead)",
+ }
+ "ALGR(RS_Q)": {
+ "key": "RS_BSLS",
+ "label": "\\",
+ }
+ "ALGR(RS_W)": {
+ "key": "RS_PIPE",
+ "label": "|",
+ }
+ "ALGR(RS_E)": {
+ "key": "RS_EURO",
+ "label": "€",
+ }
+ "ALGR(RS_SCAR)": {
+ "key": "RS_DIV",
+ "label": "÷",
+ }
+ "ALGR(RS_DSTR)": {
+ "key": "RS_MUL",
+ "label": "×",
+ }
+ "ALGR(RS_F)": {
+ "key": "RS_LBRC",
+ "label": "[",
+ }
+ "ALGR(RS_G)": {
+ "key": "RS_RBRC",
+ "label": "]",
+ }
+ "ALGR(RS_K)": {
+ "key": "RS_LLST",
+ "label": "ł",
+ }
+ "ALGR(RS_L)": {
+ "key": "RS_CLST",
+ "label": "Ł",
+ }
+ "ALGR(RS_CACU)": {
+ "key": "RS_SS",
+ "label": "ß",
+ }
+ "ALGR(RS_ZCAR)": {
+ "key": "RS_CURR",
+ "label": "¤",
+ }
+ "ALGR(RS_V)": {
+ "key": "RS_AT",
+ "label": "@",
+ }
+ "ALGR(RS_B)": {
+ "key": "RS_LCBR",
+ "label": "{",
+ }
+ "ALGR(RS_N)": {
+ "key": "RS_RCBR",
+ "label": "}",
+ }
+ "ALGR(RS_M)": {
+ "key": "RS_SECT",
+ "label": "§",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ; │ + │ ľ │ š │ č │ ť │ ž │ ý │ á │ í │ é │ = │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ä │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ô │ § │ ň │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ & │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "SK_SCLN",
+ "label": ";",
+ }
+ "KC_1": {
+ "key": "SK_PLUS",
+ "label": "+",
+ }
+ "KC_2": {
+ "key": "SK_LCAR",
+ "label": "ľ",
+ }
+ "KC_3": {
+ "key": "SK_SCAR",
+ "label": "š",
+ }
+ "KC_4": {
+ "key": "SK_CCAR",
+ "label": "č",
+ }
+ "KC_5": {
+ "key": "SK_TCAR",
+ "label": "ť",
+ }
+ "KC_6": {
+ "key": "SK_ZCAR",
+ "label": "ž",
+ }
+ "KC_7": {
+ "key": "SK_YACU",
+ "label": "ý",
+ }
+ "KC_8": {
+ "key": "SK_AACU",
+ "label": "á",
+ }
+ "KC_9": {
+ "key": "SK_IACU",
+ "label": "í",
+ }
+ "KC_0": {
+ "key": "SK_EACU",
+ "label": "é",
+ }
+ "KC_MINS": {
+ "key": "SK_EQL",
+ "label": "=",
+ }
+ "KC_EQL": {
+ "key": "SK_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "SK_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "SK_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "SK_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "SK_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "SK_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "SK_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "SK_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "SK_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "SK_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "SK_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "SK_UACU",
+ "label": "ú",
+ }
+ "KC_RBRC": {
+ "key": "SK_ADIA",
+ "label": "ä",
+ }
+ "KC_A": {
+ "key": "SK_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "SK_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "SK_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "SK_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "SK_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "SK_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "SK_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "SK_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "SK_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "SK_OCIR",
+ "label": "ô",
+ }
+ "KC_QUOT": {
+ "key": "SK_SECT",
+ "label": "§",
+ }
+ "KC_NUHS": {
+ "key": "SK_NCAR",
+ "label": "ň",
+ }
+ "KC_NUBS": {
+ "key": "SK_AMPR",
+ "label": "&",
+ }
+ "KC_Z": {
+ "key": "SK_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "SK_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "SK_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "SK_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "SK_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "SK_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "SK_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "SK_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "SK_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "SK_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ) │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ * │ │ │ │ │ │ │ │ ? │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(SK_SCLN)": {
+ "key": "SK_RNGA",
+ "label": "° (dead)",
+ }
+ "S(SK_PLUS)": {
+ "key": "SK_1",
+ "label": "1",
+ }
+ "S(SK_LCAR)": {
+ "key": "SK_2",
+ "label": "2",
+ }
+ "S(SK_SCAR)": {
+ "key": "SK_3",
+ "label": "3",
+ }
+ "S(SK_CCAR)": {
+ "key": "SK_4",
+ "label": "4",
+ }
+ "S(SK_TCAR)": {
+ "key": "SK_5",
+ "label": "5",
+ }
+ "S(SK_ZCAR)": {
+ "key": "SK_6",
+ "label": "6",
+ }
+ "S(SK_YACU)": {
+ "key": "SK_7",
+ "label": "7",
+ }
+ "S(SK_AACU)": {
+ "key": "SK_8",
+ "label": "8",
+ }
+ "S(SK_IACU)": {
+ "key": "SK_9",
+ "label": "9",
+ }
+ "S(SK_EACU)": {
+ "key": "SK_0",
+ "label": "0",
+ }
+ "S(SK_EQL)": {
+ "key": "SK_PERC",
+ "label": "%",
+ }
+ "S(SK_ACUT)": {
+ "key": "SK_CARN",
+ "label": "ˇ (dead)",
+ }
+ "S(SK_UACU)": {
+ "key": "SK_SLSH",
+ "label": "/",
+ }
+ "S(SK_ADIA)": {
+ "key": "SK_LPRN",
+ "label": "(",
+ }
+ "S(SK_OCIR)": {
+ "key": "SK_DQUO",
+ "label": "\"",
+ }
+ "S(SK_SECT)": {
+ "key": "SK_EXLM",
+ "label": "!",
+ }
+ "S(SK_NCAR)": {
+ "key": "SK_RPRN",
+ "label": ")",
+ }
+ "S(SK_AMPR)": {
+ "key": "SK_ASTR",
+ "label": "*",
+ }
+ "S(SK_COMM)": {
+ "key": "SK_QUES",
+ "label": "?",
+ }
+ "S(SK_DOT)": {
+ "key": "SK_COLN",
+ "label": ":",
+ }
+ "S(SK_MINS)": {
+ "key": "SK_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ~ │ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ │ ˝ │ ¨ │ ¸ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ \ │ | │ € │ │ │ │ │ │ │ ' │ ÷ │ × │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ > │ # │ │ @ │ { │ } │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(SK_PLUS)": {
+ "key": "SK_TILD",
+ "label": "~",
+ }
+ "ALGR(SK_SCAR)": {
+ "key": "SK_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(SK_CCAR)": {
+ "key": "SK_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(SK_TCAR)": {
+ "key": "SK_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(SK_ZCAR)": {
+ "key": "SK_GRV",
+ "label": "`",
+ }
+ "ALGR(SK_YACU)": {
+ "key": "SK_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(SK_EACU)": {
+ "key": "SK_DACU",
+ "label": "˝ (dead)",
+ }
+ "ALGR(SK_EQL)": {
+ "key": "SK_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(SK_ACUT)": {
+ "key": "SK_CEDL",
+ "label": "¸ (dead)",
+ }
+ "ALGR(SK_Q)": {
+ "key": "SK_BSLS",
+ "label": "\\",
+ }
+ "ALGR(SK_W)": {
+ "key": "SK_PIPE",
+ "label": "|",
+ }
+ "ALGR(SK_E)": {
+ "key": "SK_EURO",
+ "label": "€",
+ }
+ "ALGR(SK_P)": {
+ "key": "SK_QUOT",
+ "label": "'",
+ }
+ "ALGR(SK_UACU)": {
+ "key": "SK_DIV",
+ "label": "÷",
+ }
+ "ALGR(SK_ADIA)": {
+ "key": "SK_MUL",
+ "label": "×",
+ }
+ "ALGR(SK_S)": {
+ "key": "SK_LDST",
+ "label": "đ",
+ }
+ "ALGR(SK_D)": {
+ "key": "SK_CDST",
+ "label": "Đ",
+ }
+ "ALGR(SK_F)": {
+ "key": "SK_LBRC",
+ "label": "[",
+ }
+ "ALGR(SK_G)": {
+ "key": "SK_RBRC",
+ "label": "]",
+ }
+ "ALGR(SK_K)": {
+ "key": "SK_LLST",
+ "label": "ł",
+ }
+ "ALGR(SK_L)": {
+ "key": "SK_CLST",
+ "label": "Ł",
+ }
+ "ALGR(SK_OCIR)": {
+ "key": "SK_DLR",
+ "label": "$",
+ }
+ "ALGR(SK_SECT)": {
+ "key": "SK_SS",
+ "label": "ß",
+ }
+ "ALGR(SK_NCAR)": {
+ "key": "SK_CURR",
+ "label": "¤",
+ }
+ "ALGR(SK_AMPR)": {
+ "key": "SK_LABK",
+ "label": "<",
+ }
+ "ALGR(SK_Y)": {
+ "key": "SK_RABK",
+ "label": ">",
+ }
+ "ALGR(SK_X)": {
+ "key": "SK_HASH",
+ "label": "#",
+ }
+ "ALGR(SK_V)": {
+ "key": "SK_AT",
+ "label": "@",
+ }
+ "ALGR(SK_B)": {
+ "key": "SK_LCBR",
+ "label": "{",
+ }
+ "ALGR(SK_N)": {
+ "key": "SK_RCBR",
+ "label": "}",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "SI_CEDL",
+ "label": "¸ (dead)",
+ }
+ "KC_1": {
+ "key": "SI_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "SI_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "SI_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "SI_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "SI_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "SI_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "SI_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "SI_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "SI_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "SI_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "SI_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "SI_PLUS",
+ "label": "+",
+ }
+ "KC_Q": {
+ "key": "SI_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "SI_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "SI_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "SI_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "SI_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "SI_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "SI_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "SI_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "SI_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "SI_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "SI_SCAR",
+ "label": "Š",
+ }
+ "KC_RBRC": {
+ "key": "SI_DSTR",
+ "label": "Đ",
+ }
+ "KC_A": {
+ "key": "SI_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "SI_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "SI_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "SI_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "SI_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "SI_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "SI_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "SI_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "SI_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "SI_CCAR",
+ "label": "Č",
+ }
+ "KC_QUOT": {
+ "key": "SI_CACU",
+ "label": "Ć",
+ }
+ "KC_NUHS": {
+ "key": "SI_ZCAR",
+ "label": "Ž",
+ }
+ "KC_NUBS": {
+ "key": "SI_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "SI_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "SI_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "SI_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "SI_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "SI_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "SI_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "SI_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "SI_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "SI_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "SI_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(SI_CEDL)": {
+ "key": "SI_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(SI_1)": {
+ "key": "SI_EXLM",
+ "label": "!",
+ }
+ "S(SI_2)": {
+ "key": "SI_DQUO",
+ "label": "\"",
+ }
+ "S(SI_3)": {
+ "key": "SI_HASH",
+ "label": "#",
+ }
+ "S(SI_4)": {
+ "key": "SI_DLR",
+ "label": "$",
+ }
+ "S(SI_5)": {
+ "key": "SI_PERC",
+ "label": "%",
+ }
+ "S(SI_6)": {
+ "key": "SI_AMPR",
+ "label": "&",
+ }
+ "S(SI_7)": {
+ "key": "SI_SLSH",
+ "label": "/",
+ }
+ "S(SI_8)": {
+ "key": "SI_LPRN",
+ "label": "(",
+ }
+ "S(SI_9)": {
+ "key": "SI_RPRN",
+ "label": ")",
+ }
+ "S(SI_0)": {
+ "key": "SI_EQL",
+ "label": "=",
+ }
+ "S(SI_QUOT)": {
+ "key": "SI_QUES",
+ "label": "?",
+ }
+ "S(SI_PLUS)": {
+ "key": "SI_ASTR",
+ "label": "*",
+ }
+ "S(SI_LABK)": {
+ "key": "SI_RABK",
+ "label": ">",
+ }
+ "S(SI_COMM)": {
+ "key": "SI_SCLN",
+ "label": ";",
+ }
+ "S(SI_DOT)": {
+ "key": "SI_COLN",
+ "label": ":",
+ }
+ "S(SI_MINS)": {
+ "key": "SI_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(SI_1)": {
+ "key": "SI_TILD",
+ "label": "~",
+ }
+ "ALGR(SI_2)": {
+ "key": "SI_CARN",
+ "label": "ˇ (dead)",
+ }
+ "ALGR(SI_3)": {
+ "key": "SI_CIRC",
+ "label": "^ (dead)",
+ }
+ "ALGR(SI_4)": {
+ "key": "SI_BREV",
+ "label": "˘ (dead)",
+ }
+ "ALGR(SI_5)": {
+ "key": "SI_RNGA",
+ "label": "° (dead)",
+ }
+ "ALGR(SI_6)": {
+ "key": "SI_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(SI_7)": {
+ "key": "SI_GRV",
+ "label": "`",
+ }
+ "ALGR(SI_8)": {
+ "key": "SI_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(SI_9)": {
+ "key": "SI_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(SI_0)": {
+ "key": "SI_DACU",
+ "label": "˝ (dead)",
+ }
+ "ALGR(SI_Q)": {
+ "key": "SI_BSLS",
+ "label": "\\",
+ }
+ "ALGR(SI_W)": {
+ "key": "SI_PIPE",
+ "label": "|",
+ }
+ "ALGR(SI_E)": {
+ "key": "SI_EURO",
+ "label": "€",
+ }
+ "ALGR(SI_SCAR)": {
+ "key": "SI_DIV",
+ "label": "÷",
+ }
+ "ALGR(SI_DSTR)": {
+ "key": "SI_MUL",
+ "label": "×",
+ }
+ "ALGR(SI_F)": {
+ "key": "SI_LBRC",
+ "label": "[",
+ }
+ "ALGR(SI_G)": {
+ "key": "SI_RBRC",
+ "label": "]",
+ }
+ "ALGR(SI_K)": {
+ "key": "SI_LLST",
+ "label": "ł",
+ }
+ "ALGR(SI_L)": {
+ "key": "SI_CLST",
+ "label": "Ł",
+ }
+ "ALGR(SI_CACU)": {
+ "key": "SI_SS",
+ "label": "ß",
+ }
+ "ALGR(SI_ZCAR)": {
+ "key": "SI_CURR",
+ "label": "¤",
+ }
+ "ALGR(SI_V)": {
+ "key": "SI_AT",
+ "label": "@",
+ }
+ "ALGR(SI_B)": {
+ "key": "SI_LCBR",
+ "label": "{",
+ }
+ "ALGR(SI_N)": {
+ "key": "SI_RCBR",
+ "label": "}",
+ }
+ "ALGR(SI_M)": {
+ "key": "SI_SECT",
+ "label": "§",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ` │ + │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ñ │ ´ │ Ç │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "ES_MORD",
+ "label": "º",
+ }
+ "KC_1": {
+ "key": "ES_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "ES_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "ES_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "ES_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "ES_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "ES_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "ES_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "ES_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "ES_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "ES_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "ES_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "ES_IEXL",
+ "label": "¡",
+ }
+ "KC_Q": {
+ "key": "ES_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "ES_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "ES_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "ES_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "ES_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "ES_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "ES_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "ES_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "ES_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "ES_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "ES_GRV",
+ "label": "` (dead)",
+ }
+ "KC_RBRC": {
+ "key": "ES_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "ES_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "ES_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "ES_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "ES_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "ES_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "ES_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "ES_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "ES_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "ES_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "ES_NTIL",
+ "label": "Ñ",
+ }
+ "KC_QUOT": {
+ "key": "ES_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_NUHS": {
+ "key": "ES_CCED",
+ "label": "Ç",
+ }
+ "KC_NUBS": {
+ "key": "ES_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "ES_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "ES_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "ES_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "ES_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "ES_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "ES_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "ES_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "ES_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "ES_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "ES_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ES_MORD)": {
+ "key": "ES_FORD",
+ "label": "ª",
+ }
+ "S(ES_1)": {
+ "key": "ES_EXLM",
+ "label": "!",
+ }
+ "S(ES_2)": {
+ "key": "ES_DQUO",
+ "label": "\"",
+ }
+ "S(ES_3)": {
+ "key": "ES_BULT",
+ "label": "·",
+ }
+ "S(ES_4)": {
+ "key": "ES_DLR",
+ "label": "$",
+ }
+ "S(ES_5)": {
+ "key": "ES_PERC",
+ "label": "%",
+ }
+ "S(ES_6)": {
+ "key": "ES_AMPR",
+ "label": "&",
+ }
+ "S(ES_7)": {
+ "key": "ES_SLSH",
+ "label": "/",
+ }
+ "S(ES_8)": {
+ "key": "ES_LPRN",
+ "label": "(",
+ }
+ "S(ES_9)": {
+ "key": "ES_RPRN",
+ "label": ")",
+ }
+ "S(ES_0)": {
+ "key": "ES_EQL",
+ "label": "=",
+ }
+ "S(ES_QUOT)": {
+ "key": "ES_QUES",
+ "label": "?",
+ }
+ "S(ES_IEXL)": {
+ "key": "ES_IQUE",
+ "label": "¿",
+ }
+ "S(ES_GRV)": {
+ "key": "ES_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(ES_PLUS)": {
+ "key": "ES_ASTR",
+ "label": "*",
+ }
+ "S(ES_ACUT)": {
+ "key": "ES_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(ES_LABK)": {
+ "key": "ES_RABK",
+ "label": ">",
+ }
+ "S(KC_COMM)": {
+ "key": "ES_SCLN",
+ "label": ";",
+ }
+ "S(KC_DOT)": {
+ "key": "ES_COLN",
+ "label": ":",
+ }
+ "S(ES_MINS)": {
+ "key": "ES_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(ES_MORD)": {
+ "key": "ES_BSLS",
+ "label": "\\",
+ }
+ "ALGR(ES_1)": {
+ "key": "ES_PIPE",
+ "label": "|",
+ }
+ "ALGR(ES_2)": {
+ "key": "ES_AT",
+ "label": "@",
+ }
+ "ALGR(ES_3)": {
+ "key": "ES_HASH",
+ "label": "#",
+ }
+ "ALGR(ES_4)": {
+ "key": "ES_TILD",
+ "label": "~",
+ }
+ "ALGR(ES_5)": {
+ "key": "ES_EURO",
+ "label": "€",
+ }
+ "ALGR(ES_6)": {
+ "key": "ES_NOT",
+ "label": "¬",
+ }
+ "ALGR(ES_GRV)": {
+ "key": "ES_LBRC",
+ "label": "[",
+ }
+ "ALGR(ES_PLUS)": {
+ "key": "ES_RBRC",
+ "label": "]",
+ }
+ "ALGR(ES_ACUT)": {
+ "key": "ES_LCBR",
+ "label": "{",
+ }
+ "ALGR(ES_CCED)": {
+ "key": "ES_RCBR",
+ "label": "}",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ . │ , │ Ñ │ P │ Y │ F │ G │ C │ H │ L │ ` │ + │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ O │ E │ U │ I │ D │ R │ T │ N │ S │ ´ │ Ç │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ - │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "DV_MORD",
+ "label": "º",
+ }
+ "KC_1": {
+ "key": "DV_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "DV_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "DV_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "DV_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "DV_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "DV_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "DV_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "DV_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "DV_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "DV_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "DV_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "DV_IEXL",
+ "label": "¡",
+ }
+ "KC_Q": {
+ "key": "DV_DOT",
+ "label": ".",
+ }
+ "KC_W": {
+ "key": "DV_COMM",
+ "label": ",",
+ }
+ "KC_E": {
+ "key": "DV_NTIL",
+ "label": "Ñ",
+ }
+ "KC_R": {
+ "key": "DV_P",
+ "label": "P",
+ }
+ "KC_T": {
+ "key": "DV_Y",
+ "label": "Y",
+ }
+ "KC_Y": {
+ "key": "DV_F",
+ "label": "F",
+ }
+ "KC_U": {
+ "key": "DV_G",
+ "label": "G",
+ }
+ "KC_I": {
+ "key": "DV_C",
+ "label": "C",
+ }
+ "KC_O": {
+ "key": "DV_H",
+ "label": "H",
+ }
+ "KC_P": {
+ "key": "DV_L",
+ "label": "L",
+ }
+ "KC_LBRC": {
+ "key": "DV_GRV",
+ "label": "` (dead)",
+ }
+ "KC_RBRC": {
+ "key": "DV_PLUS",
+ "label": "+",
+ }
+ "KC_A": {
+ "key": "DV_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "DV_O",
+ "label": "O",
+ }
+ "KC_D": {
+ "key": "DV_E",
+ "label": "E",
+ }
+ "KC_F": {
+ "key": "DV_U",
+ "label": "U",
+ }
+ "KC_G": {
+ "key": "DV_I",
+ "label": "I",
+ }
+ "KC_H": {
+ "key": "DV_D",
+ "label": "D",
+ }
+ "KC_J": {
+ "key": "DV_R",
+ "label": "R",
+ }
+ "KC_K": {
+ "key": "DV_T",
+ "label": "T",
+ }
+ "KC_L": {
+ "key": "DV_N",
+ "label": "N",
+ }
+ "KC_SCLN": {
+ "key": "DV_S",
+ "label": "S",
+ }
+ "KC_QUOT": {
+ "key": "DV_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_NUHS": {
+ "key": "DV_CCED",
+ "label": "Ç",
+ }
+ "KC_NUBS": {
+ "key": "DV_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "DV_MINS",
+ "label": "-",
+ }
+ "KC_X": {
+ "key": "DV_Q",
+ "label": "Q",
+ }
+ "KC_C": {
+ "key": "DV_J",
+ "label": "J",
+ }
+ "KC_V": {
+ "key": "DV_K",
+ "label": "K",
+ }
+ "KC_B": {
+ "key": "DV_X",
+ "label": "X",
+ }
+ "KC_N": {
+ "key": "DV_B",
+ "label": "B",
+ }
+ "KC_M": {
+ "key": "DV_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "DV_W",
+ "label": "W",
+ }
+ "KC_DOT": {
+ "key": "DV_V",
+ "label": "V",
+ }
+ "KC_SLSH": {
+ "key": "DV_Z",
+ "label": "Z",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ : │ ; │ │ │ │ │ │ │ │ │ ^ │ * │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ _ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(DV_MORD)": {
+ "key": "DV_FORD",
+ "label": "ª",
+ }
+ "S(DV_1)": {
+ "key": "DV_EXLM",
+ "label": "!",
+ }
+ "S(DV_2)": {
+ "key": "DV_DQUO",
+ "label": "\"",
+ }
+ "S(DV_3)": {
+ "key": "DV_BULT",
+ "label": "·",
+ }
+ "S(DV_4)": {
+ "key": "DV_DLR",
+ "label": "$",
+ }
+ "S(DV_5)": {
+ "key": "DV_PERC",
+ "label": "%",
+ }
+ "S(DV_6)": {
+ "key": "DV_AMPR",
+ "label": "&",
+ }
+ "S(DV_7)": {
+ "key": "DV_SLSH",
+ "label": "/",
+ }
+ "S(DV_8)": {
+ "key": "DV_LPRN",
+ "label": "(",
+ }
+ "S(DV_9)": {
+ "key": "DV_RPRN",
+ "label": ")",
+ }
+ "S(DV_0)": {
+ "key": "DV_EQL",
+ "label": "=",
+ }
+ "S(DV_QUOT)": {
+ "key": "DV_QUES",
+ "label": "?",
+ }
+ "S(DV_IEXL)": {
+ "key": "DV_IQUE",
+ "label": "¿",
+ }
+ "S(DV_DOT)": {
+ "key": "DV_COLN",
+ "label": ":",
+ }
+ "S(DV_COMM)": {
+ "key": "DV_SCLN",
+ "label": ";",
+ }
+ "S(DV_GRV)": {
+ "key": "DV_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(DV_PLUS)": {
+ "key": "DV_ASTR",
+ "label": "*",
+ }
+ "S(DV_ACUT)": {
+ "key": "DV_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(DV_LABK)": {
+ "key": "DV_RABK",
+ "label": ">",
+ }
+ "S(DV_MINS)": {
+ "key": "DV_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(DV_MORD)": {
+ "key": "DV_BSLS",
+ "label": "\\",
+ }
+ "ALGR(DV_1)": {
+ "key": "DV_PIPE",
+ "label": "|",
+ }
+ "ALGR(DV_2)": {
+ "key": "DV_AT",
+ "label": "@",
+ }
+ "ALGR(DV_3)": {
+ "key": "DV_HASH",
+ "label": "#",
+ }
+ "ALGR(DV_4)": {
+ "key": "DV_TILD",
+ "label": "~",
+ }
+ "ALGR(DV_5)": {
+ "key": "DV_EURO",
+ "label": "€",
+ }
+ "ALGR(DV_6)": {
+ "key": "DV_NOT",
+ "label": "¬",
+ }
+ "ALGR(DV_GRV)": {
+ "key": "DV_LBRC",
+ "label": "[",
+ }
+ "ALGR(DV_PLUS)": {
+ "key": "DV_RBRC",
+ "label": "]",
+ }
+ "ALGR(DV_ACUT)": {
+ "key": "DV_LCBR",
+ "label": "{",
+ }
+ "ALGR(DV_CCED)": {
+ "key": "DV_RCBR",
+ "label": "}",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "SE_SECT",
+ "label": "§",
+ }
+ "KC_1": {
+ "key": "SE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "SE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "SE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "SE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "SE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "SE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "SE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "SE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "SE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "SE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "SE_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "SE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "SE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "SE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "SE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "SE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "SE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "SE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "SE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "SE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "SE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "SE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "SE_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "SE_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "SE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "SE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "SE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "SE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "SE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "SE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "SE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "SE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "SE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "SE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "SE_ADIA",
+ "label": "Ä",
+ }
+ "KC_NUHS": {
+ "key": "SE_QUOT",
+ "label": "'",
+ }
+ "KC_NUBS": {
+ "key": "SE_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "SE_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "SE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "SE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "SE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "SE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "SE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "SE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "SE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "SE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "SE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(SE_SECT)": {
+ "key": "SE_HALF",
+ "label": "½",
+ }
+ "S(SE_1)": {
+ "key": "SE_EXLM",
+ "label": "!",
+ }
+ "S(SE_2)": {
+ "key": "SE_DQUO",
+ "label": "\"",
+ }
+ "S(SE_3)": {
+ "key": "SE_HASH",
+ "label": "#",
+ }
+ "S(SE_4)": {
+ "key": "SE_CURR",
+ "label": "¤",
+ }
+ "S(SE_5)": {
+ "key": "SE_PERC",
+ "label": "%",
+ }
+ "S(SE_6)": {
+ "key": "SE_AMPR",
+ "label": "&",
+ }
+ "S(SE_7)": {
+ "key": "SE_SLSH",
+ "label": "/",
+ }
+ "S(SE_8)": {
+ "key": "SE_LPRN",
+ "label": "(",
+ }
+ "S(SE_9)": {
+ "key": "SE_RPRN",
+ "label": ")",
+ }
+ "S(SE_0)": {
+ "key": "SE_EQL",
+ "label": "=",
+ }
+ "S(SE_PLUS)": {
+ "key": "SE_QUES",
+ "label": "?",
+ }
+ "S(SE_ACUT)": {
+ "key": "SE_GRV",
+ "label": "` (dead)",
+ }
+ "S(SE_DIAE)": {
+ "key": "SE_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(SE_QUOT)": {
+ "key": "SE_ASTR",
+ "label": "*",
+ }
+ "S(SE_LABK)": {
+ "key": "SE_RABK",
+ "label": ">",
+ }
+ "S(SE_COMM)": {
+ "key": "SE_SCLN",
+ "label": ";",
+ }
+ "S(SE_DOT)": {
+ "key": "SE_COLN",
+ "label": ":",
+ }
+ "S(SE_MINS)": {
+ "key": "SE_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(SE_2)": {
+ "key": "SE_AT",
+ "label": "@",
+ }
+ "ALGR(SE_3)": {
+ "key": "SE_PND",
+ "label": "£",
+ }
+ "ALGR(SE_4)": {
+ "key": "SE_DLR",
+ "label": "$",
+ }
+ "ALGR(SE_5)": {
+ "key": "SE_EURO",
+ "label": "€",
+ }
+ "ALGR(SE_7)": {
+ "key": "SE_LCBR",
+ "label": "{",
+ }
+ "ALGR(SE_8)": {
+ "key": "SE_LBRC",
+ "label": "[",
+ }
+ "ALGR(SE_9)": {
+ "key": "SE_RBRC",
+ "label": "]",
+ }
+ "ALGR(SE_0)": {
+ "key": "SE_RCBR",
+ "label": "}",
+ }
+ "ALGR(SE_PLUS)": {
+ "key": "SE_BSLS",
+ "label": "\\",
+ }
+ "ALGR(SE_DIAE)": {
+ "key": "SE_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(SE_LABK)": {
+ "key": "SE_PIPE",
+ "label": "|",
+ }
+ "ALGR(SE_M)": {
+ "key": "SE_MICR",
+ "label": "µ",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "SE_LABK",
+ "label": "<",
+ }
+ "KC_1": {
+ "key": "SE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "SE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "SE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "SE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "SE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "SE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "SE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "SE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "SE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "SE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "SE_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "SE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "SE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "SE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "SE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "SE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "SE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "SE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "SE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "SE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "SE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "SE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "SE_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "SE_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_NUHS": {
+ "key": "SE_QUOT",
+ "label": "'",
+ }
+ "KC_A": {
+ "key": "SE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "SE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "SE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "SE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "SE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "SE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "SE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "SE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "SE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "SE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "SE_ADIA",
+ "label": "Ä",
+ }
+ "KC_Z": {
+ "key": "SE_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "SE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "SE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "SE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "SE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "SE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "SE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "SE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "SE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "SE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(SE_LABK)": {
+ "key": "SE_RABK",
+ "label": ">",
+ }
+ "S(SE_1)": {
+ "key": "SE_EXLM",
+ "label": "!",
+ }
+ "S(SE_2)": {
+ "key": "SE_DQUO",
+ "label": "\"",
+ }
+ "S(SE_3)": {
+ "key": "SE_HASH",
+ "label": "#",
+ }
+ "S(SE_4)": {
+ "key": "SE_EURO",
+ "label": "€",
+ }
+ "S(SE_5)": {
+ "key": "SE_PERC",
+ "label": "%",
+ }
+ "S(SE_6)": {
+ "key": "SE_AMPR",
+ "label": "&",
+ }
+ "S(SE_7)": {
+ "key": "SE_SLSH",
+ "label": "/",
+ }
+ "S(SE_8)": {
+ "key": "SE_LPRN",
+ "label": "(",
+ }
+ "S(SE_9)": {
+ "key": "SE_RPRN",
+ "label": ")",
+ }
+ "S(SE_0)": {
+ "key": "SE_EQL",
+ "label": "=",
+ }
+ "S(SE_PLUS)": {
+ "key": "SE_QUES",
+ "label": "?",
+ }
+ "S(SE_ACUT)": {
+ "key": "SE_GRV",
+ "label": "`",
+ }
+ "S(SE_DIAE)": {
+ "key": "SE_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(SE_QUOT)": {
+ "key": "SE_ASTR",
+ "label": "*",
+ }
+ "S(SE_COMM)": {
+ "key": "SE_SCLN",
+ "label": ";",
+ }
+ "S(SE_DOT)": {
+ "key": "SE_COLN",
+ "label": ":",
+ }
+ "S(SE_MINS)": {
+ "key": "SE_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ≤ │ © │ ™ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ @ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ *
+ */
+ "A(SE_LABK)": {
+ "key": "SE_LTEQ",
+ "label": "≤",
+ }
+ "A(SE_1)": {
+ "key": "SE_COPY",
+ "label": "©",
+ }
+ "A(SE_2)": {
+ "key": "SE_TM",
+ "label": "™",
+ }
+ "A(SE_3)": {
+ "key": "SE_PND",
+ "label": "£",
+ }
+ "A(SE_4)": {
+ "key": "SE_DLR",
+ "label": "$",
+ }
+ "A(SE_5)": {
+ "key": "SE_INFN",
+ "label": "∞",
+ }
+ "A(SE_6)": {
+ "key": "SE_SECT",
+ "label": "§",
+ }
+ "A(SE_7)": {
+ "key": "SE_PIPE",
+ "label": "|",
+ }
+ "A(SE_8)": {
+ "key": "SE_LBRC",
+ "label": "[",
+ }
+ "A(SE_9)": {
+ "key": "SE_RBRC",
+ "label": "]",
+ }
+ "A(SE_0)": {
+ "key": "SE_AEQL",
+ "label": "≈",
+ }
+ "A(SE_PLUS)": {
+ "key": "SE_PLMN",
+ "label": "±",
+ }
+ "A(SE_Q)": {
+ "key": "SE_BULT",
+ "label": "•",
+ }
+ "A(SE_W)": {
+ "key": "SE_OMEG",
+ "label": "Ω",
+ }
+ "A(SE_E)": {
+ "key": "SE_EACU",
+ "label": "É",
+ }
+ "A(SE_R)": {
+ "key": "SE_REGD",
+ "label": "®",
+ }
+ "A(SE_T)": {
+ "key": "SE_DAGG",
+ "label": "†",
+ }
+ "A(SE_Y)": {
+ "key": "SE_MICR",
+ "label": "µ",
+ }
+ "A(SE_U)": {
+ "key": "SE_UDIA",
+ "label": "Ü",
+ }
+ "A(SE_I)": {
+ "key": "SE_DLSI",
+ "label": "ı",
+ }
+ "A(SE_O)": {
+ "key": "SE_OE",
+ "label": "Œ",
+ }
+ "A(SE_P)": {
+ "key": "SE_PI",
+ "label": "π",
+ }
+ "A(SE_ARNG)": {
+ "key": "SE_DOTA",
+ "label": "˙",
+ }
+ "A(SE_DIAE)": {
+ "key": "SE_TILD",
+ "label": "~ (dead)",
+ }
+ "A(SE_QUOT)": {
+ "key": "SE_AT",
+ "label": "@",
+ }
+ "A(SE_A)": {
+ "key": "SE_APPL",
+ "label": " (Apple logo)",
+ }
+ "A(SE_S)": {
+ "key": "SE_SS",
+ "label": "ß",
+ }
+ "A(SE_D)": {
+ "key": "SE_PDIF",
+ "label": "∂",
+ }
+ "A(SE_F)": {
+ "key": "SE_FHK",
+ "label": "ƒ",
+ }
+ "A(SE_G)": {
+ "key": "SE_CEDL",
+ "label": "¸",
+ }
+ "A(SE_H)": {
+ "key": "SE_OGON",
+ "label": "˛",
+ }
+ "A(SE_J)": {
+ "key": "SE_SQRT",
+ "label": "√",
+ }
+ "A(SE_K)": {
+ "key": "SE_FORD",
+ "label": "ª",
+ }
+ "A(SE_L)": {
+ "key": "SE_FI",
+ "label": "fi",
+ }
+ "A(SE_ODIA)": {
+ "key": "SE_OSTR",
+ "label": "Ø",
+ }
+ "A(SE_ADIA)": {
+ "key": "SE_AE",
+ "label": "Æ",
+ }
+ "A(SE_Z)": {
+ "key": "SE_DIV",
+ "label": "÷",
+ }
+ "A(SE_C)": {
+ "key": "SE_CCED",
+ "label": "Ç",
+ }
+ "A(SE_V)": {
+ "key": "SE_LSAQ",
+ "label": "‹",
+ }
+ "A(SE_B)": {
+ "key": "SE_RSAQ",
+ "label": "›",
+ }
+ "A(SE_N)": {
+ "key": "SE_LSQU",
+ "label": "‘",
+ }
+ "A(SE_M)": {
+ "key": "SE_RSQU",
+ "label": "’",
+ }
+ "A(SE_COMM)": {
+ "key": "SE_SLQU",
+ "label": "‚",
+ }
+ "A(SE_DOT)": {
+ "key": "SE_ELLP",
+ "label": "…",
+ }
+ "A(SE_MINS)": {
+ "key": "SE_NDSH",
+ "label": "–",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ *
+ */
+ "S(A(SE_LABK))": {
+ "key": "SE_GTEQ",
+ "label": "≥",
+ }
+ "S(A(SE_1))": {
+ "key": "SE_IEXL",
+ "label": "¡",
+ }
+ "S(A(SE_3))": {
+ "key": "SE_YEN",
+ "label": "¥",
+ }
+ "S(A(SE_4))": {
+ "key": "SE_CENT",
+ "label": "¢",
+ }
+ "S(A(SE_5))": {
+ "key": "SE_PERM",
+ "label": "‰",
+ }
+ "S(A(SE_6))": {
+ "key": "SE_PILC",
+ "label": "¶",
+ }
+ "S(A(SE_7))": {
+ "key": "SE_BSLS",
+ "label": "\\",
+ }
+ "S(A(SE_8))": {
+ "key": "SE_LCBR",
+ "label": "{",
+ }
+ "S(A(SE_9))": {
+ "key": "SE_RCBR",
+ "label": "}",
+ }
+ "S(A(SE_0))": {
+ "key": "SE_NEQL",
+ "label": "≠",
+ }
+ "S(A(SE_PLUS))": {
+ "key": "SE_IQUE",
+ "label": "¿",
+ }
+ "S(A(SE_Q))": {
+ "key": "SE_DEG",
+ "label": "°",
+ }
+ "S(A(SE_W))": {
+ "key": "SE_DACU",
+ "label": "˝",
+ }
+ "S(A(SE_T))": {
+ "key": "SE_DDAG",
+ "label": "‡",
+ }
+ "S(A(SE_Y))": {
+ "key": "SE_STIL",
+ "label": "˜",
+ }
+ "S(A(SE_I))": {
+ "key": "SE_DCIR",
+ "label": "ˆ",
+ }
+ "S(A(SE_P))": {
+ "key": "SE_NARP",
+ "label": "∏",
+ }
+ "S(A(SE_ARNG))": {
+ "key": "SE_RNGA",
+ "label": "˚",
+ }
+ "S(A(SE_A))": {
+ "key": "SE_LOZN",
+ "label": "◊",
+ }
+ "S(A(SE_S))": {
+ "key": "SE_NARS",
+ "label": "∑",
+ }
+ "S(A(SE_D))": {
+ "key": "SE_INCR",
+ "label": "∆",
+ }
+ "S(A(SE_F))": {
+ "key": "SE_INTG",
+ "label": "∫",
+ }
+ "S(A(SE_G))": {
+ "key": "SE_MACR",
+ "label": "¯",
+ }
+ "S(A(SE_H))": {
+ "key": "SE_BREV",
+ "label": "˘",
+ }
+ "S(A(SE_J))": {
+ "key": "SE_NOT",
+ "label": "¬",
+ }
+ "S(A(SE_K))": {
+ "key": "SE_MORD",
+ "label": "º",
+ }
+ "S(A(SE_L))": {
+ "key": "SE_FL",
+ "label": "fl",
+ }
+ "S(A(SE_Z))": {
+ "key": "SE_FRSL",
+ "label": "⁄",
+ }
+ "S(A(SE_X))": {
+ "key": "SE_CARN",
+ "label": "ˇ",
+ }
+ "S(A(SE_V))": {
+ "key": "SE_LDAQ",
+ "label": "«",
+ }
+ "S(A(SE_B))": {
+ "key": "SE_RDAQ",
+ "label": "»",
+ }
+ "S(A(SE_N))": {
+ "key": "SE_LDQU",
+ "label": "“",
+ }
+ "S(A(SE_M))": {
+ "key": "SE_RDQU",
+ "label": "”",
+ }
+ "S(A(SE_COMM))": {
+ "key": "SE_DLQU",
+ "label": "„",
+ }
+ "S(A(SE_DOT))": {
+ "key": "SE_MDDT",
+ "label": "·",
+ }
+ "S(A(SE_MINS))": {
+ "key": "SE_MDSH",
+ "label": "—",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "SE_SECT",
+ "label": "§",
+ }
+ "KC_1": {
+ "key": "SE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "SE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "SE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "SE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "SE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "SE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "SE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "SE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "SE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "SE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "SE_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "SE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "SE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "SE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "SE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "SE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "SE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "SE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "SE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "SE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "SE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "SE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "SE_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "SE_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "SE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "SE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "SE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "SE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "SE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "SE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "SE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "SE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "SE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "SE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "SE_ADIA",
+ "label": "Ä",
+ }
+ "KC_NUHS": {
+ "key": "SE_QUOT",
+ "label": "'",
+ }
+ "KC_NUBS": {
+ "key": "SE_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "SE_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "SE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "SE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "SE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "SE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "SE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "SE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "SE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "SE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "SE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(SE_SECT)": {
+ "key": "SE_DEG",
+ "label": "°",
+ }
+ "S(SE_1)": {
+ "key": "SE_EXLM",
+ "label": "!",
+ }
+ "S(SE_2)": {
+ "key": "SE_DQUO",
+ "label": "\"",
+ }
+ "S(SE_3)": {
+ "key": "SE_HASH",
+ "label": "#",
+ }
+ "S(SE_4)": {
+ "key": "SE_EURO",
+ "label": "€",
+ }
+ "S(SE_5)": {
+ "key": "SE_PERC",
+ "label": "%",
+ }
+ "S(SE_6)": {
+ "key": "SE_AMPR",
+ "label": "&",
+ }
+ "S(SE_7)": {
+ "key": "SE_SLSH",
+ "label": "/",
+ }
+ "S(SE_8)": {
+ "key": "SE_LPRN",
+ "label": "(",
+ }
+ "S(SE_9)": {
+ "key": "SE_RPRN",
+ "label": ")",
+ }
+ "S(SE_0)": {
+ "key": "SE_EQL",
+ "label": "=",
+ }
+ "S(SE_PLUS)": {
+ "key": "SE_QUES",
+ "label": "?",
+ }
+ "S(SE_ACUT)": {
+ "key": "SE_GRV",
+ "label": "`",
+ }
+ "S(SE_DIAE)": {
+ "key": "SE_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(SE_QUOT)": {
+ "key": "SE_ASTR",
+ "label": "*",
+ }
+ "S(SE_LABK)": {
+ "key": "SE_RABK",
+ "label": ">",
+ }
+ "S(SE_COMM)": {
+ "key": "SE_SCLN",
+ "label": ";",
+ }
+ "S(SE_DOT)": {
+ "key": "SE_COLN",
+ "label": ":",
+ }
+ "S(SE_MINS)": {
+ "key": "SE_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ¶ │ © │ ™ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ @ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "A(SE_SECT)": {
+ "key": "SE_PILC",
+ "label": "¶",
+ }
+ "A(SE_1)": {
+ "key": "SE_COPY",
+ "label": "©",
+ }
+ "A(SE_2)": {
+ "key": "SE_TM",
+ "label": "™",
+ }
+ "A(SE_3)": {
+ "key": "SE_PND",
+ "label": "£",
+ }
+ "A(SE_4)": {
+ "key": "SE_DLR",
+ "label": "$",
+ }
+ "A(SE_5)": {
+ "key": "SE_INFN",
+ "label": "∞",
+ }
+ "A(SE_7)": {
+ "key": "SE_PIPE",
+ "label": "|",
+ }
+ "A(SE_8)": {
+ "key": "SE_LBRC",
+ "label": "[",
+ }
+ "A(SE_9)": {
+ "key": "SE_RBRC",
+ "label": "]",
+ }
+ "A(SE_0)": {
+ "key": "SE_AEQL",
+ "label": "≈",
+ }
+ "A(SE_PLUS)": {
+ "key": "SE_PLMN",
+ "label": "±",
+ }
+ "A(SE_Q)": {
+ "key": "SE_BULT",
+ "label": "•",
+ }
+ "A(SE_W)": {
+ "key": "SE_OMEG",
+ "label": "Ω",
+ }
+ "A(SE_E)": {
+ "key": "SE_EACU",
+ "label": "É",
+ }
+ "A(SE_R)": {
+ "key": "SE_REGD",
+ "label": "®",
+ }
+ "A(SE_T)": {
+ "key": "SE_DAGG",
+ "label": "†",
+ }
+ "A(SE_Y)": {
+ "key": "SE_MICR",
+ "label": "µ",
+ }
+ "A(SE_U)": {
+ "key": "SE_UDIA",
+ "label": "Ü",
+ }
+ "A(SE_I)": {
+ "key": "SE_DLSI",
+ "label": "ı",
+ }
+ "A(SE_O)": {
+ "key": "SE_OE",
+ "label": "Œ",
+ }
+ "A(SE_P)": {
+ "key": "SE_PI",
+ "label": "π",
+ }
+ "A(SE_ARNG)": {
+ "key": "SE_DOTA",
+ "label": "˙",
+ }
+ "A(SE_DIAE)": {
+ "key": "SE_TILD",
+ "label": "~ (dead)",
+ }
+ "A(SE_A)": {
+ "key": "SE_APPL",
+ "label": " (Apple logo)",
+ }
+ "A(SE_S)": {
+ "key": "SE_SS",
+ "label": "ß",
+ }
+ "A(SE_D)": {
+ "key": "SE_PDIF",
+ "label": "∂",
+ }
+ "A(SE_F)": {
+ "key": "SE_FHK",
+ "label": "ƒ",
+ }
+ "A(SE_G)": {
+ "key": "SE_CEDL",
+ "label": "¸",
+ }
+ "A(SE_H)": {
+ "key": "SE_OGON",
+ "label": "˛",
+ }
+ "A(SE_J)": {
+ "key": "SE_SQRT",
+ "label": "√",
+ }
+ "A(SE_K)": {
+ "key": "SE_FORD",
+ "label": "ª",
+ }
+ "A(SE_L)": {
+ "key": "SE_FI",
+ "label": "fi",
+ }
+ "A(SE_ODIA)": {
+ "key": "SE_OSTR",
+ "label": "Ø",
+ }
+ "A(SE_ADIA)": {
+ "key": "SE_AE",
+ "label": "Æ",
+ }
+ "A(SE_QUOT)": {
+ "key": "SE_AT",
+ "label": "@",
+ }
+ "A(SE_LABK)": {
+ "key": "SE_LTEQ",
+ "label": "≤",
+ }
+ "A(SE_Z)": {
+ "key": "SE_DIV",
+ "label": "÷",
+ }
+ "A(SE_C)": {
+ "key": "SE_CCED",
+ "label": "Ç",
+ }
+ "A(SE_V)": {
+ "key": "SE_LSAQ",
+ "label": "‹",
+ }
+ "A(SE_B)": {
+ "key": "SE_RSAQ",
+ "label": "›",
+ }
+ "A(SE_N)": {
+ "key": "SE_LSQU",
+ "label": "‘",
+ }
+ "A(SE_M)": {
+ "key": "SE_RSQU",
+ "label": "’",
+ }
+ "A(SE_COMM)": {
+ "key": "SE_SLQU",
+ "label": "‚",
+ }
+ "A(SE_DOT)": {
+ "key": "SE_ELLP",
+ "label": "…",
+ }
+ "A(SE_MINS)": {
+ "key": "SE_NDSH",
+ "label": "–",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(A(SE_1))": {
+ "key": "SE_IEXL",
+ "label": "¡",
+ }
+ "S(A(SE_3))": {
+ "key": "SE_YEN",
+ "label": "¥",
+ }
+ "S(A(SE_4))": {
+ "key": "SE_CENT",
+ "label": "¢",
+ }
+ "S(A(SE_5))": {
+ "key": "SE_PERM",
+ "label": "‰",
+ }
+ "S(A(SE_7))": {
+ "key": "SE_BSLS",
+ "label": "\\",
+ }
+ "S(A(SE_8))": {
+ "key": "SE_LCBR",
+ "label": "{",
+ }
+ "S(A(SE_9))": {
+ "key": "SE_RCBR",
+ "label": "}",
+ }
+ "S(A(SE_0))": {
+ "key": "SE_NEQL",
+ "label": "≠",
+ }
+ "S(A(SE_PLUS))": {
+ "key": "SE_IQUE",
+ "label": "¿",
+ }
+ "S(A(SE_W))": {
+ "key": "SE_DACU",
+ "label": "˝",
+ }
+ "S(A(SE_T))": {
+ "key": "SE_DDAG",
+ "label": "‡",
+ }
+ "S(A(SE_Y))": {
+ "key": "SE_STIL",
+ "label": "˜",
+ }
+ "S(A(SE_I))": {
+ "key": "SE_DCIR",
+ "label": "ˆ",
+ }
+ "S(A(SE_P))": {
+ "key": "SE_NARP",
+ "label": "∏",
+ }
+ "S(A(SE_ARNG))": {
+ "key": "SE_RNGA",
+ "label": "˚",
+ }
+ "S(A(SE_A))": {
+ "key": "SE_LOZN",
+ "label": "◊",
+ }
+ "S(A(SE_S))": {
+ "key": "SE_NARS",
+ "label": "∑",
+ }
+ "S(A(SE_D))": {
+ "key": "SE_INCR",
+ "label": "∆",
+ }
+ "S(A(SE_F))": {
+ "key": "SE_INTG",
+ "label": "∫",
+ }
+ "S(A(SE_G))": {
+ "key": "SE_MACR",
+ "label": "¯",
+ }
+ "S(A(SE_H))": {
+ "key": "SE_BREV",
+ "label": "˘",
+ }
+ "S(A(SE_J))": {
+ "key": "SE_NOT",
+ "label": "¬",
+ }
+ "S(A(SE_K))": {
+ "key": "SE_MORD",
+ "label": "º",
+ }
+ "S(A(SE_L))": {
+ "key": "SE_FL",
+ "label": "fl",
+ }
+ "S(A(SE_LABK))": {
+ "key": "SE_GTEQ",
+ "label": "≥",
+ }
+ "S(A(SE_Z))": {
+ "key": "SE_FRSL",
+ "label": "⁄",
+ }
+ "S(A(SE_X))": {
+ "key": "SE_CARN",
+ "label": "ˇ",
+ }
+ "S(A(SE_V))": {
+ "key": "SE_LDAQ",
+ "label": "«",
+ }
+ "S(A(SE_B))": {
+ "key": "SE_RDAQ",
+ "label": "»",
+ }
+ "S(A(SE_N))": {
+ "key": "SE_LDQU",
+ "label": "“",
+ }
+ "S(A(SE_M))": {
+ "key": "SE_RDQU",
+ "label": "”",
+ }
+ "S(A(SE_COMM))": {
+ "key": "SE_DLQU",
+ "label": "„",
+ }
+ "S(A(SE_DOT))": {
+ "key": "SE_MDDT",
+ "label": "·",
+ }
+ "S(A(SE_MINS))": {
+ "key": "SE_MDSH",
+ "label": "—",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "SE_LABK",
+ "label": "<",
+ }
+ "KC_1": {
+ "key": "SE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "SE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "SE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "SE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "SE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "SE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "SE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "SE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "SE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "SE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "SE_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "SE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "SE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "SE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "SE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "SE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "SE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "SE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "SE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "SE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "SE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "SE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "SE_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "SE_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_NUHS": {
+ "key": "SE_QUOT",
+ "label": "'",
+ }
+ "KC_A": {
+ "key": "SE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "SE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "SE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "SE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "SE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "SE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "SE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "SE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "SE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "SE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "SE_ADIA",
+ "label": "Ä",
+ }
+ "KC_Z": {
+ "key": "SE_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "SE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "SE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "SE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "SE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "SE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "SE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "SE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "SE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "SE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(SE_LABK)": {
+ "key": "SE_RABK",
+ "label": ">",
+ }
+ "S(SE_1)": {
+ "key": "SE_EXLM",
+ "label": "!",
+ }
+ "S(SE_2)": {
+ "key": "SE_DQUO",
+ "label": "\"",
+ }
+ "S(SE_3)": {
+ "key": "SE_HASH",
+ "label": "#",
+ }
+ "S(SE_4)": {
+ "key": "SE_EURO",
+ "label": "€",
+ }
+ "S(SE_5)": {
+ "key": "SE_PERC",
+ "label": "%",
+ }
+ "S(SE_6)": {
+ "key": "SE_AMPR",
+ "label": "&",
+ }
+ "S(SE_7)": {
+ "key": "SE_SLSH",
+ "label": "/",
+ }
+ "S(SE_8)": {
+ "key": "SE_LPRN",
+ "label": "(",
+ }
+ "S(SE_9)": {
+ "key": "SE_RPRN",
+ "label": ")",
+ }
+ "S(SE_0)": {
+ "key": "SE_EQL",
+ "label": "=",
+ }
+ "S(SE_PLUS)": {
+ "key": "SE_QUES",
+ "label": "?",
+ }
+ "S(SE_ACUT)": {
+ "key": "SE_GRV",
+ "label": "`",
+ }
+ "S(SE_DIAE)": {
+ "key": "SE_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(SE_QUOT)": {
+ "key": "SE_ASTR",
+ "label": "*",
+ }
+ "S(SE_COMM)": {
+ "key": "SE_SCLN",
+ "label": ";",
+ }
+ "S(SE_DOT)": {
+ "key": "SE_COLN",
+ "label": ":",
+ }
+ "S(SE_MINS)": {
+ "key": "SE_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ≤ │ © │ @ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ ™ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ *
+ */
+ "A(SE_LABK)": {
+ "key": "SE_LTEQ",
+ "label": "≤",
+ }
+ "A(SE_1)": {
+ "key": "SE_COPY",
+ "label": "©",
+ }
+ "A(SE_2)": {
+ "key": "SE_AT",
+ "label": "@",
+ }
+ "A(SE_3)": {
+ "key": "SE_PND",
+ "label": "£",
+ }
+ "A(SE_4)": {
+ "key": "SE_DLR",
+ "label": "$",
+ }
+ "A(SE_5)": {
+ "key": "SE_INFN",
+ "label": "∞",
+ }
+ "A(SE_6)": {
+ "key": "SE_SECT",
+ "label": "§",
+ }
+ "A(SE_7)": {
+ "key": "SE_PIPE",
+ "label": "|",
+ }
+ "A(SE_8)": {
+ "key": "SE_LBRC",
+ "label": "[",
+ }
+ "A(SE_9)": {
+ "key": "SE_RBRC",
+ "label": "]",
+ }
+ "A(SE_0)": {
+ "key": "SE_AEQL",
+ "label": "≈",
+ }
+ "A(SE_PLUS)": {
+ "key": "SE_PLMN",
+ "label": "±",
+ }
+ "A(SE_Q)": {
+ "key": "SE_BULT",
+ "label": "•",
+ }
+ "A(SE_W)": {
+ "key": "SE_OMEG",
+ "label": "Ω",
+ }
+ "A(SE_E)": {
+ "key": "SE_EACU",
+ "label": "É",
+ }
+ "A(SE_R)": {
+ "key": "SE_REGD",
+ "label": "®",
+ }
+ "A(SE_T)": {
+ "key": "SE_DAGG",
+ "label": "†",
+ }
+ "A(SE_Y)": {
+ "key": "SE_MICR",
+ "label": "µ",
+ }
+ "A(SE_U)": {
+ "key": "SE_UDIA",
+ "label": "Ü",
+ }
+ "A(SE_I)": {
+ "key": "SE_DLSI",
+ "label": "ı",
+ }
+ "A(SE_O)": {
+ "key": "SE_OE",
+ "label": "Œ",
+ }
+ "A(SE_P)": {
+ "key": "SE_PI",
+ "label": "π",
+ }
+ "A(SE_ARNG)": {
+ "key": "SE_DOTA",
+ "label": "˙",
+ }
+ "A(SE_DIAE)": {
+ "key": "SE_TILD",
+ "label": "~ (dead)",
+ }
+ "A(SE_QUOT)": {
+ "key": "SE_TM",
+ "label": "™",
+ }
+ "A(SE_A)": {
+ "key": "SE_APPL",
+ "label": " (Apple logo)",
+ }
+ "A(SE_S)": {
+ "key": "SE_SS",
+ "label": "ß",
+ }
+ "A(SE_D)": {
+ "key": "SE_PDIF",
+ "label": "∂",
+ }
+ "A(SE_F)": {
+ "key": "SE_FHK",
+ "label": "ƒ",
+ }
+ "A(SE_G)": {
+ "key": "SE_CEDL",
+ "label": "¸",
+ }
+ "A(SE_H)": {
+ "key": "SE_OGON",
+ "label": "˛",
+ }
+ "A(SE_J)": {
+ "key": "SE_SQRT",
+ "label": "√",
+ }
+ "A(SE_K)": {
+ "key": "SE_FORD",
+ "label": "ª",
+ }
+ "A(SE_L)": {
+ "key": "SE_FI",
+ "label": "fi",
+ }
+ "A(SE_ODIA)": {
+ "key": "SE_OSTR",
+ "label": "Ø",
+ }
+ "A(SE_ADIA)": {
+ "key": "SE_AE",
+ "label": "Æ",
+ }
+ "A(SE_Z)": {
+ "key": "SE_DIV",
+ "label": "÷",
+ }
+ "A(SE_C)": {
+ "key": "SE_CCED",
+ "label": "Ç",
+ }
+ "A(SE_V)": {
+ "key": "SE_LSAQ",
+ "label": "‹",
+ }
+ "A(SE_B)": {
+ "key": "SE_RSAQ",
+ "label": "›",
+ }
+ "A(SE_N)": {
+ "key": "SE_LSQU",
+ "label": "‘",
+ }
+ "A(SE_M)": {
+ "key": "SE_RSQU",
+ "label": "’",
+ }
+ "A(SE_COMM)": {
+ "key": "SE_SLQU",
+ "label": "‚",
+ }
+ "A(SE_DOT)": {
+ "key": "SE_ELLP",
+ "label": "…",
+ }
+ "A(SE_MINS)": {
+ "key": "SE_NDSH",
+ "label": "–",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
+ * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
+ * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
+ * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ *
+ */
+ "S(A(SE_LABK))": {
+ "key": "SE_GTEQ",
+ "label": "≥",
+ }
+ "S(A(SE_1))": {
+ "key": "SE_IEXL",
+ "label": "¡",
+ }
+ "S(A(SE_3))": {
+ "key": "SE_YEN",
+ "label": "¥",
+ }
+ "S(A(SE_4))": {
+ "key": "SE_CENT",
+ "label": "¢",
+ }
+ "S(A(SE_5))": {
+ "key": "SE_PERM",
+ "label": "‰",
+ }
+ "S(A(SE_6))": {
+ "key": "SE_PILC",
+ "label": "¶",
+ }
+ "S(A(SE_7))": {
+ "key": "SE_BSLS",
+ "label": "\\",
+ }
+ "S(A(SE_8))": {
+ "key": "SE_LCBR",
+ "label": "{",
+ }
+ "S(A(SE_9))": {
+ "key": "SE_RCBR",
+ "label": "}",
+ }
+ "S(A(SE_0))": {
+ "key": "SE_NEQL",
+ "label": "≠",
+ }
+ "S(A(SE_PLUS))": {
+ "key": "SE_IQUE",
+ "label": "¿",
+ }
+ "S(A(SE_Q))": {
+ "key": "SE_DEG",
+ "label": "°",
+ }
+ "S(A(SE_W))": {
+ "key": "SE_DACU",
+ "label": "˝",
+ }
+ "S(A(SE_T))": {
+ "key": "SE_DDAG",
+ "label": "‡",
+ }
+ "S(A(SE_Y))": {
+ "key": "SE_STIL",
+ "label": "˜",
+ }
+ "S(A(SE_I))": {
+ "key": "SE_DCIR",
+ "label": "ˆ",
+ }
+ "S(A(SE_P))": {
+ "key": "SE_NARP",
+ "label": "∏",
+ }
+ "S(A(SE_ARNG))": {
+ "key": "SE_RNGA",
+ "label": "˚",
+ }
+ "S(A(SE_A))": {
+ "key": "SE_LOZN",
+ "label": "◊",
+ }
+ "S(A(SE_S))": {
+ "key": "SE_NARS",
+ "label": "∑",
+ }
+ "S(A(SE_D))": {
+ "key": "SE_INCR",
+ "label": "∆",
+ }
+ "S(A(SE_F))": {
+ "key": "SE_INTG",
+ "label": "∫",
+ }
+ "S(A(SE_G))": {
+ "key": "SE_MACR",
+ "label": "¯",
+ }
+ "S(A(SE_H))": {
+ "key": "SE_BREV",
+ "label": "˘",
+ }
+ "S(A(SE_J))": {
+ "key": "SE_NOT",
+ "label": "¬",
+ }
+ "S(A(SE_K))": {
+ "key": "SE_MORD",
+ "label": "º",
+ }
+ "S(A(SE_L))": {
+ "key": "SE_FL",
+ "label": "fl",
+ }
+ "S(A(SE_Z))": {
+ "key": "SE_FRSL",
+ "label": "⁄",
+ }
+ "S(A(SE_X))": {
+ "key": "SE_CARN",
+ "label": "ˇ",
+ }
+ "S(A(SE_V))": {
+ "key": "SE_LDAQ",
+ "label": "«",
+ }
+ "S(A(SE_B))": {
+ "key": "SE_RDAQ",
+ "label": "»",
+ }
+ "S(A(SE_N))": {
+ "key": "SE_LDQU",
+ "label": "“",
+ }
+ "S(A(SE_M))": {
+ "key": "SE_RDQU",
+ "label": "”",
+ }
+ "S(A(SE_COMM))": {
+ "key": "SE_DLQU",
+ "label": "„",
+ }
+ "S(A(SE_DOT))": {
+ "key": "SE_MDDT",
+ "label": "·",
+ }
+ "S(A(SE_MINS))": {
+ "key": "SE_MDSH",
+ "label": "—",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "KC_GRV": {
+ "key": "SE_SECT",
+ "label": "§",
+ }
+ "KC_1": {
+ "key": "SE_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "SE_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "SE_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "SE_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "SE_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "SE_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "SE_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "SE_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "SE_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "SE_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "SE_PLUS",
+ "label": "+",
+ }
+ "KC_EQL": {
+ "key": "SE_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Q": {
+ "key": "SE_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "SE_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "SE_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "SE_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "SE_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "SE_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "SE_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "SE_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "SE_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "SE_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "SE_ARNG",
+ "label": "Å",
+ }
+ "KC_RBRC": {
+ "key": "SE_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "SE_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "SE_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "SE_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "SE_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "SE_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "SE_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "SE_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "SE_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "SE_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "SE_ODIA",
+ "label": "Ö",
+ }
+ "KC_QUOT": {
+ "key": "SE_ADIA",
+ "label": "Ä",
+ }
+ "KC_NUHS": {
+ "key": "SE_QUOT",
+ "label": "'",
+ }
+ "KC_NUBS": {
+ "key": "SE_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "SE_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "SE_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "SE_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "SE_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "SE_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "SE_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "SE_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "SE_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "SE_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "SE_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(SE_SECT)": {
+ "key": "SE_DEG",
+ "label": "°",
+ }
+ "S(SE_1)": {
+ "key": "SE_EXLM",
+ "label": "!",
+ }
+ "S(SE_2)": {
+ "key": "SE_DQUO",
+ "label": "\"",
+ }
+ "S(SE_3)": {
+ "key": "SE_HASH",
+ "label": "#",
+ }
+ "S(SE_4)": {
+ "key": "SE_EURO",
+ "label": "€",
+ }
+ "S(SE_5)": {
+ "key": "SE_PERC",
+ "label": "%",
+ }
+ "S(SE_6)": {
+ "key": "SE_AMPR",
+ "label": "&",
+ }
+ "S(SE_7)": {
+ "key": "SE_SLSH",
+ "label": "/",
+ }
+ "S(SE_8)": {
+ "key": "SE_LPRN",
+ "label": "(",
+ }
+ "S(SE_9)": {
+ "key": "SE_RPRN",
+ "label": ")",
+ }
+ "S(SE_0)": {
+ "key": "SE_EQL",
+ "label": "=",
+ }
+ "S(SE_PLUS)": {
+ "key": "SE_QUES",
+ "label": "?",
+ }
+ "S(SE_ACUT)": {
+ "key": "SE_GRV",
+ "label": "`",
+ }
+ "S(SE_DIAE)": {
+ "key": "SE_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(SE_QUOT)": {
+ "key": "SE_ASTR",
+ "label": "*",
+ }
+ "S(SE_LABK)": {
+ "key": "SE_RABK",
+ "label": ">",
+ }
+ "S(SE_COMM)": {
+ "key": "SE_SCLN",
+ "label": ";",
+ }
+ "S(SE_DOT)": {
+ "key": "SE_COLN",
+ "label": ":",
+ }
+ "S(SE_MINS)": {
+ "key": "SE_UNDS",
+ "label": "_",
+ }
+/* Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ ¶ │ © │ @ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ ™ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "A(SE_SECT)": {
+ "key": "SE_PILC",
+ "label": "¶",
+ }
+ "A(SE_1)": {
+ "key": "SE_COPY",
+ "label": "©",
+ }
+ "A(SE_2)": {
+ "key": "SE_AT",
+ "label": "@",
+ }
+ "A(SE_3)": {
+ "key": "SE_PND",
+ "label": "£",
+ }
+ "A(SE_4)": {
+ "key": "SE_DLR",
+ "label": "$",
+ }
+ "A(SE_5)": {
+ "key": "SE_INFN",
+ "label": "∞",
+ }
+ "A(SE_7)": {
+ "key": "SE_PIPE",
+ "label": "|",
+ }
+ "A(SE_8)": {
+ "key": "SE_LBRC",
+ "label": "[",
+ }
+ "A(SE_9)": {
+ "key": "SE_RBRC",
+ "label": "]",
+ }
+ "A(SE_0)": {
+ "key": "SE_AEQL",
+ "label": "≈",
+ }
+ "A(SE_PLUS)": {
+ "key": "SE_PLMN",
+ "label": "±",
+ }
+ "A(SE_Q)": {
+ "key": "SE_BULT",
+ "label": "•",
+ }
+ "A(SE_W)": {
+ "key": "SE_OMEG",
+ "label": "Ω",
+ }
+ "A(SE_E)": {
+ "key": "SE_EACU",
+ "label": "É",
+ }
+ "A(SE_R)": {
+ "key": "SE_REGD",
+ "label": "®",
+ }
+ "A(SE_T)": {
+ "key": "SE_DAGG",
+ "label": "†",
+ }
+ "A(SE_Y)": {
+ "key": "SE_MICR",
+ "label": "µ",
+ }
+ "A(SE_U)": {
+ "key": "SE_UDIA",
+ "label": "Ü",
+ }
+ "A(SE_I)": {
+ "key": "SE_DLSI",
+ "label": "ı",
+ }
+ "A(SE_O)": {
+ "key": "SE_OE",
+ "label": "Œ",
+ }
+ "A(SE_P)": {
+ "key": "SE_PI",
+ "label": "π",
+ }
+ "A(SE_ARNG)": {
+ "key": "SE_DOTA",
+ "label": "˙",
+ }
+ "A(SE_DIAE)": {
+ "key": "SE_TILD",
+ "label": "~ (dead)",
+ }
+ "A(SE_A)": {
+ "key": "SE_APPL",
+ "label": " (Apple logo)",
+ }
+ "A(SE_S)": {
+ "key": "SE_SS",
+ "label": "ß",
+ }
+ "A(SE_D)": {
+ "key": "SE_PDIF",
+ "label": "∂",
+ }
+ "A(SE_F)": {
+ "key": "SE_FHK",
+ "label": "ƒ",
+ }
+ "A(SE_G)": {
+ "key": "SE_CEDL",
+ "label": "¸",
+ }
+ "A(SE_H)": {
+ "key": "SE_OGON",
+ "label": "˛",
+ }
+ "A(SE_J)": {
+ "key": "SE_SQRT",
+ "label": "√",
+ }
+ "A(SE_K)": {
+ "key": "SE_FORD",
+ "label": "ª",
+ }
+ "A(SE_L)": {
+ "key": "SE_FI",
+ "label": "fi",
+ }
+ "A(SE_ODIA)": {
+ "key": "SE_OSTR",
+ "label": "Ø",
+ }
+ "A(SE_ADIA)": {
+ "key": "SE_AE",
+ "label": "Æ",
+ }
+ "A(SE_QUOT)": {
+ "key": "SE_TM",
+ "label": "™",
+ }
+ "A(SE_LABK)": {
+ "key": "SE_LTEQ",
+ "label": "≤",
+ }
+ "A(SE_Z)": {
+ "key": "SE_DIV",
+ "label": "÷",
+ }
+ "A(SE_C)": {
+ "key": "SE_CCED",
+ "label": "Ç",
+ }
+ "A(SE_V)": {
+ "key": "SE_LSAQ",
+ "label": "‹",
+ }
+ "A(SE_B)": {
+ "key": "SE_RSAQ",
+ "label": "›",
+ }
+ "A(SE_N)": {
+ "key": "SE_LSQU",
+ "label": "‘",
+ }
+ "A(SE_M)": {
+ "key": "SE_RSQU",
+ "label": "’",
+ }
+ "A(SE_COMM)": {
+ "key": "SE_SLQU",
+ "label": "‚",
+ }
+ "A(SE_DOT)": {
+ "key": "SE_ELLP",
+ "label": "…",
+ }
+ "A(SE_MINS)": {
+ "key": "SE_NDSH",
+ "label": "–",
+ }
+/* Shift+Alted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
+ * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
+ * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
+ * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
+ * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
+ * │ │ │ │ │ │ │ │
+ * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
+ */
+ "S(A(SE_1))": {
+ "key": "SE_IEXL",
+ "label": "¡",
+ }
+ "S(A(SE_3))": {
+ "key": "SE_YEN",
+ "label": "¥",
+ }
+ "S(A(SE_4))": {
+ "key": "SE_CENT",
+ "label": "¢",
+ }
+ "S(A(SE_5))": {
+ "key": "SE_PERM",
+ "label": "‰",
+ }
+ "S(A(SE_7))": {
+ "key": "SE_BSLS",
+ "label": "\\",
+ }
+ "S(A(SE_8))": {
+ "key": "SE_LCBR",
+ "label": "{",
+ }
+ "S(A(SE_9))": {
+ "key": "SE_RCBR",
+ "label": "}",
+ }
+ "S(A(SE_0))": {
+ "key": "SE_NEQL",
+ "label": "≠",
+ }
+ "S(A(SE_PLUS))": {
+ "key": "SE_IQUE",
+ "label": "¿",
+ }
+ "S(A(SE_W))": {
+ "key": "SE_DACU",
+ "label": "˝",
+ }
+ "S(A(SE_T))": {
+ "key": "SE_DDAG",
+ "label": "‡",
+ }
+ "S(A(SE_Y))": {
+ "key": "SE_STIL",
+ "label": "˜",
+ }
+ "S(A(SE_I))": {
+ "key": "SE_DCIR",
+ "label": "ˆ",
+ }
+ "S(A(SE_P))": {
+ "key": "SE_NARP",
+ "label": "∏",
+ }
+ "S(A(SE_ARNG))": {
+ "key": "SE_RNGA",
+ "label": "˚",
+ }
+ "S(A(SE_A))": {
+ "key": "SE_LOZN",
+ "label": "◊",
+ }
+ "S(A(SE_S))": {
+ "key": "SE_NARS",
+ "label": "∑",
+ }
+ "S(A(SE_D))": {
+ "key": "SE_INCR",
+ "label": "∆",
+ }
+ "S(A(SE_F))": {
+ "key": "SE_INTG",
+ "label": "∫",
+ }
+ "S(A(SE_G))": {
+ "key": "SE_MACR",
+ "label": "¯",
+ }
+ "S(A(SE_H))": {
+ "key": "SE_BREV",
+ "label": "˘",
+ }
+ "S(A(SE_J))": {
+ "key": "SE_NOT",
+ "label": "¬",
+ }
+ "S(A(SE_K))": {
+ "key": "SE_MORD",
+ "label": "º",
+ }
+ "S(A(SE_L))": {
+ "key": "SE_FL",
+ "label": "fl",
+ }
+ "S(A(SE_LABK))": {
+ "key": "SE_GTEQ",
+ "label": "≥",
+ }
+ "S(A(SE_Z))": {
+ "key": "SE_FRSL",
+ "label": "⁄",
+ }
+ "S(A(SE_X))": {
+ "key": "SE_CARN",
+ "label": "ˇ",
+ }
+ "S(A(SE_V))": {
+ "key": "SE_LDAQ",
+ "label": "«",
+ }
+ "S(A(SE_B))": {
+ "key": "SE_RDAQ",
+ "label": "»",
+ }
+ "S(A(SE_N))": {
+ "key": "SE_LDQU",
+ "label": "“",
+ }
+ "S(A(SE_M))": {
+ "key": "SE_RDQU",
+ "label": "”",
+ }
+ "S(A(SE_COMM))": {
+ "key": "SE_DLQU",
+ "label": "„",
+ }
+ "S(A(SE_DOT))": {
+ "key": "SE_MDDT",
+ "label": "·",
+ }
+ "S(A(SE_MINS))": {
+ "key": "SE_MDSH",
+ "label": "—",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ü │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ö │ ä │ $ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "CH_SECT",
+ "label": "§",
+ }
+ "KC_1": {
+ "key": "CH_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "CH_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "CH_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "CH_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "CH_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "CH_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "CH_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "CH_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "CH_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "CH_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "CH_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "CH_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_Q": {
+ "key": "CH_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "CH_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "CH_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "CH_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "CH_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "CH_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "CH_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "CH_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "CH_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "CH_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "CH_UDIA",
+ "label": "ü",
+ }
+ "KC_RBRC": {
+ "key": "CH_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "CH_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "CH_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "CH_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "CH_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "CH_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "CH_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "CH_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "CH_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "CH_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "CH_ODIA",
+ "label": "ö",
+ }
+ "KC_QUOT": {
+ "key": "CH_ADIA",
+ "label": "ä",
+ }
+ "KC_NUHS": {
+ "key": "CH_DLR",
+ "label": "$",
+ }
+ "KC_NUBS": {
+ "key": "CH_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "CH_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "CH_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "CH_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "CH_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "CH_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "CH_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "CH_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "CH_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "CH_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "CH_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ è │ ! │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ é │ à │ £ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(CH_SECT)": {
+ "key": "CH_DEG",
+ "label": "°",
+ }
+ "S(CH_1)": {
+ "key": "CH_PLUS",
+ "label": "+",
+ }
+ "S(CH_2)": {
+ "key": "CH_DQUO",
+ "label": "\"",
+ }
+ "S(CH_3)": {
+ "key": "CH_ASTR",
+ "label": "*",
+ }
+ "S(CH_4)": {
+ "key": "CH_CCED",
+ "label": "ç",
+ }
+ "S(CH_5)": {
+ "key": "CH_PERC",
+ "label": "%",
+ }
+ "S(CH_6)": {
+ "key": "CH_AMPR",
+ "label": "&",
+ }
+ "S(CH_7)": {
+ "key": "CH_SLSH",
+ "label": "/",
+ }
+ "S(CH_8)": {
+ "key": "CH_LPRN",
+ "label": "(",
+ }
+ "S(CH_9)": {
+ "key": "CH_RPRN",
+ "label": ")",
+ }
+ "S(CH_0)": {
+ "key": "CH_EQL",
+ "label": "=",
+ }
+ "S(CH_QUOT)": {
+ "key": "CH_QUES",
+ "label": "?",
+ }
+ "S(CH_CIRC)": {
+ "key": "CH_GRV",
+ "label": "` (dead)",
+ }
+ "S(CH_UDIA)": {
+ "key": "CH_EGRV",
+ "label": "è",
+ }
+ "S(CH_DIAE)": {
+ "key": "CH_EXLM",
+ "label": "!",
+ }
+ "S(CH_ODIA)": {
+ "key": "CH_EACU",
+ "label": "é",
+ }
+ "S(CH_ADIA)": {
+ "key": "CH_AGRV",
+ "label": "à",
+ }
+ "S(CH_DLR)": {
+ "key": "CH_PND",
+ "label": "£",
+ }
+ "S(CH_LABK)": {
+ "key": "CH_RABK",
+ "label": ">",
+ }
+ "S(CH_COMM)": {
+ "key": "CH_SCLN",
+ "label": ";",
+ }
+ "S(CH_DOT)": {
+ "key": "CH_COLN",
+ "label": ":",
+ }
+ "S(CH_MINS)": {
+ "key": "CH_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(CH_1)": {
+ "key": "CH_BRKP",
+ "label": "¦",
+ }
+ "ALGR(CH_2)": {
+ "key": "CH_AT",
+ "label": "@",
+ }
+ "ALGR(CH_3)": {
+ "key": "CH_HASH",
+ "label": "#",
+ }
+ "ALGR(CH_6)": {
+ "key": "CH_NOT",
+ "label": "¬",
+ }
+ "ALGR(CH_7)": {
+ "key": "CH_PIPE",
+ "label": "|",
+ }
+ "ALGR(CH_8)": {
+ "key": "CH_CENT",
+ "label": "¢",
+ }
+ "ALGR(CH_QUOT)": {
+ "key": "CH_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(CH_CIRC)": {
+ "key": "CH_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(CH_E)": {
+ "key": "CH_EURO",
+ "label": "€",
+ }
+ "ALGR(CH_UDIA)": {
+ "key": "CH_LBRC",
+ "label": "[",
+ }
+ "ALGR(CH_DIAE)": {
+ "key": "CH_RBRC",
+ "label": "]",
+ }
+ "ALGR(CH_ADIA)": {
+ "key": "CH_LCBR",
+ "label": "{",
+ }
+ "ALGR(CH_DLR)": {
+ "key": "CH_RCBR",
+ "label": "}",
+ }
+ "ALGR(CH_LABK)": {
+ "key": "CH_BSLS",
+ "label": "\\",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ è │ ¨ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ é │ à │ $ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "CH_SECT",
+ "label": "§",
+ }
+ "KC_1": {
+ "key": "CH_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "CH_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "CH_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "CH_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "CH_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "CH_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "CH_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "CH_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "CH_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "CH_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "CH_QUOT",
+ "label": "'",
+ }
+ "KC_EQL": {
+ "key": "CH_CIRC",
+ "label": "^ (dead)",
+ }
+ "KC_Q": {
+ "key": "CH_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "CH_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "CH_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "CH_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "CH_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "CH_Z",
+ "label": "Z",
+ }
+ "KC_U": {
+ "key": "CH_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "CH_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "CH_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "CH_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "CH_EGRV",
+ "label": "è",
+ }
+ "KC_RBRC": {
+ "key": "CH_DIAE",
+ "label": "¨ (dead)",
+ }
+ "KC_A": {
+ "key": "CH_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "CH_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "CH_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "CH_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "CH_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "CH_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "CH_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "CH_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "CH_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "CH_EACU",
+ "label": "é",
+ }
+ "KC_QUOT": {
+ "key": "CH_AGRV",
+ "label": "à",
+ }
+ "KC_NUHS": {
+ "key": "CH_DLR",
+ "label": "$",
+ }
+ "KC_NUBS": {
+ "key": "CH_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "CH_Y",
+ "label": "Y",
+ }
+ "KC_X": {
+ "key": "CH_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "CH_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "CH_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "CH_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "CH_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "CH_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "CH_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "CH_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "CH_MINS",
+ "label": "-",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ ü │ ! │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ ö │ ä │ £ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(CH_SECT)": {
+ "key": "CH_DEG",
+ "label": "°",
+ }
+ "S(CH_1)": {
+ "key": "CH_PLUS",
+ "label": "+",
+ }
+ "S(CH_2)": {
+ "key": "CH_DQUO",
+ "label": "\"",
+ }
+ "S(CH_3)": {
+ "key": "CH_ASTR",
+ "label": "*",
+ }
+ "S(CH_4)": {
+ "key": "CH_CCED",
+ "label": "ç",
+ }
+ "S(CH_5)": {
+ "key": "CH_PERC",
+ "label": "%",
+ }
+ "S(CH_6)": {
+ "key": "CH_AMPR",
+ "label": "&",
+ }
+ "S(CH_7)": {
+ "key": "CH_SLSH",
+ "label": "/",
+ }
+ "S(CH_8)": {
+ "key": "CH_LPRN",
+ "label": "(",
+ }
+ "S(CH_9)": {
+ "key": "CH_RPRN",
+ "label": ")",
+ }
+ "S(CH_0)": {
+ "key": "CH_EQL",
+ "label": "=",
+ }
+ "S(CH_QUOT)": {
+ "key": "CH_QUES",
+ "label": "?",
+ }
+ "S(CH_CIRC)": {
+ "key": "CH_GRV",
+ "label": "` (dead)",
+ }
+ "S(CH_EGRV)": {
+ "key": "CH_UDIA",
+ "label": "ü",
+ }
+ "S(CH_DIAE)": {
+ "key": "CH_EXLM",
+ "label": "!",
+ }
+ "S(CH_EACU)": {
+ "key": "CH_ODIA",
+ "label": "ö",
+ }
+ "S(CH_AGRV)": {
+ "key": "CH_ADIA",
+ "label": "ä",
+ }
+ "S(CH_DLR)": {
+ "key": "CH_PND",
+ "label": "£",
+ }
+ "S(CH_LABK)": {
+ "key": "CH_RABK",
+ "label": ">",
+ }
+ "S(CH_COMM)": {
+ "key": "CH_SCLN",
+ "label": ";",
+ }
+ "S(CH_DOT)": {
+ "key": "CH_COLN",
+ "label": ":",
+ }
+ "S(CH_MINS)": {
+ "key": "CH_UNDS",
+ "label": "_",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(CH_1)": {
+ "key": "CH_BRKP",
+ "label": "¦",
+ }
+ "ALGR(CH_2)": {
+ "key": "CH_AT",
+ "label": "@",
+ }
+ "ALGR(CH_3)": {
+ "key": "CH_HASH",
+ "label": "#",
+ }
+ "ALGR(CH_6)": {
+ "key": "CH_NOT",
+ "label": "¬",
+ }
+ "ALGR(CH_7)": {
+ "key": "CH_PIPE",
+ "label": "|",
+ }
+ "ALGR(CH_8)": {
+ "key": "CH_CENT",
+ "label": "¢",
+ }
+ "ALGR(CH_QUOT)": {
+ "key": "CH_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(CH_CIRC)": {
+ "key": "CH_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(CH_E)": {
+ "key": "CH_EURO",
+ "label": "€",
+ }
+ "ALGR(CH_EGRV)": {
+ "key": "CH_LBRC",
+ "label": "[",
+ }
+ "ALGR(CH_DIAE)": {
+ "key": "CH_RBRC",
+ "label": "]",
+ }
+ "ALGR(CH_AGRV)": {
+ "key": "CH_LCBR",
+ "label": "{",
+ }
+ "ALGR(CH_DLR)": {
+ "key": "CH_RCBR",
+ "label": "}",
+ }
+ "ALGR(CH_LABK)": {
+ "key": "CH_BSLS",
+ "label": "\\",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ + │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ / │ - │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ F │ G │ Ğ │ I │ O │ D │ R │ N │ H │ P │ Q │ W │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ U │ İ │ E │ A │ Ü │ T │ K │ M │ L │ Y │ Ş │ X │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ J │ Ö │ V │ C │ Ç │ Z │ S │ B │ . │ , │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "TR_PLUS",
+ "label": "+",
+ }
+ "KC_1": {
+ "key": "TR_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "TR_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "TR_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "TR_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "TR_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "TR_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "TR_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "TR_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "TR_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "TR_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "TR_SLSH",
+ "label": "/",
+ }
+ "KC_EQL": {
+ "key": "TR_MINS",
+ "label": "-",
+ }
+ "KC_Q": {
+ "key": "TR_F",
+ "label": "F",
+ }
+ "KC_W": {
+ "key": "TR_G",
+ "label": "G",
+ }
+ "KC_E": {
+ "key": "TR_GBRV",
+ "label": "Ğ",
+ }
+ "KC_R": {
+ "key": "TR_I",
+ "label": "I",
+ }
+ "KC_T": {
+ "key": "TR_O",
+ "label": "O",
+ }
+ "KC_Y": {
+ "key": "TR_D",
+ "label": "D",
+ }
+ "KC_U": {
+ "key": "TR_R",
+ "label": "R",
+ }
+ "KC_I": {
+ "key": "TR_N",
+ "label": "N",
+ }
+ "KC_O": {
+ "key": "TR_H",
+ "label": "H",
+ }
+ "KC_P": {
+ "key": "TR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "TR_Q",
+ "label": "Q",
+ }
+ "KC_RBRC": {
+ "key": "TR_W",
+ "label": "W",
+ }
+ "KC_A": {
+ "key": "TR_U",
+ "label": "U",
+ }
+ "KC_S": {
+ "key": "TR_IDOT",
+ "label": "İ",
+ }
+ "KC_D": {
+ "key": "TR_E",
+ "label": "E",
+ }
+ "KC_F": {
+ "key": "TR_A",
+ "label": "A",
+ }
+ "KC_G": {
+ "key": "TR_UDIA",
+ "label": "Ü",
+ }
+ "KC_H": {
+ "key": "TR_T",
+ "label": "T",
+ }
+ "KC_J": {
+ "key": "TR_K",
+ "label": "K",
+ }
+ "KC_K": {
+ "key": "TR_M",
+ "label": "M",
+ }
+ "KC_L": {
+ "key": "TR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "TR_Y",
+ "label": "Y",
+ }
+ "KC_QUOT": {
+ "key": "TR_SCED",
+ "label": "Ş",
+ }
+ "KC_NUHS": {
+ "key": "TR_X",
+ "label": "X",
+ }
+ "KC_NUBS": {
+ "key": "TR_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "TR_J",
+ "label": "J",
+ }
+ "KC_X": {
+ "key": "TR_ODIA",
+ "label": "Ö",
+ }
+ "KC_C": {
+ "key": "TR_V",
+ "label": "V",
+ }
+ "KC_V": {
+ "key": "TR_C",
+ "label": "C",
+ }
+ "KC_B": {
+ "key": "TR_CCED",
+ "label": "Ç",
+ }
+ "KC_N": {
+ "key": "TR_Z",
+ "label": "Z",
+ }
+ "KC_M": {
+ "key": "TR_S",
+ "label": "S",
+ }
+ "KC_COMM": {
+ "key": "TR_B",
+ "label": "B",
+ }
+ "KC_DOT": {
+ "key": "TR_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "TR_COMM",
+ "label": ",",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ * │ ! │ " │ ^ │ $ │ % │ & │ ' │ ( │ ) │ = │ ? │ _ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ │ : │ ; │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(TR_PLUS)": {
+ "key": "TR_ASTR",
+ "label": "*",
+ }
+ "S(TR_1)": {
+ "key": "TR_EXLM",
+ "label": "!",
+ }
+ "S(TR_2)": {
+ "key": "TR_DQUO",
+ "label": "\"",
+ }
+ "S(TR_3)": {
+ "key": "TR_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(TR_4)": {
+ "key": "TR_DLR",
+ "label": "$",
+ }
+ "S(TR_5)": {
+ "key": "TR_PERC",
+ "label": "%",
+ }
+ "S(TR_6)": {
+ "key": "TR_AMPR",
+ "label": "&",
+ }
+ "S(TR_7)": {
+ "key": "TR_QUOT",
+ "label": "'",
+ }
+ "S(TR_8)": {
+ "key": "TR_LPRN",
+ "label": "(",
+ }
+ "S(TR_9)": {
+ "key": "TR_RPRN",
+ "label": ")",
+ }
+ "S(TR_0)": {
+ "key": "TR_EQL",
+ "label": "=",
+ }
+ "S(TR_SLSH)": {
+ "key": "TR_QUES",
+ "label": "?",
+ }
+ "S(TR_MINS)": {
+ "key": "TR_UNDS",
+ "label": "_",
+ }
+ "S(TR_LABK)": {
+ "key": "TR_RABK",
+ "label": ">",
+ }
+ "S(TR_DOT)": {
+ "key": "TR_COLN",
+ "label": ":",
+ }
+ "S(TR_COMM)": {
+ "key": "TR_SCLN",
+ "label": ";",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¬ │ ¹ │ ² │ # │ ¼ │ ½ │ ¾ │ { │ [ │ ] │ } │ \ │ | │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ @ │ │ │ ¶ │ │ ¥ │ │ │ Ø │ £ │ ¨ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Æ │ ß │ € │ │ │ ₺ │ │ │ │ ´ │ │ ` │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ « │ » │ ¢ │ │ │ │ µ │ × │ ÷ │ - │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(TR_PLUS)": {
+ "key": "TR_NOT",
+ "label": "¬",
+ }
+ "ALGR(TR_1)": {
+ "key": "TR_SUP1",
+ "label": "¹",
+ }
+ "ALGR(TR_2)": {
+ "key": "TR_SUP2",
+ "label": "²",
+ }
+ "ALGR(TR_3)": {
+ "key": "TR_HASH",
+ "label": "#",
+ }
+ "ALGR(TR_4)": {
+ "key": "TR_QRTR",
+ "label": "¼",
+ }
+ "ALGR(TR_5)": {
+ "key": "TR_HALF",
+ "label": "½",
+ }
+ "ALGR(TR_6)": {
+ "key": "TR_TQTR",
+ "label": "¾",
+ }
+ "ALGR(TR_7)": {
+ "key": "TR_LCBR",
+ "label": "{",
+ }
+ "ALGR(TR_8)": {
+ "key": "TR_LBRC",
+ "label": "[",
+ }
+ "ALGR(TR_9)": {
+ "key": "TR_RBRC",
+ "label": "]",
+ }
+ "ALGR(TR_0)": {
+ "key": "TR_RCBR",
+ "label": "}",
+ }
+ "ALGR(TR_SLSH)": {
+ "key": "TR_BSLS",
+ "label": "\\",
+ }
+ "ALGR(TR_MINS)": {
+ "key": "TR_PIPE",
+ "label": "|",
+ }
+ "ALGR(TR_F)": {
+ "key": "TR_AT",
+ "label": "@",
+ }
+ "ALGR(TR_I)": {
+ "key": "TR_PILC",
+ "label": "¶",
+ }
+ "ALGR(TR_D)": {
+ "key": "TR_YEN",
+ "label": "¥",
+ }
+ "ALGR(TR_H)": {
+ "key": "TR_OSTR",
+ "label": "Ø",
+ }
+ "ALGR(TR_P)": {
+ "key": "TR_PND",
+ "label": "£",
+ }
+ "ALGR(TR_Q)": {
+ "key": "TR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(TR_W)": {
+ "key": "TR_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(TR_U)": {
+ "key": "TR_AE",
+ "label": "Æ",
+ }
+ "ALGR(TR_IDOT)": {
+ "key": "TR_SS",
+ "label": "ß",
+ }
+ "ALGR(TR_E)": {
+ "key": "TR_EURO",
+ "label": "€",
+ }
+ "ALGR(TR_T)": {
+ "key": "TR_LIRA",
+ "label": "₺",
+ }
+ "ALGR(TR_Y)": {
+ "key": "TR_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(TR_X)": {
+ "key": "TR_GRV",
+ "label": "` (dead)",
+ }
+ "ALGR(TR_J)": {
+ "key": "TR_LDAQ",
+ "label": "«",
+ }
+ "ALGR(TR_ODIA)": {
+ "key": "TR_RDAQ",
+ "label": "»",
+ }
+ "ALGR(TR_V)": {
+ "key": "TR_CENT",
+ "label": "¢",
+ }
+ "ALGR(TR_S)": {
+ "key": "TR_MICR",
+ "label": "µ",
+ }
+ "ALGR(TR_B)": {
+ "key": "TR_MUL",
+ "label": "×",
+ }
+ "ALGR(TR_DOT)": {
+ "key": "TR_DIV",
+ "label": "÷",
+ }
+ "ALGR(TR_COMM)": {
+ "key": "TR_SHYP",
+ "label": "­ (soft hyphen)",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ ³ │ ¤ │ │ │ │ │ │ │ ¿ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ ® │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ § │ │ ª │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ ¦ │ │ │ © │ │ │ │ º │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(TR_3))": {
+ "key": "TR_SUP3",
+ "label": "³",
+ }
+ "S(ALGR(TR_4))": {
+ "key": "TR_CURR",
+ "label": "¤",
+ }
+ "S(ALGR(TR_SLSH))": {
+ "key": "TR_IQUE",
+ "label": "¿",
+ }
+ "S(ALGR(TR_I))": {
+ "key": "TR_REGD",
+ "label": "®",
+ }
+ "S(ALGR(TR_IDOT))": {
+ "key": "TR_SECT",
+ "label": "§",
+ }
+ "S(ALGR(TR_A))": {
+ "key": "TR_FORD",
+ "label": "ª",
+ }
+ "S(ALGR(TR_LABK))": {
+ "key": "TR_BRKP",
+ "label": "¦",
+ }
+ "S(ALGR(TR_V))": {
+ "key": "TR_COPY",
+ "label": "©",
+ }
+ "S(ALGR(TR_S))": {
+ "key": "TR_MORD",
+ "label": "º",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ " │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ * │ - │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ğ │ Ü │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ş │ İ │ , │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ Ö │ Ç │ . │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "TR_DQUO",
+ "label": "\"",
+ }
+ "KC_1": {
+ "key": "TR_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "TR_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "TR_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "TR_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "TR_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "TR_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "TR_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "TR_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "TR_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "TR_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "TR_ASTR",
+ "label": "*",
+ }
+ "KC_EQL": {
+ "key": "TR_MINS",
+ "label": "-",
+ }
+ "KC_Q": {
+ "key": "TR_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "TR_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "TR_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "TR_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "TR_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "TR_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "TR_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "TR_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "TR_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "TR_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "TR_GBRV",
+ "label": "Ğ",
+ }
+ "KC_RBRC": {
+ "key": "TR_UDIA",
+ "label": "Ü",
+ }
+ "KC_A": {
+ "key": "TR_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "TR_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "TR_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "TR_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "TR_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "TR_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "TR_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "TR_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "TR_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "TR_SCED",
+ "label": "Ş",
+ }
+ "KC_QUOT": {
+ "key": "TR_IDOT",
+ "label": "İ",
+ }
+ "KC_NUHS": {
+ "key": "TR_COMM",
+ "label": ",",
+ }
+ "KC_NUBS": {
+ "key": "TR_LABK",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "TR_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "TR_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "TR_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "TR_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "TR_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "TR_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "TR_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "TR_ODIA",
+ "label": "Ö",
+ }
+ "KC_DOT": {
+ "key": "TR_CCED",
+ "label": "Ç",
+ }
+ "KC_SLSH": {
+ "key": "TR_DOT",
+ "label": ".",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ é │ ! │ ' │ ^ │ + │ % │ & │ / │ ( │ ) │ = │ ? │ _ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ ; │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ │ │ │ │ │ │ │ │ │ : │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(TR_DQUO)": {
+ "key": "TR_EACU",
+ "label": "é",
+ }
+ "S(TR_1)": {
+ "key": "TR_EXLM",
+ "label": "!",
+ }
+ "S(TR_2)": {
+ "key": "TR_QUOT",
+ "label": "'",
+ }
+ "S(TR_3)": {
+ "key": "TR_CIRC",
+ "label": "^ (dead)",
+ }
+ "S(TR_4)": {
+ "key": "TR_PLUS",
+ "label": "+",
+ }
+ "S(TR_5)": {
+ "key": "TR_PERC",
+ "label": "%",
+ }
+ "S(TR_6)": {
+ "key": "TR_AMPR",
+ "label": "&",
+ }
+ "S(TR_7)": {
+ "key": "TR_SLSH",
+ "label": "/",
+ }
+ "S(TR_8)": {
+ "key": "TR_LPRN",
+ "label": "(",
+ }
+ "S(TR_9)": {
+ "key": "TR_RPRN",
+ "label": ")",
+ }
+ "S(TR_0)": {
+ "key": "TR_EQL",
+ "label": "=",
+ }
+ "S(TR_ASTR)": {
+ "key": "TR_QUES",
+ "label": "?",
+ }
+ "S(TR_MINS)": {
+ "key": "TR_UNDS",
+ "label": "_",
+ }
+ "S(TR_COMM)": {
+ "key": "TR_SCLN",
+ "label": ";",
+ }
+ "S(TR_LABK)": {
+ "key": "TR_RABK",
+ "label": ">",
+ }
+ "S(TR_DOT)": {
+ "key": "TR_COLN",
+ "label": ":",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ £ │ # │ $ │ ½ │ │ { │ [ │ ] │ } │ \ │ | │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ @ │ │ € │ │ ₺ │ │ │ │ │ │ ¨ │ ~ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Æ │ ß │ │ │ │ │ │ │ │ ´ │ │ ` │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(TR_2)": {
+ "key": "TR_PND",
+ "label": "£",
+ }
+ "ALGR(TR_3)": {
+ "key": "TR_HASH",
+ "label": "#",
+ }
+ "ALGR(TR_4)": {
+ "key": "TR_DLR",
+ "label": "$",
+ }
+ "ALGR(TR_5)": {
+ "key": "TR_HALF",
+ "label": "½",
+ }
+ "ALGR(TR_7)": {
+ "key": "TR_LCBR",
+ "label": "{",
+ }
+ "ALGR(TR_8)": {
+ "key": "TR_LBRC",
+ "label": "[",
+ }
+ "ALGR(TR_9)": {
+ "key": "TR_RBRC",
+ "label": "]",
+ }
+ "ALGR(TR_0)": {
+ "key": "TR_RCBR",
+ "label": "}",
+ }
+ "ALGR(TR_ASTR)": {
+ "key": "TR_BSLS",
+ "label": "\\",
+ }
+ "ALGR(TR_MINS)": {
+ "key": "TR_PIPE",
+ "label": "|",
+ }
+ "ALGR(TR_Q)": {
+ "key": "TR_AT",
+ "label": "@",
+ }
+ "ALGR(TR_E)": {
+ "key": "TR_EURO",
+ "label": "€",
+ }
+ "ALGR(TR_T)": {
+ "key": "TR_LIRA",
+ "label": "₺",
+ }
+ "ALGR(TR_GBRV)": {
+ "key": "TR_DIAE",
+ "label": "¨ (dead)",
+ }
+ "ALGR(TR_UDIA)": {
+ "key": "TR_TILD",
+ "label": "~ (dead)",
+ }
+ "ALGR(TR_A)": {
+ "key": "TR_AE",
+ "label": "Æ",
+ }
+ "ALGR(TR_S)": {
+ "key": "TR_SS",
+ "label": "ß",
+ }
+ "ALGR(TR_SCED)": {
+ "key": "TR_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(TR_COMM)": {
+ "key": "TR_GRV",
+ "label": "` (dead)",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ї │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ Ф │ І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Є │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "UA_QUOT",
+ "label": "'",
+ }
+ "KC_1": {
+ "key": "UA_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "UA_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "UA_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "UA_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "UA_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "UA_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "UA_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "UA_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "UA_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "UA_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "UA_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "UA_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "UA_YOT",
+ "label": "Й",
+ }
+ "KC_W": {
+ "key": "UA_TSE",
+ "label": "Ц",
+ }
+ "KC_E": {
+ "key": "UA_U",
+ "label": "У",
+ }
+ "KC_R": {
+ "key": "UA_KA",
+ "label": "К",
+ }
+ "KC_T": {
+ "key": "UA_E",
+ "label": "Е",
+ }
+ "KC_Y": {
+ "key": "UA_EN",
+ "label": "Н",
+ }
+ "KC_U": {
+ "key": "UA_HE",
+ "label": "Г",
+ }
+ "KC_I": {
+ "key": "UA_SHA",
+ "label": "Ш",
+ }
+ "KC_O": {
+ "key": "UA_SHCH",
+ "label": "Щ",
+ }
+ "KC_P": {
+ "key": "UA_ZE",
+ "label": "З",
+ }
+ "KC_LBRC": {
+ "key": "UA_KHA",
+ "label": "Х",
+ }
+ "KC_RBRC": {
+ "key": "UA_YI",
+ "label": "Ї",
+ }
+ "KC_BSLS": {
+ "key": "UA_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "UA_EF",
+ "label": "Ф",
+ }
+ "KC_S": {
+ "key": "UA_I",
+ "label": "І",
+ }
+ "KC_D": {
+ "key": "UA_VE",
+ "label": "В",
+ }
+ "KC_F": {
+ "key": "UA_A",
+ "label": "А",
+ }
+ "KC_G": {
+ "key": "UA_PE",
+ "label": "П",
+ }
+ "KC_H": {
+ "key": "UA_ER",
+ "label": "Р",
+ }
+ "KC_J": {
+ "key": "UA_O",
+ "label": "О",
+ }
+ "KC_K": {
+ "key": "UA_EL",
+ "label": "Л",
+ }
+ "KC_L": {
+ "key": "UA_DE",
+ "label": "Д",
+ }
+ "KC_SCLN": {
+ "key": "UA_ZHE",
+ "label": "Ж",
+ }
+ "KC_QUOT": {
+ "key": "UA_YE",
+ "label": "Є",
+ }
+ "KC_Z": {
+ "key": "UA_YA",
+ "label": "Я",
+ }
+ "KC_X": {
+ "key": "UA_CHE",
+ "label": "Ч",
+ }
+ "KC_C": {
+ "key": "UA_ES",
+ "label": "С",
+ }
+ "KC_V": {
+ "key": "UA_EM",
+ "label": "М",
+ }
+ "KC_B": {
+ "key": "UA_Y",
+ "label": "И",
+ }
+ "KC_N": {
+ "key": "UA_TE",
+ "label": "Т",
+ }
+ "KC_M": {
+ "key": "UA_SOFT",
+ "label": "Ь",
+ }
+ "KC_COMM": {
+ "key": "UA_BE",
+ "label": "Б",
+ }
+ "KC_DOT": {
+ "key": "UA_YU",
+ "label": "Ю",
+ }
+ "KC_SLSH": {
+ "key": "UA_DOT",
+ "label": ".",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ₴ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ │ │ , │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(UA_QUOT)": {
+ "key": "UA_HRYV",
+ "label": "₴",
+ }
+ "S(UA_1)": {
+ "key": "UA_EXLM",
+ "label": "!",
+ }
+ "S(UA_2)": {
+ "key": "UA_DQUO",
+ "label": "\"",
+ }
+ "S(UA_3)": {
+ "key": "UA_NUM",
+ "label": "№",
+ }
+ "S(UA_4)": {
+ "key": "UA_SCLN",
+ "label": ";",
+ }
+ "S(UA_5)": {
+ "key": "UA_PERC",
+ "label": "%",
+ }
+ "S(UA_6)": {
+ "key": "UA_COLN",
+ "label": ":",
+ }
+ "S(UA_7)": {
+ "key": "UA_QUES",
+ "label": "?",
+ }
+ "S(UA_8)": {
+ "key": "UA_ASTR",
+ "label": "*",
+ }
+ "S(UA_9)": {
+ "key": "UA_LPRN",
+ "label": "(",
+ }
+ "S(UA_0)": {
+ "key": "UA_RPRN",
+ "label": ")",
+ }
+ "S(UA_MINS)": {
+ "key": "UA_UNDS",
+ "label": "_",
+ }
+ "S(UA_EQL)": {
+ "key": "UA_PLUS",
+ "label": "+",
+ }
+ "S(UA_BSLS)": {
+ "key": "UA_SLSH",
+ "label": "/",
+ }
+ "S(UA_DOT)": {
+ "key": "UA_COMM",
+ "label": ",",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ ґ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(UA_HE)": {
+ "key": "UA_GE",
+ "label": "ґ",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "US_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "US_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "US_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "US_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "US_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "US_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "US_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "US_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "US_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "US_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "US_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "US_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "US_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "US_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "US_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "US_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "US_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "US_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "US_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "US_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "US_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "US_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "US_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "US_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "US_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "US_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "US_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "US_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "US_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "US_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "US_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "US_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "US_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "US_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "US_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "US_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "US_QUOT",
+ "label": "'",
+ }
+ "KC_Z": {
+ "key": "US_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "US_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "US_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "US_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "US_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "US_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "US_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "US_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "US_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "US_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(US_GRV)": {
+ "key": "US_TILD",
+ "label": "~",
+ }
+ "S(US_1)": {
+ "key": "US_EXLM",
+ "label": "!",
+ }
+ "S(US_2)": {
+ "key": "US_AT",
+ "label": "@",
+ }
+ "S(US_3)": {
+ "key": "US_HASH",
+ "label": "#",
+ }
+ "S(US_4)": {
+ "key": "US_DLR",
+ "label": "$",
+ }
+ "S(US_5)": {
+ "key": "US_PERC",
+ "label": "%",
+ }
+ "S(US_6)": {
+ "key": "US_CIRC",
+ "label": "^",
+ }
+ "S(US_7)": {
+ "key": "US_AMPR",
+ "label": "&",
+ }
+ "S(US_8)": {
+ "key": "US_ASTR",
+ "label": "*",
+ }
+ "S(US_9)": {
+ "key": "US_LPRN",
+ "label": "(",
+ }
+ "S(US_0)": {
+ "key": "US_RPRN",
+ "label": ")",
+ }
+ "S(US_MINS)": {
+ "key": "US_UNDS",
+ "label": "_",
+ }
+ "S(US_EQL)": {
+ "key": "US_PLUS",
+ "label": "+",
+ }
+ "S(US_LBRC)": {
+ "key": "US_LCBR",
+ "label": "{",
+ }
+ "S(US_RBRC)": {
+ "key": "US_RCBR",
+ "label": "}",
+ }
+ "S(US_BSLS)": {
+ "key": "US_PIPE",
+ "label": "|",
+ }
+ "S(US_SCLN)": {
+ "key": "US_COLN",
+ "label": ":",
+ }
+ "S(US_QUOT)": {
+ "key": "US_DQUO",
+ "label": "\"",
+ }
+ "S(US_COMM)": {
+ "key": "US_LABK",
+ "label": "<",
+ }
+ "S(US_DOT)": {
+ "key": "US_RABK",
+ "label": ">",
+ }
+ "S(US_SLSH)": {
+ "key": "US_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ ¹ │ ² │ ³ │ ¤ │ € │ ^ │ ̛ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ Á │ ß │ Ð │ │ │ │ Ï │ Œ │ Ø │ ¶ │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(US_GRV)": {
+ "key": "US_DGRV",
+ "label": "` (dead)",
+ }
+ "ALGR(US_1)": {
+ "key": "US_SUP1",
+ "label": "¹",
+ }
+ "ALGR(US_2)": {
+ "key": "US_SUP2",
+ "label": "²",
+ }
+ "ALGR(US_3)": {
+ "key": "US_SUP3",
+ "label": "³",
+ }
+ "ALGR(US_4)": {
+ "key": "US_CURR",
+ "label": "¤",
+ }
+ "ALGR(US_5)": {
+ "key": "US_EURO",
+ "label": "€",
+ }
+ "ALGR(US_6)": {
+ "key": "US_DCIR",
+ "label": "^ (dead)",
+ }
+ "ALGR(US_7)": {
+ "key": "US_HORN",
+ "label": "̛ (dead)",
+ }
+ "ALGR(US_8)": {
+ "key": "US_OGON",
+ "label": "˛ (dead)",
+ }
+ "ALGR(US_9)": {
+ "key": "US_LSQU",
+ "label": "‘",
+ }
+ "ALGR(US_0)": {
+ "key": "US_RSQU",
+ "label": "’",
+ }
+ "ALGR(US_MINS)": {
+ "key": "US_YEN",
+ "label": "¥",
+ }
+ "ALGR(US_EQL)": {
+ "key": "US_MUL",
+ "label": "×",
+ }
+ "ALGR(US_Q)": {
+ "key": "US_ADIA",
+ "label": "Ä",
+ }
+ "ALGR(US_W)": {
+ "key": "US_ARNG",
+ "label": "Å",
+ }
+ "ALGR(US_E)": {
+ "key": "US_EACU",
+ "label": "É",
+ }
+ "ALGR(US_R)": {
+ "key": "US_EDIA",
+ "label": "Ë",
+ }
+ "ALGR(US_T)": {
+ "key": "US_THRN",
+ "label": "Þ",
+ }
+ "ALGR(US_Y)": {
+ "key": "US_UDIA",
+ "label": "Ü",
+ }
+ "ALGR(US_U)": {
+ "key": "US_UACU",
+ "label": "Ú",
+ }
+ "ALGR(US_I)": {
+ "key": "US_IACU",
+ "label": "Í",
+ }
+ "ALGR(US_O)": {
+ "key": "US_OACU",
+ "label": "Ó",
+ }
+ "ALGR(US_P)": {
+ "key": "US_ODIA",
+ "label": "Ö",
+ }
+ "ALGR(US_LBRC)": {
+ "key": "US_LDAQ",
+ "label": "«",
+ }
+ "ALGR(US_RBRC)": {
+ "key": "US_RDAQ",
+ "label": "»",
+ }
+ "ALGR(US_BSLS)": {
+ "key": "US_NOT",
+ "label": "¬",
+ }
+ "ALGR(US_A)": {
+ "key": "US_AACU",
+ "label": "Á",
+ }
+ "ALGR(US_S)": {
+ "key": "US_SS",
+ "label": "ß",
+ }
+ "ALGR(US_D)": {
+ "key": "US_ETH",
+ "label": "Ð",
+ }
+ "ALGR(US_J)": {
+ "key": "US_IDIA",
+ "label": "Ï",
+ }
+ "ALGR(US_K)": {
+ "key": "US_OE",
+ "label": "Œ",
+ }
+ "ALGR(US_L)": {
+ "key": "US_OSTR",
+ "label": "Ø",
+ }
+ "ALGR(US_SCLN)": {
+ "key": "US_PILC",
+ "label": "¶",
+ }
+ "ALGR(US_QUOT)": {
+ "key": "US_ACUT",
+ "label": "´ (dead)",
+ }
+ "ALGR(US_Z)": {
+ "key": "US_AE",
+ "label": "Æ",
+ }
+ "ALGR(US_X)": {
+ "key": "US_OE_2",
+ "label": "Œ",
+ }
+ "ALGR(US_C)": {
+ "key": "US_COPY",
+ "label": "©",
+ }
+ "ALGR(US_V)": {
+ "key": "US_REGD",
+ "label": "®",
+ }
+ "ALGR(US_N)": {
+ "key": "US_NTIL",
+ "label": "Ñ",
+ }
+ "ALGR(US_M)": {
+ "key": "US_MICR",
+ "label": "µ",
+ }
+ "ALGR(US_COMM)": {
+ "key": "US_CCED",
+ "label": "Ç",
+ }
+ "ALGR(US_DOT)": {
+ "key": "US_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(US_SLSH)": {
+ "key": "US_IQUE",
+ "label": "¿",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ¡ │ ˝ │ ¯ │ £ │ ¸ │ ¼ │ ½ │ ¾ │ ˘ │ ° │ ̣ │ ÷ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(US_GRV))": {
+ "key": "US_DTIL",
+ "label": "~ (dead)",
+ }
+ "S(ALGR(US_1))": {
+ "key": "US_IEXL",
+ "label": "¡",
+ }
+ "S(ALGR(US_2))": {
+ "key": "US_DACU",
+ "label": "˝ (dead)",
+ }
+ "S(ALGR(US_3))": {
+ "key": "US_MACR",
+ "label": "¯ (dead)",
+ }
+ "S(ALGR(US_4))": {
+ "key": "US_PND",
+ "label": "£",
+ }
+ "S(ALGR(US_5))": {
+ "key": "US_CEDL",
+ "label": "¸ (dead)",
+ }
+ "S(ALGR(US_6))": {
+ "key": "US_QRTR",
+ "label": "¼",
+ }
+ "S(ALGR(US_7))": {
+ "key": "US_HALF",
+ "label": "½",
+ }
+ "S(ALGR(US_8))": {
+ "key": "US_TQTR",
+ "label": "¾",
+ }
+ "S(ALGR(US_9))": {
+ "key": "US_BREV",
+ "label": "˘ (dead)",
+ }
+ "S(ALGR(US_0))": {
+ "key": "US_RNGA",
+ "label": "° (dead)",
+ }
+ "S(ALGR(US_MINS))": {
+ "key": "US_DOTB",
+ "label": "̣ (dead)",
+ }
+ "S(ALGR(US_EQL))": {
+ "key": "US_DIV",
+ "label": "÷",
+ }
+ "S(ALGR(US_LBRC))": {
+ "key": "US_LDQU",
+ "label": "“",
+ }
+ "S(ALGR(US_RBRC))": {
+ "key": "US_RDQU",
+ "label": "”",
+ }
+ "S(ALGR(US_BSLS))": {
+ "key": "US_BRKP",
+ "label": "¦",
+ }
+ "S(ALGR(US_S))": {
+ "key": "US_SECT",
+ "label": "§",
+ }
+ "S(ALGR(US_SCLN))": {
+ "key": "US_DEG",
+ "label": "°",
+ }
+ "S(ALGR(US_QUOT))": {
+ "key": "US_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(ALGR(US_C))": {
+ "key": "US_CENT",
+ "label": "¢",
+ }
+ "S(ALGR(US_DOT))": {
+ "key": "US_CARN",
+ "label": "ˇ (dead)",
+ }
+ "S(ALGR(US_SLSH))": {
+ "key": "US_HOKA",
+ "label": "̉ (dead)",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "US_DGRV",
+ "label": "` (dead)",
+ }
+ "KC_1": {
+ "key": "US_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "US_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "US_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "US_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "US_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "US_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "US_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "US_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "US_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "US_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "US_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "US_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "US_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "US_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "US_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "US_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "US_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "US_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "US_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "US_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "US_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "US_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "US_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "US_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "US_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "US_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "US_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "US_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "US_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "US_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "US_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "US_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "US_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "US_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "US_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "US_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Z": {
+ "key": "US_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "US_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "US_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "US_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "US_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "US_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "US_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "US_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "US_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "US_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(US_DGRV)": {
+ "key": "US_DTIL",
+ "label": "~ (dead)",
+ }
+ "S(US_1)": {
+ "key": "US_EXLM",
+ "label": "!",
+ }
+ "S(US_2)": {
+ "key": "US_AT",
+ "label": "@",
+ }
+ "S(US_3)": {
+ "key": "US_HASH",
+ "label": "#",
+ }
+ "S(US_4)": {
+ "key": "US_DLR",
+ "label": "$",
+ }
+ "S(US_5)": {
+ "key": "US_PERC",
+ "label": "%",
+ }
+ "S(US_6)": {
+ "key": "US_DCIR",
+ "label": "^ (dead)",
+ }
+ "S(US_7)": {
+ "key": "US_AMPR",
+ "label": "&",
+ }
+ "S(US_8)": {
+ "key": "US_ASTR",
+ "label": "*",
+ }
+ "S(US_9)": {
+ "key": "US_LPRN",
+ "label": "(",
+ }
+ "S(US_0)": {
+ "key": "US_RPRN",
+ "label": ")",
+ }
+ "S(US_MINS)": {
+ "key": "US_UNDS",
+ "label": "_",
+ }
+ "S(US_EQL)": {
+ "key": "US_PLUS",
+ "label": "+",
+ }
+ "S(US_LBRC)": {
+ "key": "US_LCBR",
+ "label": "{",
+ }
+ "S(US_RBRC)": {
+ "key": "US_RCBR",
+ "label": "}",
+ }
+ "S(US_BSLS)": {
+ "key": "US_PIPE",
+ "label": "|",
+ }
+ "S(US_SCLN)": {
+ "key": "US_COLN",
+ "label": ":",
+ }
+ "S(US_ACUT)": {
+ "key": "US_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(US_COMM)": {
+ "key": "US_LABK",
+ "label": "<",
+ }
+ "S(US_DOT)": {
+ "key": "US_RABK",
+ "label": ">",
+ }
+ "S(US_SLSH)": {
+ "key": "US_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ Á │ ß │ Ð │ │ │ │ │ │ Ø │ ¶ │ ´ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ │ ¿ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(US_1)": {
+ "key": "US_IEXL",
+ "label": "¡",
+ }
+ "ALGR(US_2)": {
+ "key": "US_SUP2",
+ "label": "²",
+ }
+ "ALGR(US_3)": {
+ "key": "US_SUP3",
+ "label": "³",
+ }
+ "ALGR(US_4)": {
+ "key": "US_CURR",
+ "label": "¤",
+ }
+ "ALGR(US_5)": {
+ "key": "US_EURO",
+ "label": "€",
+ }
+ "ALGR(US_6)": {
+ "key": "US_QRTR",
+ "label": "¼",
+ }
+ "ALGR(US_7)": {
+ "key": "US_HALF",
+ "label": "½",
+ }
+ "ALGR(US_8)": {
+ "key": "US_TQTR",
+ "label": "¾",
+ }
+ "ALGR(US_9)": {
+ "key": "US_LSQU",
+ "label": "‘",
+ }
+ "ALGR(US_0)": {
+ "key": "US_RSQU",
+ "label": "’",
+ }
+ "ALGR(US_MINS)": {
+ "key": "US_YEN",
+ "label": "¥",
+ }
+ "ALGR(US_EQL)": {
+ "key": "US_MUL",
+ "label": "×",
+ }
+ "ALGR(US_Q)": {
+ "key": "US_ADIA",
+ "label": "Ä",
+ }
+ "ALGR(US_W)": {
+ "key": "US_ARNG",
+ "label": "Å",
+ }
+ "ALGR(US_E)": {
+ "key": "US_EACU",
+ "label": "É",
+ }
+ "ALGR(US_R)": {
+ "key": "US_REGD",
+ "label": "®",
+ }
+ "ALGR(US_T)": {
+ "key": "US_THRN",
+ "label": "Þ",
+ }
+ "ALGR(US_Y)": {
+ "key": "US_UDIA",
+ "label": "Ü",
+ }
+ "ALGR(US_U)": {
+ "key": "US_UACU",
+ "label": "Ú",
+ }
+ "ALGR(US_I)": {
+ "key": "US_IACU",
+ "label": "Í",
+ }
+ "ALGR(US_O)": {
+ "key": "US_OACU",
+ "label": "Ó",
+ }
+ "ALGR(US_P)": {
+ "key": "US_ODIA",
+ "label": "Ö",
+ }
+ "ALGR(US_LBRC)": {
+ "key": "US_LDAQ",
+ "label": "«",
+ }
+ "ALGR(US_RBRC)": {
+ "key": "US_RDAQ",
+ "label": "»",
+ }
+ "ALGR(US_BSLS)": {
+ "key": "US_NOT",
+ "label": "¬",
+ }
+ "ALGR(US_A)": {
+ "key": "US_AACU",
+ "label": "Á",
+ }
+ "ALGR(US_S)": {
+ "key": "US_SS",
+ "label": "ß",
+ }
+ "ALGR(US_D)": {
+ "key": "US_ETH",
+ "label": "Ð",
+ }
+ "ALGR(US_L)": {
+ "key": "US_OSTR",
+ "label": "Ø",
+ }
+ "ALGR(US_SCLN)": {
+ "key": "US_PILC",
+ "label": "¶",
+ }
+ "ALGR(US_ACUT)": {
+ "key": "US_NDAC",
+ "label": "´",
+ }
+ "ALGR(US_Z)": {
+ "key": "US_AE",
+ "label": "Æ",
+ }
+ "ALGR(US_C)": {
+ "key": "US_COPY",
+ "label": "©",
+ }
+ "ALGR(US_N)": {
+ "key": "US_NTIL",
+ "label": "Ñ",
+ }
+ "ALGR(US_M)": {
+ "key": "US_MICR",
+ "label": "µ",
+ }
+ "ALGR(US_COMM)": {
+ "key": "US_CCED",
+ "label": "Ç",
+ }
+ "ALGR(US_SLSH)": {
+ "key": "US_IQUE",
+ "label": "¿",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ¹ │ │ │ £ │ │ │ │ │ │ │ │ ÷ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ¦ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ § │ │ │ │ │ │ │ │ ° │ ¨ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ ¢ │ │ │ │ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(US_1))": {
+ "key": "US_SUP1",
+ "label": "¹",
+ }
+ "S(ALGR(US_4))": {
+ "key": "US_PND",
+ "label": "£",
+ }
+ "S(ALGR(US_EQL))": {
+ "key": "US_DIV",
+ "label": "÷",
+ }
+ "S(ALGR(US_BSLS))": {
+ "key": "US_BRKP",
+ "label": "¦",
+ }
+ "S(ALGR(US_S))": {
+ "key": "US_SECT",
+ "label": "§",
+ }
+ "S(ALGR(US_SCLN))": {
+ "key": "US_DEG",
+ "label": "°",
+ }
+ "S(ALGR(US_ACUT))": {
+ "key": "US_NDDR",
+ "label": "¨",
+ }
+ "S(ALGR(US_C))": {
+ "key": "US_CENT",
+ "label": "¢",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "US_DGRV",
+ "label": "` (dead)",
+ }
+ "KC_1": {
+ "key": "US_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "US_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "US_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "US_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "US_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "US_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "US_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "US_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "US_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "US_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "US_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "US_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "US_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "US_W",
+ "label": "W",
+ }
+ "KC_E": {
+ "key": "US_E",
+ "label": "E",
+ }
+ "KC_R": {
+ "key": "US_R",
+ "label": "R",
+ }
+ "KC_T": {
+ "key": "US_T",
+ "label": "T",
+ }
+ "KC_Y": {
+ "key": "US_Y",
+ "label": "Y",
+ }
+ "KC_U": {
+ "key": "US_U",
+ "label": "U",
+ }
+ "KC_I": {
+ "key": "US_I",
+ "label": "I",
+ }
+ "KC_O": {
+ "key": "US_O",
+ "label": "O",
+ }
+ "KC_P": {
+ "key": "US_P",
+ "label": "P",
+ }
+ "KC_LBRC": {
+ "key": "US_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "US_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "US_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "US_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "US_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "US_D",
+ "label": "D",
+ }
+ "KC_F": {
+ "key": "US_F",
+ "label": "F",
+ }
+ "KC_G": {
+ "key": "US_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "US_H",
+ "label": "H",
+ }
+ "KC_J": {
+ "key": "US_J",
+ "label": "J",
+ }
+ "KC_K": {
+ "key": "US_K",
+ "label": "K",
+ }
+ "KC_L": {
+ "key": "US_L",
+ "label": "L",
+ }
+ "KC_SCLN": {
+ "key": "US_SCLN",
+ "label": ";",
+ }
+ "KC_QUOT": {
+ "key": "US_ACUT",
+ "label": "´ (dead)",
+ }
+ "KC_Z": {
+ "key": "US_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "US_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "US_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "US_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "US_B",
+ "label": "B",
+ }
+ "KC_N": {
+ "key": "US_N",
+ "label": "N",
+ }
+ "KC_M": {
+ "key": "US_M",
+ "label": "M",
+ }
+ "KC_COMM": {
+ "key": "US_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "US_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "US_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(US_DGRV)": {
+ "key": "US_DTIL",
+ "label": "~ (dead)",
+ }
+ "S(US_1)": {
+ "key": "US_EXLM",
+ "label": "!",
+ }
+ "S(US_2)": {
+ "key": "US_AT",
+ "label": "@",
+ }
+ "S(US_3)": {
+ "key": "US_HASH",
+ "label": "#",
+ }
+ "S(US_4)": {
+ "key": "US_DLR",
+ "label": "$",
+ }
+ "S(US_5)": {
+ "key": "US_PERC",
+ "label": "%",
+ }
+ "S(US_6)": {
+ "key": "US_DCIR",
+ "label": "^ (dead)",
+ }
+ "S(US_7)": {
+ "key": "US_AMPR",
+ "label": "&",
+ }
+ "S(US_8)": {
+ "key": "US_ASTR",
+ "label": "*",
+ }
+ "S(US_9)": {
+ "key": "US_LPRN",
+ "label": "(",
+ }
+ "S(US_0)": {
+ "key": "US_RPRN",
+ "label": ")",
+ }
+ "S(US_MINS)": {
+ "key": "US_UNDS",
+ "label": "_",
+ }
+ "S(US_EQL)": {
+ "key": "US_PLUS",
+ "label": "+",
+ }
+ "S(US_LBRC)": {
+ "key": "US_LCBR",
+ "label": "{",
+ }
+ "S(US_RBRC)": {
+ "key": "US_RCBR",
+ "label": "}",
+ }
+ "S(US_BSLS)": {
+ "key": "US_PIPE",
+ "label": "|",
+ }
+ "S(US_SCLN)": {
+ "key": "US_COLN",
+ "label": ":",
+ }
+ "S(US_ACUT)": {
+ "key": "US_DIAE",
+ "label": "¨ (dead)",
+ }
+ "S(US_COMM)": {
+ "key": "US_LABK",
+ "label": "<",
+ }
+ "S(US_DOT)": {
+ "key": "US_RABK",
+ "label": ">",
+ }
+ "S(US_SLSH)": {
+ "key": "US_QUES",
+ "label": "?",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ Á │ ß │ Ð │ │ │ │ │ Œ │ Ø │ ¶ │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(US_DGRV)": {
+ "key": "US_GRV",
+ "label": "`",
+ }
+ "ALGR(US_1)": {
+ "key": "US_IEXL",
+ "label": "¡",
+ }
+ "ALGR(US_2)": {
+ "key": "US_SUP2",
+ "label": "²",
+ }
+ "ALGR(US_3)": {
+ "key": "US_SUP3",
+ "label": "³",
+ }
+ "ALGR(US_4)": {
+ "key": "US_CURR",
+ "label": "¤",
+ }
+ "ALGR(US_5)": {
+ "key": "US_EURO",
+ "label": "€",
+ }
+ "ALGR(US_6)": {
+ "key": "US_QRTR",
+ "label": "¼",
+ }
+ "ALGR(US_7)": {
+ "key": "US_HALF",
+ "label": "½",
+ }
+ "ALGR(US_8)": {
+ "key": "US_TQTR",
+ "label": "¾",
+ }
+ "ALGR(US_9)": {
+ "key": "US_LSQU",
+ "label": "‘",
+ }
+ "ALGR(US_0)": {
+ "key": "US_RSQU",
+ "label": "’",
+ }
+ "ALGR(US_MINS)": {
+ "key": "US_YEN",
+ "label": "¥",
+ }
+ "ALGR(US_EQL)": {
+ "key": "US_MUL",
+ "label": "×",
+ }
+ "ALGR(US_Q)": {
+ "key": "US_ADIA",
+ "label": "Ä",
+ }
+ "ALGR(US_W)": {
+ "key": "US_ARNG",
+ "label": "Å",
+ }
+ "ALGR(US_E)": {
+ "key": "US_EACU",
+ "label": "É",
+ }
+ "ALGR(US_R)": {
+ "key": "US_REGD",
+ "label": "®",
+ }
+ "ALGR(US_T)": {
+ "key": "US_THRN",
+ "label": "Þ",
+ }
+ "ALGR(US_Y)": {
+ "key": "US_UDIA",
+ "label": "Ü",
+ }
+ "ALGR(US_U)": {
+ "key": "US_UACU",
+ "label": "Ú",
+ }
+ "ALGR(US_I)": {
+ "key": "US_IACU",
+ "label": "Í",
+ }
+ "ALGR(US_O)": {
+ "key": "US_OACU",
+ "label": "Ó",
+ }
+ "ALGR(US_P)": {
+ "key": "US_ODIA",
+ "label": "Ö",
+ }
+ "ALGR(US_LBRC)": {
+ "key": "US_LDAQ",
+ "label": "«",
+ }
+ "ALGR(US_RBRC)": {
+ "key": "US_RDAQ",
+ "label": "»",
+ }
+ "ALGR(US_BSLS)": {
+ "key": "US_NOT",
+ "label": "¬",
+ }
+ "ALGR(US_A)": {
+ "key": "US_AACU",
+ "label": "Á",
+ }
+ "ALGR(US_S)": {
+ "key": "US_SS",
+ "label": "ß",
+ }
+ "ALGR(US_D)": {
+ "key": "US_ETH",
+ "label": "Ð",
+ }
+ "ALGR(US_K)": {
+ "key": "US_OE",
+ "label": "Œ",
+ }
+ "ALGR(US_L)": {
+ "key": "US_OSTR",
+ "label": "Ø",
+ }
+ "ALGR(US_SCLN)": {
+ "key": "US_PILC",
+ "label": "¶",
+ }
+ "ALGR(US_ACUT)": {
+ "key": "US_QUOT",
+ "label": "'",
+ }
+ "ALGR(US_Z)": {
+ "key": "US_AE",
+ "label": "Æ",
+ }
+ "ALGR(US_C)": {
+ "key": "US_COPY",
+ "label": "©",
+ }
+ "ALGR(US_N)": {
+ "key": "US_NTIL",
+ "label": "Ñ",
+ }
+ "ALGR(US_M)": {
+ "key": "US_MICR",
+ "label": "µ",
+ }
+ "ALGR(US_COMM)": {
+ "key": "US_CCED",
+ "label": "Ç",
+ }
+ "ALGR(US_DOT)": {
+ "key": "US_DOTA",
+ "label": "˙ (dead)",
+ }
+ "ALGR(US_SLSH)": {
+ "key": "US_IQUE",
+ "label": "¿",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ¹ │ ˝ │ ¯ │ £ │ ¸ │ ^ │ ̛ │ ˛ │ ˘ │ ° │ ̣ │ ÷ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(US_DGRV))": {
+ "key": "US_TILD",
+ "label": "~",
+ }
+ "S(ALGR(US_1))": {
+ "key": "US_SUP1",
+ "label": "¹",
+ }
+ "S(ALGR(US_2))": {
+ "key": "US_DACU",
+ "label": "˝ (dead)",
+ }
+ "S(ALGR(US_3))": {
+ "key": "US_MACR",
+ "label": "¯ (dead)",
+ }
+ "S(ALGR(US_4))": {
+ "key": "US_PND",
+ "label": "£",
+ }
+ "S(ALGR(US_5))": {
+ "key": "US_CEDL",
+ "label": "¸ (dead)",
+ }
+ "S(ALGR(US_6))": {
+ "key": "US_CIRC",
+ "label": "^",
+ }
+ "S(ALGR(US_7))": {
+ "key": "US_HORN",
+ "label": "̛ (dead)",
+ }
+ "S(ALGR(US_8))": {
+ "key": "US_OGON",
+ "label": "˛ (dead)",
+ }
+ "S(ALGR(US_9))": {
+ "key": "US_BREV",
+ "label": "˘ (dead)",
+ }
+ "S(ALGR(US_0))": {
+ "key": "US_RNGA",
+ "label": "° (dead)",
+ }
+ "S(ALGR(US_MINS))": {
+ "key": "US_DOTB",
+ "label": "̣ (dead)",
+ }
+ "S(ALGR(US_EQL))": {
+ "key": "US_DIV",
+ "label": "÷",
+ }
+ "S(ALGR(US_LBRC))": {
+ "key": "US_LDQU",
+ "label": "“",
+ }
+ "S(ALGR(US_RBRC))": {
+ "key": "US_RDQU",
+ "label": "”",
+ }
+ "S(ALGR(US_BSLS))": {
+ "key": "US_BRKP",
+ "label": "¦",
+ }
+ "S(ALGR(US_S))": {
+ "key": "US_SECT",
+ "label": "§",
+ }
+ "S(ALGR(US_SCLN))": {
+ "key": "US_DEG",
+ "label": "°",
+ }
+ "S(ALGR(US_ACUT))": {
+ "key": "US_DQUO",
+ "label": "\"",
+ }
+ "S(ALGR(US_C))": {
+ "key": "US_CENT",
+ "label": "¢",
+ }
+ "S(ALGR(US_DOT))": {
+ "key": "US_CARN",
+ "label": "ˇ (dead)",
+ }
+ "S(ALGR(US_SLSH))": {
+ "key": "US_HOKA",
+ "label": "̉ (dead)",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "WK_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "WK_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "WK_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "WK_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "WK_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "WK_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "WK_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "WK_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "WK_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "WK_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "WK_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "WK_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "WK_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "WK_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "WK_D",
+ "label": "D",
+ }
+ "KC_E": {
+ "key": "WK_R",
+ "label": "R",
+ }
+ "KC_R": {
+ "key": "WK_W",
+ "label": "W",
+ }
+ "KC_T": {
+ "key": "WK_B",
+ "label": "B",
+ }
+ "KC_Y": {
+ "key": "WK_J",
+ "label": "J",
+ }
+ "KC_U": {
+ "key": "WK_F",
+ "label": "F",
+ }
+ "KC_I": {
+ "key": "WK_U",
+ "label": "U",
+ }
+ "KC_O": {
+ "key": "WK_P",
+ "label": "P",
+ }
+ "KC_P": {
+ "key": "WK_SCLN",
+ "label": ";",
+ }
+ "KC_LBRC": {
+ "key": "WK_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "WK_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "WK_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "WK_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "WK_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "WK_H",
+ "label": "H",
+ }
+ "KC_F": {
+ "key": "WK_T",
+ "label": "T",
+ }
+ "KC_G": {
+ "key": "WK_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "WK_Y",
+ "label": "Y",
+ }
+ "KC_J": {
+ "key": "WK_N",
+ "label": "N",
+ }
+ "KC_K": {
+ "key": "WK_E",
+ "label": "E",
+ }
+ "KC_L": {
+ "key": "WK_O",
+ "label": "O",
+ }
+ "KC_SCLN": {
+ "key": "WK_I",
+ "label": "I",
+ }
+ "KC_QUOT": {
+ "key": "WK_QUOT",
+ "label": "'",
+ }
+ "KC_Z": {
+ "key": "WK_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "WK_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "WK_M",
+ "label": "M",
+ }
+ "KC_V": {
+ "key": "WK_C",
+ "label": "C",
+ }
+ "KC_B": {
+ "key": "WK_V",
+ "label": "V",
+ }
+ "KC_N": {
+ "key": "WK_K",
+ "label": "K",
+ }
+ "KC_M": {
+ "key": "WK_L",
+ "label": "L",
+ }
+ "KC_COMM": {
+ "key": "WK_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "WK_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "WK_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(WK_GRV)": {
+ "key": "WK_TILD",
+ "label": "~",
+ }
+ "S(WK_1)": {
+ "key": "WK_EXLM",
+ "label": "!",
+ }
+ "S(WK_2)": {
+ "key": "WK_AT",
+ "label": "@",
+ }
+ "S(WK_3)": {
+ "key": "WK_HASH",
+ "label": "#",
+ }
+ "S(WK_4)": {
+ "key": "WK_DLR",
+ "label": "$",
+ }
+ "S(WK_5)": {
+ "key": "WK_PERC",
+ "label": "%",
+ }
+ "S(WK_6)": {
+ "key": "WK_CIRC",
+ "label": "^",
+ }
+ "S(WK_7)": {
+ "key": "WK_AMPR",
+ "label": "&",
+ }
+ "S(WK_8)": {
+ "key": "WK_ASTR",
+ "label": "*",
+ }
+ "S(WK_9)": {
+ "key": "WK_LPRN",
+ "label": "(",
+ }
+ "S(WK_0)": {
+ "key": "WK_RPRN",
+ "label": ")",
+ }
+ "S(WK_MINS)": {
+ "key": "WK_UNDS",
+ "label": "_",
+ }
+ "S(WK_EQL)": {
+ "key": "WK_PLUS",
+ "label": "+",
+ }
+ "S(WK_SCLN)": {
+ "key": "WK_COLN",
+ "label": ":",
+ }
+ "S(WK_LBRC)": {
+ "key": "WK_LCBR",
+ "label": "{",
+ }
+ "S(WK_RBRC)": {
+ "key": "WK_RCBR",
+ "label": "}",
+ }
+ "S(WK_BSLS)": {
+ "key": "WK_PIPE",
+ "label": "|",
+ }
+ "S(WK_QUOT)": {
+ "key": "WK_DQUO",
+ "label": "\"",
+ }
+ "S(WK_COMM)": {
+ "key": "WK_LABK",
+ "label": "<",
+ }
+ "S(WK_DOT)": {
+ "key": "WK_RABK",
+ "label": ">",
+ }
+ "S(WK_SLSH)": {
+ "key": "WK_QUES",
+ "label": "?",
+ }
+ }
+} \ 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 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ Z │ X │ C │ V │ M │ K │ L │ , │ . │ / │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "WK_GRV",
+ "label": "`",
+ }
+ "KC_1": {
+ "key": "WK_1",
+ "label": "1",
+ }
+ "KC_2": {
+ "key": "WK_2",
+ "label": "2",
+ }
+ "KC_3": {
+ "key": "WK_3",
+ "label": "3",
+ }
+ "KC_4": {
+ "key": "WK_4",
+ "label": "4",
+ }
+ "KC_5": {
+ "key": "WK_5",
+ "label": "5",
+ }
+ "KC_6": {
+ "key": "WK_6",
+ "label": "6",
+ }
+ "KC_7": {
+ "key": "WK_7",
+ "label": "7",
+ }
+ "KC_8": {
+ "key": "WK_8",
+ "label": "8",
+ }
+ "KC_9": {
+ "key": "WK_9",
+ "label": "9",
+ }
+ "KC_0": {
+ "key": "WK_0",
+ "label": "0",
+ }
+ "KC_MINS": {
+ "key": "WK_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "WK_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "WK_Q",
+ "label": "Q",
+ }
+ "KC_W": {
+ "key": "WK_D",
+ "label": "D",
+ }
+ "KC_E": {
+ "key": "WK_R",
+ "label": "R",
+ }
+ "KC_R": {
+ "key": "WK_W",
+ "label": "W",
+ }
+ "KC_T": {
+ "key": "WK_B",
+ "label": "B",
+ }
+ "KC_Y": {
+ "key": "WK_J",
+ "label": "J",
+ }
+ "KC_U": {
+ "key": "WK_F",
+ "label": "F",
+ }
+ "KC_I": {
+ "key": "WK_U",
+ "label": "U",
+ }
+ "KC_O": {
+ "key": "WK_P",
+ "label": "P",
+ }
+ "KC_P": {
+ "key": "WK_SCLN",
+ "label": ";",
+ }
+ "KC_LBRC": {
+ "key": "WK_LBRC",
+ "label": "[",
+ }
+ "KC_RBRC": {
+ "key": "WK_RBRC",
+ "label": "]",
+ }
+ "KC_BSLS": {
+ "key": "WK_BSLS",
+ "label": "\\",
+ }
+ "KC_A": {
+ "key": "WK_A",
+ "label": "A",
+ }
+ "KC_S": {
+ "key": "WK_S",
+ "label": "S",
+ }
+ "KC_D": {
+ "key": "WK_H",
+ "label": "H",
+ }
+ "KC_F": {
+ "key": "WK_T",
+ "label": "T",
+ }
+ "KC_G": {
+ "key": "WK_G",
+ "label": "G",
+ }
+ "KC_H": {
+ "key": "WK_Y",
+ "label": "Y",
+ }
+ "KC_J": {
+ "key": "WK_N",
+ "label": "N",
+ }
+ "KC_K": {
+ "key": "WK_E",
+ "label": "E",
+ }
+ "KC_L": {
+ "key": "WK_O",
+ "label": "O",
+ }
+ "KC_SCLN": {
+ "key": "WK_I",
+ "label": "I",
+ }
+ "KC_QUOT": {
+ "key": "WK_QUOT",
+ "label": "'",
+ }
+ "KC_Z": {
+ "key": "WK_Z",
+ "label": "Z",
+ }
+ "KC_X": {
+ "key": "WK_X",
+ "label": "X",
+ }
+ "KC_C": {
+ "key": "WK_C",
+ "label": "C",
+ }
+ "KC_V": {
+ "key": "WK_V",
+ "label": "V",
+ }
+ "KC_B": {
+ "key": "WK_M",
+ "label": "M",
+ }
+ "KC_N": {
+ "key": "WK_K",
+ "label": "K",
+ }
+ "KC_M": {
+ "key": "WK_L",
+ "label": "L",
+ }
+ "KC_COMM": {
+ "key": "WK_COMM",
+ "label": ",",
+ }
+ "KC_DOT": {
+ "key": "WK_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "WK_SLSH",
+ "label": "/",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(WK_GRV)": {
+ "key": "WK_TILD",
+ "label": "~",
+ }
+ "S(WK_1)": {
+ "key": "WK_EXLM",
+ "label": "!",
+ }
+ "S(WK_2)": {
+ "key": "WK_AT",
+ "label": "@",
+ }
+ "S(WK_3)": {
+ "key": "WK_HASH",
+ "label": "#",
+ }
+ "S(WK_4)": {
+ "key": "WK_DLR",
+ "label": "$",
+ }
+ "S(WK_5)": {
+ "key": "WK_PERC",
+ "label": "%",
+ }
+ "S(WK_6)": {
+ "key": "WK_CIRC",
+ "label": "^",
+ }
+ "S(WK_7)": {
+ "key": "WK_AMPR",
+ "label": "&",
+ }
+ "S(WK_8)": {
+ "key": "WK_ASTR",
+ "label": "*",
+ }
+ "S(WK_9)": {
+ "key": "WK_LPRN",
+ "label": "(",
+ }
+ "S(WK_0)": {
+ "key": "WK_RPRN",
+ "label": ")",
+ }
+ "S(WK_MINS)": {
+ "key": "WK_UNDS",
+ "label": "_",
+ }
+ "S(WK_EQL)": {
+ "key": "WK_PLUS",
+ "label": "+",
+ }
+ "S(WK_SCLN)": {
+ "key": "WK_COLN",
+ "label": ":",
+ }
+ "S(WK_LBRC)": {
+ "key": "WK_LCBR",
+ "label": "{",
+ }
+ "S(WK_RBRC)": {
+ "key": "WK_RCBR",
+ "label": "}",
+ }
+ "S(WK_BSLS)": {
+ "key": "WK_PIPE",
+ "label": "|",
+ }
+ "S(WK_QUOT)": {
+ "key": "WK_DQUO",
+ "label": "\"",
+ }
+ "S(WK_COMM)": {
+ "key": "WK_LABK",
+ "label": "<",
+ }
+ "S(WK_DOT)": {
+ "key": "WK_RABK",
+ "label": ">",
+ }
+ "S(WK_SLSH)": {
+ "key": "WK_QUES",
+ "label": "?",
+ }
+ }
+} \ 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):
for key, value in keycodes["aliases"].items():
define = _render_key(value.get("key"))
val = _render_key(key)
- label = _render_label(value.get("label"))
-
- lines.append(f'#define {define} {val} // {label}')
+ if 'label' in value:
+ lines.append(f'#define {define} {val} // {_render_label(value.get("label"))}')
+ else:
+ lines.append(f'#define {define} {val}')
lines.append('')
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 @@
-/* Copyright 2015-2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ² │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ µ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define BE_SUP2 KC_GRV // ²
#define BE_AMPR KC_1 // &
#define BE_EACU KC_2 // é
@@ -47,7 +41,6 @@
#define BE_AGRV KC_0 // à
#define BE_RPRN KC_MINS // )
#define BE_MINS KC_EQL // -
-// Row 2
#define BE_A KC_Q // A
#define BE_Z KC_W // Z
#define BE_E KC_E // E
@@ -60,7 +53,6 @@
#define BE_P KC_P // P
#define BE_DCIR KC_LBRC // ^ (dead)
#define BE_DLR KC_RBRC // $
-// Row 3
#define BE_Q KC_A // Q
#define BE_S KC_S // S
#define BE_D KC_D // D
@@ -73,7 +65,6 @@
#define BE_M KC_SCLN // M
#define BE_UGRV KC_QUOT // ù
#define BE_MICR KC_NUHS // µ
-// Row 4
#define BE_LABK KC_NUBS // <
#define BE_W KC_Z // W
#define BE_X KC_X // X
@@ -85,21 +76,6 @@
#define BE_SCLN KC_COMM // ;
#define BE_COLN KC_DOT // :
#define BE_EQL KC_SLSH // =
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ³ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define BE_SUP3 S(BE_SUP2) // ³
#define BE_1 S(BE_AMPR) // 1
#define BE_2 S(BE_EACU) // 2
@@ -113,46 +89,25 @@
#define BE_0 S(BE_AGRV) // 0
#define BE_DEG S(BE_RPRN) // °
#define BE_UNDS S(BE_MINS) // _
-// Row 2
#define BE_DIAE S(BE_DCIR) // ¨ (dead)
#define BE_ASTR S(BE_DLR) // *
-// Row 3
#define BE_PERC S(BE_UGRV) // %
#define BE_PND S(BE_MICR) // £
-// Row 4
#define BE_RABK S(BE_LABK) // >
#define BE_QUES S(BE_COMM) // ?
#define BE_DOT S(BE_SCLN) // .
#define BE_SLSH S(BE_COLN) // /
#define BE_PLUS S(BE_EQL) // +
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ | │ @ │ # │ │ │ ^ │ │ │ { │ } │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ´ │ ` │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ │ │ │ │ │ │ │ │ │ ~ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define BE_PIPE ALGR(BE_AMPR) // |
#define BE_AT ALGR(BE_EACU) // @
#define BE_HASH ALGR(BE_DQUO) // #
#define BE_CIRC ALGR(BE_SECT) // ^
#define BE_LCBR ALGR(BE_CCED) // {
#define BE_RCBR ALGR(BE_AGRV) // }
-// Row 2
#define BE_EURO ALGR(BE_E) // €
#define BE_LBRC ALGR(BE_DCIR) // [
#define BE_RBRC ALGR(BE_DLR) // ]
-// Row 3
#define BE_ACUT ALGR(BE_UGRV) // ´ (dead)
#define BE_GRV ALGR(BE_MICR) // ` (dead)
-// Row 4
#define BE_BSLS ALGR(BE_LABK) // (backslash)
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ $ │ " │ « │ » │ ( │ ) │ @ │ + │ - │ / │ * │ = │ % │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ B │ É │ P │ O │ È │ ^ │ V │ D │ L │ J │ Z │ W │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ U │ I │ E │ , │ C │ T │ S │ R │ N │ M │ Ç │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ Ê │ À │ Y │ X │ . │ K │ ' │ Q │ G │ H │ F │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define BP_DLR KC_GRV // $
#define BP_DQUO KC_1 // "
#define BP_LDAQ KC_2 // «
@@ -47,7 +41,6 @@
#define BP_ASTR KC_0 // *
#define BP_EQL KC_MINS // =
#define BP_PERC KC_EQL // %
-// Row 2
#define BP_B KC_Q // B
#define BP_EACU KC_W // É
#define BP_P KC_E // P
@@ -60,7 +53,6 @@
#define BP_J KC_P // J
#define BP_Z KC_LBRC // Z
#define BP_W KC_RBRC // W
-// Row 3
#define BP_A KC_A // A
#define BP_U KC_S // U
#define BP_I KC_D // I
@@ -73,7 +65,6 @@
#define BP_N KC_SCLN // N
#define BP_M KC_QUOT // M
#define BP_CCED KC_BSLS // Ç
-// Row 4
#define BP_ECIR KC_NUBS // Ê
#define BP_AGRV KC_Z // À
#define BP_Y KC_X // Y
@@ -85,21 +76,6 @@
#define BP_G KC_COMM // G
#define BP_H KC_DOT // H
#define BP_F KC_SLSH // F
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ ! │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ ; │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ : │ │ ? │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define BP_HASH S(BP_DLR) // #
#define BP_1 S(BP_DQUO) // 1
#define BP_2 S(BP_LDAQ) // 2
@@ -113,30 +89,11 @@
#define BP_0 S(BP_ASTR) // 0
#define BP_DEG S(BP_EQL) // °
#define BP_GRV S(BP_PERC) // `
-// Row 2
#define BP_EXLM S(BP_DCIR) // !
-// Row 3
#define BP_SCLN S(BP_COMM) // ;
-// Row 4
#define BP_COLN S(BP_DOT) // :
#define BP_QUES S(BP_QUOT) // ?
-// Row 5
-#define BP_NBSP S(KC_SPC) //   (non-breaking space)
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ – │ — │ < │ > │ [ │ ] │ ^ │ ± │ − │ ÷ │ × │ ≠ │ ‰ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ | │ ´ │ & │ Œ │ ` │ ¡ │ ˇ │ Ð │ / │ IJ │ Ə │ ˘ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Æ │ Ù │ ¨ │ € │ │ © │ Þ │ ẞ │ ® │ ~ │ ¯ │ ¸ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ \ │ { │ } │ … │ ~ │ ¿ │ ° │ │ † │ ˛ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ _ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+#define BP_NBSP S(KC_SPC) // (non-breaking space)
#define BP_NDSH ALGR(BP_DLR) // –
#define BP_MDSH ALGR(BP_DQUO) // —
#define BP_LABK ALGR(BP_LDAQ) // <
@@ -150,7 +107,6 @@
#define BP_MUL ALGR(BP_ASTR) // ×
#define BP_NEQL ALGR(BP_EQL) // ≠
#define BP_PERM ALGR(BP_PERC) // ‰
-// Row 2
#define BP_PIPE ALGR(BP_B) // |
#define BP_ACUT ALGR(BP_EACU) // ´ (dead)
#define BP_AMPR ALGR(BP_P) // &
@@ -163,7 +119,6 @@
#define BP_IJ ALGR(BP_J) // IJ
#define BP_SCHW ALGR(BP_Z) // Ə
#define BP_BREV ALGR(BP_W) // ˘ (dead)
-// Row 3
#define BP_AE ALGR(BP_A) // Æ
#define BP_UGRV ALGR(BP_U) // Ù
#define BP_DIAE ALGR(BP_I) // ¨ (dead)
@@ -175,7 +130,6 @@
#define BP_DTIL ALGR(BP_N) // ~ (dead)
#define BP_MACR ALGR(BP_M) // ¯ (dead)
#define BP_CEDL ALGR(BP_CCED) // ¸ (dead)
-// Row 4
#define BP_BSLS ALGR(BP_AGRV) // (backslash)
#define BP_LCBR ALGR(BP_Y) // {
#define BP_RCBR ALGR(BP_X) // }
@@ -186,23 +140,7 @@
#define BP_DGRK ALGR(BP_G) // µ (dead Greek key)
#define BP_DAGG ALGR(BP_H) // †
#define BP_OGON ALGR(BP_F) // ˛ (dead)
-// Row 5
#define BP_UNDS ALGR(KC_SPC) // _
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¶ │ „ │ “ │ ” │ ≤ │ ≥ │ │ ¬ │ ¼ │ ½ │ ¾ │ ′ │ ″ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ ¦ │ ˝ │ § │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ ˙ │ ¤ │ ̛ │ ſ │ │ │ ™ │ │ º │ , │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ ‘ │ ’ │ · │ ⌨ │ ̉ │ ̣ │ │ ‡ │ ª │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define BP_PARA S(ALGR(BP_DLR)) // ¶
#define BP_DLQU S(ALGR(BP_DQUO)) // „
#define BP_LDQU S(ALGR(BP_LDAQ)) // “
@@ -215,26 +153,22 @@
#define BP_TQTR S(ALGR(BP_ASTR)) // ¾
#define BP_PRIM S(ALGR(BP_EQL)) // ′
#define BP_DPRM S(ALGR(BP_PERC)) // ″
-// Row 2
#define BP_BRKP S(ALGR(BP_B)) // ¦
#define BP_DACU S(ALGR(BP_EACU)) // ˝ (dead)
#define BP_SECT S(ALGR(BP_P)) // §
-// Row 3
#define BP_DOTA S(ALGR(BP_I)) // ˙ (dead)
#define BP_CURR S(ALGR(BP_E)) // ¤ (dead)
-#define BP_HORN S(ALGR(BP_COMM)) // ̛ (dead)
+#define BP_HORN S(ALGR(BP_COMM)) // ̛ (dead)
#define BP_LNGS S(ALGR(BP_C)) // ſ
#define BP_TM S(ALGR(BP_R)) // ™
#define BP_MORD S(ALGR(BP_M)) // º
#define BP_DCMM S(ALGR(BP_CCED)) // , (dead)
-// Row 4
#define BP_LSQU S(ALGR(BP_Y)) // ‘
#define BP_RSQU S(ALGR(BP_X)) // ’
#define BP_MDDT S(ALGR(BP_DOT)) // ·
#define BP_KEYB S(ALGR(BP_K)) // ⌨
-#define BP_HOKA S(ALGR(BP_QUOT)) // ̉ (dead)
-#define BP_DOTB S(ALGR(BP_Q)) // ̣ (dead)
+#define BP_HOKA S(ALGR(BP_QUOT)) // ̉ (dead)
+#define BP_DOTB S(ALGR(BP_Q)) // ̣ (dead)
#define BP_DDAG S(ALGR(BP_H)) // ‡
#define BP_FORD S(ALGR(BP_F)) // ª
-// Row 5
-#define BP_NNBS S(ALGR(KC_SPC)) //   (narrow non-breaking space)
+#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 @@
-/* Copyright 2017 Potiguar Faga
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ´ │ [ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ ] │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
- * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ; │ / │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define BR_QUOT KC_GRV // '
#define BR_1 KC_1 // 1
#define BR_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define BR_0 KC_0 // 0
#define BR_MINS KC_MINS // -
#define BR_EQL KC_EQL // =
-// Row 2
#define BR_Q KC_Q // Q
#define BR_W KC_W // W
#define BR_E KC_E // E
@@ -60,7 +53,6 @@
#define BR_P KC_P // P
#define BR_ACUT KC_LBRC // ´ (dead)
#define BR_LBRC KC_RBRC // [
-// Row 3
#define BR_A KC_A // A
#define BR_S KC_S // S
#define BR_D KC_D // D
@@ -73,7 +65,6 @@
#define BR_CCED KC_SCLN // Ç
#define BR_TILD KC_QUOT // ~ (dead)
#define BR_RBRC KC_BSLS // ]
-// Row 4
#define BR_BSLS KC_NUBS // (backslash)
#define BR_Z KC_Z // Z
#define BR_X KC_X // X
@@ -86,24 +77,8 @@
#define BR_DOT KC_DOT // .
#define BR_SCLN KC_SLSH // ;
#define BR_SLSH KC_INT1 // /
-// Numpad
#define BR_PDOT KC_PCMM // .
#define BR_PCMM KC_PDOT // ,
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ " │ ! │ @ │ # │ $ │ % │ ¨ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ } │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
- * │ │ | │ │ │ │ │ │ │ │ < │ > │ : │ ? │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define BR_DQUO S(BR_QUOT) // "
#define BR_EXLM S(BR_1) // !
#define BR_AT S(BR_2) // @
@@ -117,33 +92,15 @@
#define BR_RPRN S(BR_0) // )
#define BR_UNDS S(BR_MINS) // _
#define BR_PLUS S(BR_EQL) // +
-// Row 2
#define BR_GRV S(BR_ACUT) // ` (dead)
#define BR_LCBR S(BR_LBRC) // {
-// Row 3
#define BR_CIRC S(BR_TILD) // ^ (dead)
#define BR_RCBR S(BR_RBRC) // }
-// Row 4
#define BR_PIPE S(BR_BSLS) // |
#define BR_LABK S(BR_COMM) // <
#define BR_RABK S(BR_DOT) // >
#define BR_COLN S(BR_SCLN) // :
#define BR_QUES S(BR_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ¹ │ ² │ ³ │ £ │ ¢ │ ¬ │ │ │ │ │ │ § │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ ° │ │ │ │ │ │ │ │ │ ª │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ º │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
- * │ │ │ │ │ ₢ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define BR_SUP1 ALGR(BR_1) // ¹
#define BR_SUP2 ALGR(BR_2) // ²
#define BR_SUP3 ALGR(BR_3) // ³
@@ -151,10 +108,7 @@
#define BR_CENT ALGR(BR_5) // ¢
#define BR_NOT ALGR(BR_6) // ¬
#define BR_SECT ALGR(BR_EQL) // §
-// Row 2
#define BR_DEG ALGR(BR_E) // °
#define BR_FORD ALGR(BR_LBRC) // ª
-// Row 3
#define BR_MORD ALGR(BR_RBRC) // º
-// Row 4
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ / │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ Ç │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ È │ À │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ Ù │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define CA_SLSH KC_GRV // /
#define CA_1 KC_1 // 1
#define CA_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define CA_0 KC_0 // 0
#define CA_MINS KC_MINS // -
#define CA_EQL KC_EQL // =
-// Row 2
#define CA_Q KC_Q // Q
#define CA_W KC_W // W
#define CA_E KC_E // E
@@ -60,7 +53,6 @@
#define CA_P KC_P // P
#define CA_CIRC KC_LBRC // ^ (dead)
#define CA_CCED KC_RBRC // Ç
-// Row 3
#define CA_A KC_A // A
#define CA_S KC_S // S
#define CA_D KC_D // D
@@ -73,7 +65,6 @@
#define CA_SCLN KC_SCLN // ;
#define CA_EGRV KC_QUOT // É
#define CA_AGRV KC_NUHS // À
-// Row 4
#define CA_UGRV KC_NUBS // Ù
#define CA_Z KC_Z // Z
#define CA_X KC_X // X
@@ -85,21 +76,6 @@
#define CA_COMM KC_COMM // ,
#define CA_DOT KC_DOT // .
#define CA_EACU KC_SLSH // É
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ \ │ ! │ @ │ # │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ : │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ ' │ " │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CA_BSLS S(CA_SLSH) // (backslash)
#define CA_EXLM S(CA_1) // !
#define CA_AT S(CA_2) // @
@@ -113,28 +89,10 @@
#define CA_RPRN S(CA_0) // )
#define CA_UNDS S(CA_MINS) // _
#define CA_PLUS S(CA_EQL) // +
-// Row 2
#define CA_DIAE S(CA_CIRC) // ¨ (dead)
-// Row 3
#define CA_COLN S(CA_SCLN) // :
-// Row 4
#define CA_QUOT S(CA_COMM) // '
#define CA_DQUO S(CA_DOT) // "
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ | │ │ │ │ ¤ │ │ │ { │ } │ [ │ ] │ │ ¬ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ ` │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ ° │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ « │ » │ │ │ │ │ │ < │ > │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CA_PIPE ALGR(CA_SLSH) // |
#define CA_CURR ALGR(CA_4) // ¤
#define CA_LCBR ALGR(CA_7) // {
@@ -142,32 +100,14 @@
#define CA_LBRC ALGR(CA_9) // [
#define CA_RBRC ALGR(CA_0) // ]
#define CA_NOT ALGR(CA_EQL) // ¬
-// Row 2
#define CA_EURO ALGR(CA_E) // €
#define CA_GRV ALGR(CA_CIRC) // ` (dead)
#define CA_DTIL ALGR(CA_CCED) // ~ (dead)
-// Row 3
#define CA_DEG ALGR(CA_SCLN) // °
-// Row 4
#define CA_LDAQ ALGR(CA_Z) // «
#define CA_RDAQ ALGR(CA_X) // »
#define CA_LABK ALGR(CA_COMM) // <
#define CA_RABK ALGR(CA_DOT) // >
-
-/* Right Ctrl symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ¹ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │ │ │ │ │ ¸ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Ω │ Ł │ Œ │ ¶ │ Ŧ │ ← │ ↓ │ → │ Ø │ Þ │ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Æ │ ß │ Ð │ │ Ŋ │ Ħ │ IJ │ ĸ │ Ŀ │ ´ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ ¢ │ “ │ ” │ ʼn │ μ │ ― │ ˙ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CA_SUP1 RCTL(CA_1) // ¹
#define CA_SUP2 RCTL(CA_2) // ²
#define CA_SUP3 RCTL(CA_3) // ³
@@ -175,7 +115,6 @@
#define CA_HALF RCTL(CA_5) // ½
#define CA_TQTR RCTL(CA_6) // ¾
#define CA_CEDL RCTL(CA_EQL) // ¸ (dead)
-// Row 2
#define CA_OMEG RCTL(CA_Q) // Ω
#define CA_LSTR RCTL(CA_W) // Ł
#define CA_OE RCTL(CA_E) // Œ
@@ -187,7 +126,6 @@
#define CA_OSTR RCTL(CA_O) // Ø
#define CA_THRN RCTL(CA_P) // Þ
#define CA_TILD RCTL(CA_CCED) // ~
-// Row 3
#define CA_AE RCTL(CA_A) // Æ
#define CA_SS RCTL(CA_S) // ß
#define CA_ETH RCTL(CA_D) // Ð
@@ -197,7 +135,6 @@
#define CA_KRA RCTL(CA_K) // ĸ
#define CA_LMDT RCTL(CA_L) // Ŀ
#define CA_ACUT RCTL(CA_SCLN) // ´ (dead)
-// Row 4
#define CA_CENT RCTL(CA_C) // ¢
#define CA_LDQU RCTL(CA_V) // “
#define CA_RDQU RCTL(CA_B) // ”
@@ -205,21 +142,6 @@
#define CA_MICR RCTL(CA_M) // μ
#define CA_HRZB RCTL(CA_COMM) // ―
#define CA_DOTA RCTL(CA_DOT) // ˙ (dead)
-
-/* Shift+Right Ctrl symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ - │ ¡ │ │ £ │ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ │ ¿ │ ˛ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ ® │ │ ¥ │ ↑ │ ı │ │ │ ° │ ¯ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ § │ │ ª │ │ │ │ │ │ ˝ │ ˇ │ ˘ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ ¦ │ │ │ © │ ‘ │ ’ │ ♪ │ º │ × │ ÷ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CA_SHYP RCTL(S(CA_SLSH)) // ­ (soft hyphen)
#define CA_IEXL RCTL(S(CA_1)) // ¡
#define CA_PND RCTL(S(CA_3)) // £
@@ -230,20 +152,17 @@
#define CA_PLMN RCTL(S(CA_9)) // ±
#define CA_IQUE RCTL(S(CA_MINS)) // ¿
#define CA_OGON RCTL(S(CA_EQL)) // ˛ (dead)
-// Row 2
#define CA_REGD RCTL(S(CA_R)) // ®
#define CA_YEN RCTL(S(CA_Y)) // ¥
#define CA_UARR RCTL(S(CA_U)) // ↑
#define CA_DLSI RCTL(S(CA_I)) // ı
#define CA_RNGA RCTL(S(CA_CIRC)) // ° (dead)
#define CA_MACR RCTL(S(CA_CCED)) // ¯ (dead)
-// Row 3
#define CA_SECT RCTL(S(CA_S)) // §
#define CA_FORD RCTL(S(CA_F)) // ª
#define CA_DACU RCTL(S(CA_SCLN)) // ˝ (dead)
#define CA_CARN RCTL(S(CA_EGRV)) // ˇ (dead)
#define CA_BREV RCTL(S(CA_AGRV)) // ˘ (dead)
-// Row 4
#define CA_BRKP RCTL(S(CA_UGRV)) // ¦
#define CA_COPY RCTL(S(CA_C)) // ©
#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 @@
-/* Copyright 2015-2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define CM_GRV KC_GRV // `
#define CM_1 KC_1 // 1
#define CM_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define CM_0 KC_0 // 0
#define CM_MINS KC_MINS // -
#define CM_EQL KC_EQL // =
-// Row 2
#define CM_Q KC_Q // Q
#define CM_W KC_W // W
#define CM_F KC_E // F
@@ -61,7 +54,6 @@
#define CM_LBRC KC_LBRC // [
#define CM_RBRC KC_RBRC // ]
#define CM_BSLS KC_BSLS // (backslash)
-// Row 3
#define CM_A KC_A // A
#define CM_R KC_S // R
#define CM_S KC_D // S
@@ -73,7 +65,6 @@
#define CM_I KC_L // I
#define CM_O KC_SCLN // O
#define CM_QUOT KC_QUOT // '
-// Row 4
#define CM_Z KC_Z // Z
#define CM_X KC_X // X
#define CM_C KC_C // C
@@ -84,21 +75,6 @@
#define CM_COMM KC_COMM // ,
#define CM_DOT KC_DOT // .
#define CM_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CM_TILD S(CM_GRV) // ~
#define CM_EXLM S(CM_1) // !
#define CM_AT S(CM_2) // @
@@ -112,14 +88,11 @@
#define CM_RPRN S(CM_0) // )
#define CM_UNDS S(CM_MINS) // _
#define CM_PLUS S(CM_EQL) // +
-// Row 2
#define CM_COLN S(CM_SCLN) // :
#define CM_LCBR S(CM_LBRC) // {
#define CM_RCBR S(CM_RBRC) // }
#define CM_PIPE S(CM_BSLS) // |
-// Row 3
#define CM_DQUO S(CM_QUOT) // "
-// Row 4
#define CM_LABK S(CM_COMM) // <
#define CM_RABK S(CM_DOT) // >
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define HR_CEDL KC_GRV // ¸ (dead)
#define HR_1 KC_1 // 1
#define HR_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define HR_0 KC_0 // 0
#define HR_QUOT KC_MINS // '
#define HR_PLUS KC_EQL // +
-// Row 2
#define HR_Q KC_Q // Q
#define HR_W KC_W // W
#define HR_E KC_E // E
@@ -60,7 +53,6 @@
#define HR_P KC_P // P
#define HR_SCAR KC_LBRC // Š
#define HR_DSTR KC_RBRC // Đ
-// Row 3
#define HR_A KC_A // A
#define HR_S KC_S // S
#define HR_D KC_D // D
@@ -73,7 +65,6 @@
#define HR_CCAR KC_SCLN // Č
#define HR_CACU KC_QUOT // Ć
#define HR_ZCAR KC_NUHS // Ž
-// Row 4
#define HR_LABK KC_NUBS // <
#define HR_Y KC_Z // Y
#define HR_X KC_X // X
@@ -85,21 +76,6 @@
#define HR_COMM KC_COMM // ,
#define HR_DOT KC_DOT // .
#define HR_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define HR_DIAE S(HR_CEDL) // ¨ (dead)
#define HR_EXLM S(HR_1) // !
#define HR_DQUO S(HR_2) // "
@@ -113,26 +89,10 @@
#define HR_EQL S(HR_0) // =
#define HR_QUES S(HR_QUOT) // ?
#define HR_ASTR S(HR_PLUS) // *
-// Row 4
#define HR_RABK S(HR_LABK) // >
#define HR_SCLN S(HR_COMM) // ;
#define HR_COLN S(HR_DOT) // :
#define HR_UNDS S(HR_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define HR_TILD ALGR(HR_1) // ~
#define HR_CARN ALGR(HR_2) // ˇ (dead)
#define HR_CIRC ALGR(HR_3) // ^ (dead)
@@ -143,20 +103,17 @@
#define HR_DOTA ALGR(HR_8) // ˙ (dead)
#define HR_ACUT ALGR(HR_9) // ´ (dead)
#define HR_DACU ALGR(HR_0) // ˝ (dead)
-// Row 2
#define HR_BSLS ALGR(HR_Q) // (backslash)
#define HR_PIPE ALGR(HR_W) // |
#define HR_EURO ALGR(HR_E) // €
#define HR_DIV ALGR(HR_SCAR) // ÷
#define HR_MUL ALGR(HR_DSTR) // ×
-// Row 3
#define HR_LBRC ALGR(HR_F) // [
#define HR_RBRC ALGR(HR_G) // ]
#define HR_LLST ALGR(HR_K) // ł
#define HR_CLST ALGR(HR_L) // Ł
#define HR_SS ALGR(HR_CACU) // ß
#define HR_CURR ALGR(HR_ZCAR) // ¤
-// Row 4
#define HR_AT ALGR(HR_V) // @
#define HR_LCBR ALGR(HR_B) // {
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ; │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define CZ_SCLN KC_GRV // ;
#define CZ_PLUS KC_1 // +
#define CZ_ECAR KC_2 // ě
@@ -47,7 +41,6 @@
#define CZ_EACU KC_0 // é
#define CZ_EQL KC_MINS // =
#define CZ_ACUT KC_EQL // ´ (dead)
-// Row 2
#define CZ_Q KC_Q // Q
#define CZ_W KC_W // W
#define CZ_E KC_E // E
@@ -60,7 +53,6 @@
#define CZ_P KC_P // P
#define CZ_UACU KC_LBRC // ú
#define CZ_RPRN KC_RBRC // )
-// Row 3
#define CZ_A KC_A // A
#define CZ_S KC_S // S
#define CZ_D KC_D // D
@@ -73,7 +65,6 @@
#define CZ_URNG KC_SCLN // ů
#define CZ_SECT KC_QUOT // §
#define CZ_DIAE KC_NUHS // ¨ (dead)
-// Row 4
#define CZ_BSLS KC_NUBS // (backslash)
#define CZ_Y KC_Z // Y
#define CZ_X KC_X // X
@@ -85,21 +76,6 @@
#define CZ_COMM KC_COMM // ,
#define CZ_DOT KC_DOT // .
#define CZ_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CZ_RNGA S(CZ_SCLN) // ° (dead)
#define CZ_1 S(CZ_PLUS) // 1
#define CZ_2 S(CZ_ECAR) // 2
@@ -113,33 +89,15 @@
#define CZ_0 S(CZ_EACU) // 0
#define CZ_PERC S(CZ_EQL) // %
#define CZ_CARN S(CZ_ACUT) // ˇ (dead)
-// Row 2
#define CZ_SLSH S(CZ_UACU) // /
#define CZ_LPRN S(CZ_RPRN) // (
-// Row 3
#define CZ_DQUO S(CZ_URNG) // "
#define CZ_EXLM S(CZ_SECT) // !
#define CZ_QUOT S(CZ_DIAE) // '
-// Row 4
#define CZ_PIPE S(CZ_BSLS) // |
#define CZ_QUES S(CZ_COMM) // ?
#define CZ_COLN S(CZ_DOT) // :
#define CZ_UNDS S(CZ_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ~ │ │ ^ │ ˘ │ │ ˛ │ ` │ ˙ │ │ ˝ │ │ ¸ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ # │ & │ @ │ { │ } │ │ < │ > │ * │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CZ_TILD ALGR(CZ_PLUS) // ~
#define CZ_CIRC ALGR(CZ_SCAR) // ^ (dead)
#define CZ_BREV ALGR(CZ_CCAR) // ˘ (dead)
@@ -148,11 +106,9 @@
#define CZ_DOTA ALGR(CZ_AACU) // ˙ (dead)
#define CZ_DACU ALGR(CZ_EACU) // ˝ (dead)
#define CZ_CEDL ALGR(CZ_ACUT) // ¸ (dead)
-// Row 2
#define CZ_EURO ALGR(CZ_E) // €
#define CZ_DIV ALGR(CZ_UACU) // ÷
#define CZ_MUL ALGR(CZ_RPRN) // ×
-// Row 3
#define CZ_LDST ALGR(CZ_S) // đ
#define CZ_CDST ALGR(CZ_D) // Đ
#define CZ_LBRC ALGR(CZ_F) // [
@@ -162,7 +118,6 @@
#define CZ_DLR ALGR(CZ_URNG) // $
#define CZ_SS ALGR(CZ_SECT) // ß
#define CZ_CURR ALGR(CZ_DIAE) // ¤
-// Row 4
#define CZ_HASH ALGR(CZ_X) // #
#define CZ_AMPR ALGR(CZ_C) // &
#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 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ½ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ Ø │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define DK_HALF KC_GRV // ½
#define DK_1 KC_1 // 1
#define DK_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define DK_0 KC_0 // 0
#define DK_PLUS KC_MINS // +
#define DK_ACUT KC_EQL // ´ (dead)
-// Row 2
#define DK_Q KC_Q // Q
#define DK_W KC_W // W
#define DK_E KC_E // E
@@ -60,7 +53,6 @@
#define DK_P KC_P // P
#define DK_ARNG KC_LBRC // Å
#define DK_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define DK_A KC_A // A
#define DK_S KC_S // S
#define DK_D KC_D // D
@@ -73,7 +65,6 @@
#define DK_AE KC_SCLN // Æ
#define DK_OSTR KC_QUOT // Ø
#define DK_QUOT KC_NUHS // '
-// Row 4
#define DK_LABK KC_NUBS // <
#define DK_Z KC_Z // Z
#define DK_X KC_X // X
@@ -85,21 +76,6 @@
#define DK_COMM KC_COMM // ,
#define DK_DOT KC_DOT // .
#define DK_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DK_SECT S(DK_HALF) // §
#define DK_EXLM S(DK_1) // !
#define DK_DQUO S(DK_2) // "
@@ -113,30 +89,12 @@
#define DK_EQL S(DK_0) // =
#define DK_QUES S(DK_PLUS) // ?
#define DK_GRV S(DK_ACUT) // ` (dead)
-// Row 2
#define DK_CIRC S(DK_DIAE) // ^ (dead)
-// Row 3
#define DK_ASTR S(DK_QUOT) // *
-// Row 4
#define DK_RABK S(DK_LABK) // >
#define DK_SCLN S(DK_COMM) // ;
#define DK_COLN S(DK_DOT) // :
#define DK_UNDS S(DK_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ | │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ │ │ │ │ │ │ µ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DK_AT ALGR(DK_2) // @
#define DK_PND ALGR(DK_3) // £
#define DK_DLR ALGR(DK_4) // $
@@ -146,8 +104,6 @@
#define DK_RBRC ALGR(DK_9) // ]
#define DK_RCBR ALGR(DK_0) // }
#define DK_PIPE ALGR(DK_ACUT) // |
-// Row 2
#define DK_TILD ALGR(DK_DIAE) // ~ (dead)
-// Row 4
#define DK_BSLS ALGR(DK_LABK) // (backslash)
#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 @@
-/* Copyright 2015-2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define DV_GRV KC_GRV // `
#define DV_1 KC_1 // 1
#define DV_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define DV_0 KC_0 // 0
#define DV_LBRC KC_MINS // [
#define DV_RBRC KC_EQL // ]
-// Row 2
#define DV_QUOT KC_Q // '
#define DV_COMM KC_W // ,
#define DV_DOT KC_E // .
@@ -61,7 +54,6 @@
#define DV_SLSH KC_LBRC // /
#define DV_EQL KC_RBRC // =
#define DV_BSLS KC_BSLS // (backslash)
-// Row 3
#define DV_A KC_A // A
#define DV_O KC_S // O
#define DV_E KC_D // E
@@ -73,7 +65,6 @@
#define DV_N KC_L // N
#define DV_S KC_SCLN // S
#define DV_MINS KC_QUOT // -
-// Row 4
#define DV_SCLN KC_Z // ;
#define DV_Q KC_X // Q
#define DV_J KC_C // J
@@ -84,21 +75,6 @@
#define DV_W KC_COMM // W
#define DV_V KC_DOT // V
#define DV_Z KC_SLSH // Z
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ { │ } │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ " │ < │ > │ │ │ │ │ │ │ │ ? │ + │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ : │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DV_TILD S(DV_GRV) // ~
#define DV_EXLM S(DV_1) // !
#define DV_AT S(DV_2) // @
@@ -112,14 +88,11 @@
#define DV_RPRN S(DV_0) // )
#define DV_LCBR S(DV_LBRC) // {
#define DV_RCBR S(DV_RBRC) // }
-// Row 2
#define DV_DQUO S(DV_QUOT) // "
#define DV_LABK S(DV_COMM) // <
#define DV_RABK S(DV_DOT) // >
#define DV_QUES S(DV_SLSH) // ?
#define DV_PLUS S(DV_EQL) // +
#define DV_PIPE S(DV_BSLS) // |
-// Row 3
#define DV_UNDS S(DV_MINS) // _
-// Row 4
#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 @@
-/* Copyright 2020 Guillaume Gérard
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-/* Dvorak for the French language
- * Version: 2
- *
- * The layout is designed by Francis Leboutte <dvorak-fr@algo.be>
- *
- * Source: https://algo.be/ergo/dvorak-fr.html
- */
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
#pragma once
-
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ « │ » │ / │ - │ è │ \ │ ^ │ ( │ ` │ ) │ _ │ [ │ ] │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ : │ ' │ é │ G │ . │ H │ V │ C │ M │ K │ Z │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ O │ A │ U │ E │ B │ F │ S │ T │ N │ D │ W │ ~ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ à │ ; │ Q │ , │ I │ Y │ X │ R │ L │ P │ J │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define DV_LDAQ KC_GRV // «
#define DV_RDAQ KC_1 // »
#define DV_SLSH KC_2 // /
@@ -55,7 +41,6 @@
#define DV_UNDS KC_0 // _
#define DV_LBRC KC_MINS // [
#define DV_RBRC KC_EQL // ]
-// Row 2
#define DV_COLN KC_Q // :
#define DV_QUOT KC_W // '
#define DV_EACU KC_E // é
@@ -68,7 +53,6 @@
#define DV_K KC_P // K
#define DV_Z KC_LBRC // Z
#define DV_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define DV_O KC_A // O
#define DV_A KC_S // A
#define DV_U KC_D // U
@@ -81,7 +65,6 @@
#define DV_D KC_SCLN // D
#define DV_W KC_QUOT // W
#define DV_TILD KC_NUHS // ~ (dead)
-// Row 4
#define DV_AGRV KC_NUBS // à
#define DV_SCLN KC_Z // ;
#define DV_Q KC_X // Q
@@ -93,21 +76,6 @@
#define DV_L KC_COMM // L
#define DV_P KC_DOT // P
#define DV_J KC_SLSH // J
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 0 │ 0 │ + │ % │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ ? │ < │ > │ │ ! │ │ │ │ │ │ │ = │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ # │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ ç │ | │ │ @ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DV_ASTR S(DV_LDAQ) // *
#define DV_1 S(DV_RDAQ) // 1
#define DV_2 S(DV_SLSH) // 2
@@ -121,15 +89,12 @@
#define DV_0 S(DV_UNDS) // 0
#define DV_PLUS S(DV_LBRC) // +
#define DV_PERC S(DV_RBRC) // %
-// Row 2
#define DV_QUES S(DV_COLN) // ?
#define DV_LABK S(DV_QUOT) // <
#define DV_RABK S(DV_EACU) // >
#define DV_EXLM S(DV_DOT) // !
#define DV_EQL S(DV_DIAE) // =
-// Row 3
#define DV_HASH S(DV_TILD) // #
-// Row 4
#define DV_CCED S(DV_AGRV) // ç
#define DV_PIPE S(DV_SCLN) // |
#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 @@
-/* Copyright 2016 Artyom Mironov
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ $ │ & │ [ │ { │ } │ ( │ = │ * │ ) │ + │ ] │ ! │ # │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ ; │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ @ │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ ' │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define DP_DLR KC_GRV // $
#define DP_AMPR KC_1 // &
#define DP_LBRC KC_2 // [
@@ -47,7 +41,6 @@
#define DP_RBRC KC_0 // ]
#define DP_EXLM KC_MINS // !
#define DP_HASH KC_EQL // #
-// Row 2
#define DP_SCLN KC_Q // ;
#define DP_COMM KC_W // ,
#define DP_DOT KC_E // .
@@ -61,7 +54,6 @@
#define DP_SLSH KC_LBRC // /
#define DP_AT KC_RBRC // @
#define DP_BSLS KC_BSLS // (backslash)
-// Row 3
#define DP_A KC_A // A
#define DP_O KC_S // O
#define DP_E KC_D // E
@@ -73,7 +65,6 @@
#define DP_N KC_L // N
#define DP_S KC_SCLN // S
#define DP_MINS KC_QUOT // -
-// Row 4
#define DP_QUOT KC_Z // '
#define DP_Q KC_X // Q
#define DP_J KC_C // J
@@ -84,21 +75,6 @@
#define DP_W KC_COMM // W
#define DP_V KC_DOT // V
#define DP_Z KC_SLSH // Z
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ % │ 7 │ 5 │ 3 │ 1 │ 9 │ 0 │ 2 │ 4 │ 6 │ 8 │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ : │ < │ > │ │ │ │ │ │ │ │ ? │ ^ │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ " │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DP_TILD S(DP_DLR) // ~
#define DP_PERC S(DP_AMPR) // %
#define DP_7 S(DP_LBRC) // 7
@@ -112,14 +88,11 @@
#define DP_6 S(DP_RBRC) // 6
#define DP_8 S(DP_EXLM) // 8
#define DP_GRV S(DP_HASH) // `
-// Row 2
#define DP_COLN S(DP_SCLN) // :
#define DP_LABK S(DP_COMM) // <
#define DP_RABK S(DP_DOT) // >
#define DP_QUES S(DP_SLSH) // ?
#define DP_CIRC S(DP_AT) // ^
#define DP_PIPE S(DP_BSLS) // |
-// Row 3
#define DP_UNDS S(DP_MINS) // _
-// Row 4
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ˇ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ü │ Õ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define EE_CARN KC_GRV // ˇ (dead)
#define EE_1 KC_1 // 1
#define EE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define EE_0 KC_0 // 0
#define EE_PLUS KC_MINS // +
#define EE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define EE_Q KC_Q // Q
#define EE_W KC_W // W
#define EE_E KC_E // E
@@ -60,7 +53,6 @@
#define EE_P KC_P // P
#define EE_UDIA KC_LBRC // Ü
#define EE_OTIL KC_RBRC // Õ
-// Row 3
#define EE_A KC_A // A
#define EE_S KC_S // S
#define EE_D KC_D // D
@@ -73,7 +65,6 @@
#define EE_ODIA KC_SCLN // Ö
#define EE_ADIA KC_QUOT // Ä
#define EE_QUOT KC_NUHS // '
-// Row 4
#define EE_LABK KC_NUBS // <
#define EE_Z KC_Z // Z
#define EE_X KC_X // X
@@ -85,21 +76,6 @@
#define EE_COMM KC_COMM // ,
#define EE_DOT KC_DOT // .
#define EE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define EE_TILD S(EE_CARN) // ~ (dead)
#define EE_EXLM S(EE_1) // !
#define EE_DQUO S(EE_2) // "
@@ -113,28 +89,11 @@
#define EE_EQL S(EE_0) // =
#define EE_QUES S(EE_PLUS) // ?
#define EE_GRV S(EE_ACUT) // ` (dead)
-// Row 3
#define EE_ASTR S(EE_QUOT) // *
-// Row 4
#define EE_RABK S(EE_LABK) // >
#define EE_SCLN S(EE_COMM) // ;
#define EE_COLN S(EE_DOT) // :
#define EE_UNDS S(EE_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ § │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ š │ │ │ │ │ │ │ │ │ ^ │ ½ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ ž │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define EE_AT ALGR(EE_2) // @
#define EE_PND ALGR(EE_3) // £
#define EE_DLR ALGR(EE_4) // $
@@ -144,12 +103,9 @@
#define EE_RBRC ALGR(EE_9) // ]
#define EE_RCBR ALGR(EE_0) // }
#define EE_BSLS ALGR(EE_PLUS) // (backslash)
-// Row 2
#define EE_SECT ALGR(EE_OTIL) // §
-// Row 3
#define EE_SCAR ALGR(EE_S) // š
#define EE_CIRC ALGR(EE_ADIA) // ^ (dead)
#define EE_HALF ALGR(EE_QUOT) // ½
-// Row 4
#define EE_PIPE ALGR(EE_LABK) // |
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define FI_SECT KC_GRV // §
#define FI_1 KC_1 // 1
#define FI_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define FI_0 KC_0 // 0
#define FI_PLUS KC_MINS // +
#define FI_ACUT KC_EQL // ´ (dead)
-// Row 2
#define FI_Q KC_Q // Q
#define FI_W KC_W // W
#define FI_E KC_E // E
@@ -60,7 +53,6 @@
#define FI_P KC_P // P
#define FI_ARNG KC_LBRC // Å
#define FI_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define FI_A KC_A // A
#define FI_S KC_S // S
#define FI_D KC_D // D
@@ -73,7 +65,6 @@
#define FI_ODIA KC_SCLN // Ö
#define FI_ADIA KC_QUOT // Ä
#define FI_QUOT KC_NUHS // '
-// Row 4
#define FI_LABK KC_NUBS // <
#define FI_Z KC_Z // Z
#define FI_X KC_X // X
@@ -85,21 +76,6 @@
#define FI_COMM KC_COMM // ,
#define FI_DOT KC_DOT // .
#define FI_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define FI_HALF S(FI_SECT) // ½
#define FI_EXLM S(FI_1) // !
#define FI_DQUO S(FI_2) // "
@@ -113,30 +89,12 @@
#define FI_EQL S(FI_0) // =
#define FI_QUES S(FI_PLUS) // ?
#define FI_GRV S(FI_ACUT) // ` (dead)
-// Row 2
#define FI_CIRC S(FI_DIAE) // ^ (dead)
-// Row 3
#define FI_ASTR S(FI_QUOT) // *
-// Row 4
#define FI_RABK S(FI_LABK) // >
#define FI_SCLN S(FI_COMM) // ;
#define FI_COLN S(FI_DOT) // :
#define FI_UNDS S(FI_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define FI_AT ALGR(FI_2) // @
#define FI_PND ALGR(FI_3) // £
#define FI_DLR ALGR(FI_4) // $
@@ -146,8 +104,6 @@
#define FI_RBRC ALGR(FI_9) // ]
#define FI_RCBR ALGR(FI_0) // }
#define FI_BSLS ALGR(FI_PLUS) // (backslash)
-// Row 2
#define FI_TILD ALGR(FI_DIAE) // ~ (dead)
-// Row 4
#define FI_PIPE ALGR(FI_LABK) // |
#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 @@
-/* Copyright 2015-2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ² │ & │ é │ " │ ' │ ( │ - │ è │ _ │ ç │ à │ ) │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ ! │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define FR_SUP2 KC_GRV // ²
#define FR_AMPR KC_1 // &
#define FR_EACU KC_2 // é
@@ -47,7 +41,6 @@
#define FR_AGRV KC_0 // à
#define FR_RPRN KC_MINS // )
#define FR_EQL KC_EQL // =
-// Row 2
#define FR_A KC_Q // A
#define FR_Z KC_W // Z
#define FR_E KC_E // E
@@ -60,7 +53,6 @@
#define FR_P KC_P // P
#define FR_CIRC KC_LBRC // ^ (dead)
#define FR_DLR KC_RBRC // $
-// Row 3
#define FR_Q KC_A // Q
#define FR_S KC_S // S
#define FR_D KC_D // D
@@ -73,7 +65,6 @@
#define FR_M KC_SCLN // M
#define FR_UGRV KC_QUOT // ù
#define FR_ASTR KC_NUHS // *
-// Row 4
#define FR_LABK KC_NUBS // <
#define FR_W KC_Z // W
#define FR_X KC_X // X
@@ -85,21 +76,6 @@
#define FR_SCLN KC_COMM // ;
#define FR_COLN KC_DOT // :
#define FR_EXLM KC_SLSH // !
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ £ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ % │ µ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ § │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define FR_1 S(FR_AMPR) // 1
#define FR_2 S(FR_EACU) // 2
#define FR_3 S(FR_DQUO) // 3
@@ -112,33 +88,15 @@
#define FR_0 S(FR_AGRV) // 0
#define FR_DEG S(FR_RPRN) // °
#define FR_PLUS S(FR_EQL) // +
-// Row 2
#define FR_DIAE S(FR_CIRC) // ¨ (dead)
#define FR_PND S(FR_DLR) // £
-// Row 3
#define FR_PERC S(FR_UGRV) // %
#define FR_MICR S(FR_ASTR) // µ
-// Row 4
#define FR_RABK S(FR_LABK) // >
#define FR_QUES S(FR_COMM) // ?
#define FR_DOT S(FR_SCLN) // .
#define FR_SLSH S(FR_COLN) // /
#define FR_SECT S(FR_EXLM) // §
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ ~ │ # │ { │ [ │ | │ ` │ \ │ │ @ │ ] │ } │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ │ ¤ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define FR_TILD ALGR(FR_EACU) // ~ (dead)
#define FR_HASH ALGR(FR_DQUO) // #
#define FR_LCBR ALGR(FR_QUOT) // {
@@ -149,6 +107,5 @@
#define FR_AT ALGR(FR_AGRV) // @
#define FR_RBRC ALGR(FR_RPRN) // ]
#define FR_RCBR ALGR(FR_EQL) // }
-// Row 2
-#define FR_EURO ALGR(KC_E) // €
-#define FR_CURR ALGR(FR_DLR) // ¤
+#define FR_EURO ALGR(KC_E) // €
+#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 @@
-/* Copyright 2020 Guillaume Gérard
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-/* French AZERTY - AFNOR NF Z71-300
- *
- * A standard for the French keyboard
- *
- * The project was launched at the end of 2015 on the proposal of the General
- * Delegation for the French language and the languages of France (Ministry
- * of Culture), starting from the observation that the current "azerty"
- * keyboards constrain the writing of French, languages regional and European
- * languages with Latin alphabet.
- *
- * For the first time, a standard (NF Z71-300) defines the placement of
- * characters on the French keyboard. It offers two layouts, one of which
- * closely follows the QWERTY keyboard used by most people who write in French.
- *
- * However, it is in many ways superior to the old keyboard:
- *
- * - it contains all the characters required to enter text in French (for example É, œ and ")
- * - it is designed to be more ergonomic and allow faster typing
- * - it includes almost 60 additional characters for entering foreign languages, technical content, etc
- * - however, the characters remain easy to locate thanks to intuitive groupings
- *
- * Source: https://norme-azerty.fr
- */
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
#pragma once
-
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define FR_AT KC_GRV // @
#define FR_AGRV KC_1 // à
#define FR_EACU KC_2 // é
@@ -71,7 +41,6 @@
#define FR_RDAQ KC_0 // »
#define FR_QUOT KC_MINS // '
#define FR_DCIR KC_EQL // ^ (dead)
-// Row 2
#define FR_A KC_Q // A
#define FR_Z KC_W // Z
#define FR_E KC_E // E
@@ -84,7 +53,6 @@
#define FR_P KC_P // P
#define FR_MINS KC_LBRC // -
#define FR_PLUS KC_RBRC // +
-// Row 3
#define FR_Q KC_A // Q
#define FR_S KC_S // S
#define FR_D KC_D // D
@@ -97,7 +65,6 @@
#define FR_M KC_SCLN // M
#define FR_SLSH KC_QUOT // /
#define FR_ASTR KC_NUHS // *
-// Row 4
#define FR_LABK KC_NUBS // <
#define FR_W KC_Z // W
#define FR_X KC_X // X
@@ -109,21 +76,6 @@
#define FR_COMM KC_COMM // ,
#define FR_COLN KC_DOT // :
#define FR_SCLN KC_SLSH // ;
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define FR_HASH S(FR_AT) // #
#define FR_1 S(FR_AGRV) // 1
#define FR_2 S(FR_EACU) // 2
@@ -137,33 +89,15 @@
#define FR_0 S(FR_RDAQ) // 0
#define FR_DQUO S(FR_QUOT) // "
#define FR_DIAE S(FR_DCIR) // ¨ (dead)
-// Row 2
#define FR_NDSH S(FR_MINS) // –
#define FR_PLMN S(FR_PLUS) // ±
-// Row 3
#define FR_BSLS S(FR_SLSH) // (backslash)
#define FR_HALF S(FR_ASTR) // ½
-// Row 4
#define FR_RABK S(FR_LABK) // >
#define FR_QUES S(FR_DOT) // ?
#define FR_EXLM S(FR_COMM) // !
#define FR_ELLP S(FR_COLN) // …
#define FR_EQL S(FR_SCLN) // =
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define FR_BREV ALGR(FR_AT) // ˘ (dead)
#define FR_SECT ALGR(FR_AGRV) // §
#define FR_ACUT ALGR(FR_EACU) // ´ (dead)
@@ -177,7 +111,6 @@
#define FR_RDQU ALGR(FR_RDAQ) // ”
#define FR_DEG ALGR(FR_QUOT) // °
#define FR_CARN ALGR(FR_DCIR) // ˇ (dead)
-// Row 2
#define FR_AE ALGR(FR_A) // æ
#define FR_PND ALGR(FR_Z) // £
#define FR_EURO ALGR(FR_E) // €
@@ -190,7 +123,6 @@
#define FR_PERC ALGR(FR_P) // %
#define FR_MMNS ALGR(FR_MINS) // −
#define FR_DAGG ALGR(FR_PLUS) // †
-// Row 3
#define FR_THET ALGR(FR_Q) // θ
#define FR_SS ALGR(FR_S) // ß
#define FR_DLR ALGR(FR_D) // $
@@ -202,7 +134,6 @@
#define FR_INFN ALGR(FR_M) // ∞
#define FR_DIV ALGR(FR_SLSH) // ÷
#define FR_MUL ALGR(FR_ASTR) // ×
-// Row 4
#define FR_LEQL ALGR(FR_LABK) // ≤
#define FR_EZH ALGR(FR_W) // ʒ
#define FR_COPY ALGR(FR_X) // ©
@@ -214,40 +145,22 @@
#define FR_IEXL ALGR(FR_COMM) // ¡
#define FR_MDDT ALGR(FR_COLN) // ·
#define FR_AEQL ALGR(FR_SCLN) // ≃
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
-#define FR_IBRV S(ALGR(FR_AT)) // ̑ (dead)
+#define FR_IBRV S(ALGR(FR_AT)) // ̑ (dead)
#define FR_DACU S(ALGR(FR_LPRN)) // ˝ (dead)
-#define FR_DGRV S(ALGR(FR_RPRN)) // ̏ (dead)
+#define FR_DGRV S(ALGR(FR_RPRN)) // ̏ (dead)
#define FR_MDSH S(ALGR(FR_RSQU)) // —
#define FR_LSAQ S(ALGR(FR_LDAQ)) // ‹
#define FR_RSAQ S(ALGR(FR_RDAQ)) // ›
#define FR_RNGA S(ALGR(FR_QUOT)) // ˚ (dead)
-// Row 2
#define FR_TM S(ALGR(FR_T)) // ™
-#define FR_DOTB S(ALGR(FR_I)) // ̣ (dead)
+#define FR_DOTB S(ALGR(FR_I)) // ̣ (dead)
#define FR_PERM S(ALGR(FR_P)) // ‰
#define FR_NBHY S(ALGR(FR_MINS)) // ‑ (non-breaking hyphen)
#define FR_DDAG S(ALGR(FR_PLUS)) // ‡
-// Row 3
#define FR_MACB S(ALGR(FR_H)) // ˍ (dead)
#define FR_SQRT S(ALGR(FR_SLSH)) // √
#define FR_QRTR S(ALGR(FR_ASTR)) // ¼
-// Row 4
#define FR_GEQL S(ALGR(FR_LABK)) // ≥
#define FR_OGON S(ALGR(FR_V)) // ˛ (dead)
-#define FR_DCMM S(ALGR(FR_COMM)) // ̦ (dead)
+#define FR_DCMM S(ALGR(FR_COMM)) // ̦ (dead)
#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 @@
-/* Copyright 2016 Sébastien Pérochon
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define FR_AT KC_GRV // @
#define FR_AMPR KC_1 // &
#define FR_LEAC KC_2 // é
@@ -47,7 +41,6 @@
#define FR_LAGR KC_0 // à
#define FR_RPRN KC_MINS // )
#define FR_MINS KC_EQL // -
-// Row 2
#define FR_A KC_Q // A
#define FR_Z KC_W // Z
#define FR_E KC_E // E
@@ -60,7 +53,6 @@
#define FR_P KC_P // P
#define FR_CIRC KC_LBRC // ^
#define FR_DLR KC_RBRC // $
-// Row 3
#define FR_Q KC_A // Q
#define FR_S KC_S // S
#define FR_D KC_D // D
@@ -73,7 +65,6 @@
#define FR_M KC_SCLN // M
#define FR_LUGR KC_QUOT // ù
#define FR_GRV KC_NUHS // `
-// Row 4
#define FR_LABK KC_NUBS // <
#define FR_W KC_Z // W
#define FR_X KC_X // X
@@ -85,21 +76,6 @@
#define FR_SCLN KC_COMM // ;
#define FR_COLN KC_DOT // :
#define FR_EQL KC_SLSH // =
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define FR_HASH S(FR_AT) // #
#define FR_1 S(FR_AMPR) // 1
#define FR_2 S(FR_LEAC) // 2
@@ -113,33 +89,15 @@
#define FR_0 S(FR_LAGR) // 0
#define FR_DEG S(FR_RPRN) // °
#define FR_UNDS S(FR_MINS) // _
-// Row 2
#define FR_DIAE S(FR_CIRC) // ¨ (dead)
#define FR_ASTR S(FR_DLR) // *
-// Row 3
#define FR_PERC S(FR_LUGR) // %
#define FR_PND S(FR_GRV) // £
-// Row 4
#define FR_RABK S(FR_LABK) // >
#define FR_QUES S(FR_COMM) // ?
#define FR_DOT S(FR_SCLN) // .
#define FR_SLSH S(FR_COLN) // /
#define FR_PLUS S(FR_EQL) // +
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ • │  │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define FR_BULT A(FR_AT) // •
#define FR_APPL A(FR_AMPR) //  (Apple logo)
#define FR_LEDI A(FR_LEAC) // ë
@@ -153,7 +111,6 @@
#define FR_OSTR A(FR_LAGR) // Ø
#define FR_RCBR A(FR_RPRN) // }
#define FR_MDSH A(FR_MINS) // —
-// Row 2
#define FR_AE A(FR_A) // Æ
#define FR_CACI A(FR_Z) // Â
#define FR_ECIR A(FR_E) // Ê
@@ -166,7 +123,6 @@
#define FR_PI A(FR_P) // π
#define FR_OCIR A(FR_CIRC) // Ô
#define FR_EURO A(FR_DLR) // €
-// Row 3
#define FR_DDAG A(FR_Q) // ‡
#define FR_COGR A(FR_S) // Ò
#define FR_PDIF A(FR_D) // ∂
@@ -178,7 +134,6 @@
#define FR_NOT A(FR_L) // ¬
#define FR_MICR A(FR_M) // µ
#define FR_CUGR A(FR_LUGR) // Ù
-// Row 4
#define FR_LTEQ A(FR_LABK) // ≤
#define FR_LSAQ A(FR_W) // ‹
#define FR_AEQL A(FR_X) // ≈
@@ -190,21 +145,6 @@
#define FR_ELLP A(FR_SCLN) // …
#define FR_DIV A(FR_COLN) // ÷
#define FR_NEQL A(FR_EQL) // ≠
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define FR_CYDI S(A(FR_AT)) // Ÿ
#define FR_ACUT S(A(FR_AMPR)) // ´ (dead)
#define FR_DLQU S(A(FR_LEAC)) // „
@@ -215,7 +155,6 @@
#define FR_CAAC S(A(FR_LCCE)) // Á
#define FR_RBRC S(A(FR_RPRN)) // ]
#define FR_NDSH S(A(FR_MINS)) // –
-// Row 2
#define FR_CARI S(A(FR_Z)) // Å
#define FR_SLQU S(A(FR_R)) // ‚
#define FR_TM S(A(FR_T)) // ™
@@ -223,7 +162,6 @@
#define FR_LIDI S(A(FR_I)) // ï
#define FR_NARP S(A(FR_P)) // ∏
#define FR_YEN S(A(FR_DLR)) // ¥
-// Row 3
#define FR_OMEG S(A(FR_Q)) // Ω
#define FR_NARS S(A(FR_S)) // ∑
#define FR_INCR S(A(FR_D)) // ∆
@@ -235,7 +173,6 @@
#define FR_PIPE S(A(FR_L)) // |
#define FR_COAC S(A(FR_M)) // Ó
#define FR_PERM S(A(FR_LUGR)) // ‰
-// Row 4
#define FR_GTEQ S(A(FR_LABK)) // ≥
#define FR_RSAQ S(A(FR_W)) // ›
#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 @@
-/* Copyright 2015-2016 Matthias Schmidtt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define DE_CIRC KC_GRV // ^ (dead)
#define DE_1 KC_1 // 1
#define DE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define DE_0 KC_0 // 0
#define DE_SS KC_MINS // ß
#define DE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define DE_Q KC_Q // Q
#define DE_W KC_W // W
#define DE_E KC_E // E
@@ -60,7 +53,6 @@
#define DE_P KC_P // P
#define DE_UDIA KC_LBRC // Ü
#define DE_PLUS KC_RBRC // +
-// Row 3
#define DE_A KC_A // A
#define DE_S KC_S // S
#define DE_D KC_D // D
@@ -73,7 +65,6 @@
#define DE_ODIA KC_SCLN // Ö
#define DE_ADIA KC_QUOT // Ä
#define DE_HASH KC_NUHS // #
-// Row 4
#define DE_LABK KC_NUBS // <
#define DE_Y KC_Z // Y
#define DE_X KC_X // X
@@ -85,21 +76,6 @@
#define DE_COMM KC_COMM // ,
#define DE_DOT KC_DOT // .
#define DE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DE_DEG S(DE_CIRC) // °
#define DE_EXLM S(DE_1) // !
#define DE_DQUO S(DE_2) // "
@@ -113,30 +89,12 @@
#define DE_EQL S(DE_0) // =
#define DE_QUES S(DE_SS) // ?
#define DE_GRV S(DE_ACUT) // ` (dead)
-// Row 2
#define DE_ASTR S(DE_PLUS) // *
-// Row 3
#define DE_QUOT S(DE_HASH) // '
-// Row 4
#define DE_RABK S(DE_LABK) // >
#define DE_SCLN S(DE_COMM) // ;
#define DE_COLN S(DE_DOT) // :
#define DE_UNDS S(DE_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ ² │ ³ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DE_SUP2 ALGR(DE_2) // ²
#define DE_SUP3 ALGR(DE_3) // ³
#define DE_LCBR ALGR(DE_7) // {
@@ -144,10 +102,8 @@
#define DE_RBRC ALGR(DE_9) // ]
#define DE_RCBR ALGR(DE_0) // }
#define DE_BSLS ALGR(DE_SS) // (backslash)
-// Row 2
#define DE_AT ALGR(DE_Q) // @
#define DE_EURO ALGR(DE_E) // €
#define DE_TILD ALGR(DE_PLUS) // ~
-// Row 4
#define DE_PIPE ALGR(DE_LABK) // |
#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 @@
-/* Copyright 2016 Stephen Bösebeck
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define DE_CIRC KC_GRV // ^ (dead)
#define DE_1 KC_1 // 1
#define DE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define DE_0 KC_0 // 0
#define DE_SS KC_MINS // ß
#define DE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define DE_Q KC_Q // Q
#define DE_W KC_W // W
#define DE_E KC_E // E
@@ -60,7 +53,6 @@
#define DE_P KC_P // P
#define DE_UDIA KC_LBRC // Ü
#define DE_PLUS KC_RBRC // +
-// Row 3
#define DE_A KC_A // A
#define DE_S KC_S // S
#define DE_D KC_D // D
@@ -73,7 +65,6 @@
#define DE_ODIA KC_SCLN // Ö
#define DE_ADIA KC_QUOT // Ä
#define DE_HASH KC_NUHS // #
-// Row 4
#define DE_LABK KC_NUBS // <
#define DE_Y KC_Z // Y
#define DE_X KC_X // X
@@ -85,21 +76,6 @@
#define DE_COMM KC_COMM // ,
#define DE_DOT KC_DOT // .
#define DE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define DE_DEG S(DE_CIRC) // °
#define DE_EXLM S(DE_1) // !
#define DE_DQUO S(DE_2) // "
@@ -113,30 +89,12 @@
#define DE_EQL S(DE_0) // =
#define DE_QUES S(DE_SS) // ?
#define DE_GRV S(DE_ACUT) // ` (dead)
-// Row 2
#define DE_ASTR S(DE_PLUS) // *
-// Row 3
#define DE_QUOT S(DE_HASH) // '
-// Row 4
#define DE_RABK S(DE_LABK) // >
#define DE_SCLN S(DE_COMM) // ;
#define DE_COLN S(DE_DOT) // :
#define DE_UNDS S(DE_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define DE_DLQU A(DE_CIRC) // „
#define DE_IEXL A(DE_1) // ¡
#define DE_LDQU A(DE_2) // “
@@ -149,7 +107,6 @@
#define DE_RCBR A(DE_9) // }
#define DE_NEQL A(DE_0) // ≠
#define DE_IQUE A(DE_SS) // ¿
-// Row 2
#define DE_LDAQ A(DE_Q) // «
#define DE_NARS A(DE_W) // ∑
#define DE_EURO A(DE_E) // €
@@ -162,7 +119,6 @@
#define DE_PI A(DE_P) // π
#define DE_BULT A(DE_UDIA) // •
#define DE_PLMN A(DE_PLUS) // ±
-// Row 3
#define DE_ARNG A(DE_A) // Å
#define DE_SLQU A(DE_S) // ‚
#define DE_PDIF A(DE_D) // ∂
@@ -175,7 +131,6 @@
#define DE_OE A(DE_ODIA) // Œ
#define DE_AE A(DE_ADIA) // Æ
#define DE_LSQU A(DE_HASH) // ‘
-// Row 4
#define DE_LTEQ A(DE_LABK) // ≤
#define DE_YEN A(DE_Y) // ¥
#define DE_AEQL A(DE_X) // ≈
@@ -187,21 +142,6 @@
#define DE_INFN A(DE_COMM) // ∞
#define DE_ELLP A(DE_DOT) // …
#define DE_NDSH A(DE_MINS) // –
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │  │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define DE_NOT S(A(DE_1)) // ¬
#define DE_RDQU S(A(DE_2)) // ”
#define DE_PND S(A(DE_4)) // £
@@ -212,7 +152,6 @@
#define DE_MACR S(A(DE_0)) // ¯
#define DE_DOTA S(A(DE_SS)) // ˙
#define DE_RNGA S(A(DE_ACUT)) // ˚
-// Row 2
#define DE_RDAQ S(A(DE_Q)) // »
#define DE_PERM S(A(DE_E)) // ‰
#define DE_CEDL S(A(DE_R)) // ¸
@@ -222,7 +161,6 @@
#define DE_UCIR S(A(DE_I)) // Û
#define DE_NARP S(A(DE_P)) // ∏
#define DE_APPL S(A(DE_PLUS)) //  (Apple logo)
-// Row 3
#define DE_IACU S(A(DE_S)) // Í
#define DE_TM S(A(DE_D)) // ™
#define DE_IDIA S(A(DE_F)) // Ï
@@ -230,7 +168,6 @@
#define DE_OACU S(A(DE_H)) // Ó
#define DE_DLSI S(A(DE_J)) // ı
#define DE_FL S(A(DE_L)) // fl
-// Row 4
#define DE_GTEQ S(A(DE_LABK)) // ≥
#define DE_DDAG S(A(DE_Y)) // ‡
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ ; │ ς │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ΄ │ ' │ \ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ , │ . │ / │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define GR_GRV KC_GRV // `
#define GR_1 KC_1 // 1
#define GR_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define GR_0 KC_0 // 0
#define GR_MINS KC_MINS // -
#define GR_EQL KC_EQL // =
-// Row 2
#define GR_SCLN KC_Q // ;
#define GR_FSIG KC_W // ς
#define GR_EPSL KC_E // Ε
@@ -60,7 +53,6 @@
#define GR_PI KC_P // Π
#define GR_LBRC KC_LBRC // [
#define GR_RBRC KC_RBRC // ]
-// Row 3
#define GR_ALPH KC_A // Α
#define GR_SIGM KC_S // Σ
#define GR_DELT KC_D // Δ
@@ -73,7 +65,6 @@
#define GR_TONS KC_SCLN // ΄ (dead)
#define GR_QUOT KC_QUOT // '
#define GR_BSLS KC_NUHS // (backslash)
-// Row 4
#define GR_ZETA KC_Z // Ζ
#define GR_CHI KC_X // Χ
#define GR_PSI KC_C // Ψ
@@ -84,21 +75,6 @@
#define GR_COMM KC_COMM // ,
#define GR_DOT KC_DOT // .
#define GR_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ : │ ΅ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ ¨ │ " │ | │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define GR_TILD S(GR_GRV) // ~
#define GR_EXLM S(GR_1) // !
#define GR_AT S(GR_2) // @
@@ -112,34 +88,16 @@
#define GR_RPRN S(GR_0) // )
#define GR_UNDS S(GR_MINS) // _
#define GR_PLUS S(GR_EQL) // +
-// Row 2
#define GR_COLN S(GR_SCLN) // :
#define GR_DIAT S(GR_FSIG) // ΅ (dead)
#define GR_LCBR S(GR_LBRC) // {
#define GR_RCBR S(GR_RBRC) // }
-// Row 3
#define GR_DIAE S(GR_TONS) // ¨ (dead)
#define GR_DQUO S(GR_QUOT) // "
#define GR_PIPE S(GR_BSLS) // |
-// Row 4
#define GR_LABK S(GR_COMM) // <
#define GR_RABK S(GR_DOT) // >
#define GR_QUES S(GR_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ ² │ ³ │ £ │ § │ ¶ │ │ ¤ │ ¦ │ ° │ ± │ ½ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ ® │ │ ¥ │ │ │ │ │ « │ » │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ¬ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ © │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define GR_SUP2 ALGR(GR_2) // ²
#define GR_SUP3 ALGR(GR_3) // ³
#define GR_PND ALGR(GR_4) // £
@@ -150,13 +108,10 @@
#define GR_DEG ALGR(GR_0) // °
#define GR_PLMN ALGR(GR_MINS) // ±
#define GR_HALF ALGR(GR_EQL) // ½
-// Row 2
#define GR_EURO ALGR(GR_EPSL) // €
#define GR_REGD ALGR(GR_RHO) // ®
#define GR_YEN ALGR(GR_UPSL) // ¥
#define GR_LDAQ ALGR(GR_LBRC) // «
#define GR_RDAQ ALGR(GR_RBRC) // »
-// Row 3
#define GR_NOT ALGR(GR_BSLS) // ¬
-// Row 4
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define IL_SCLN KC_GRV // ;
#define IL_1 KC_1 // 1
#define IL_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define IL_0 KC_0 // 0
#define IL_MINS KC_MINS // -
#define IL_EQL KC_EQL // =
-// Row 2
#define IL_SLSH KC_Q // /
#define IL_QUOT KC_W // '
#define IL_QOF KC_E // ק
@@ -60,7 +53,6 @@
#define IL_PE KC_P // פ
#define IL_RBRC KC_LBRC // ]
#define IL_LBRC KC_RBRC // [
-// Row 3
#define IL_SHIN KC_A // ש
#define IL_DALT KC_S // ד
#define IL_GIML KC_D // ג
@@ -73,7 +65,6 @@
#define IL_FPE KC_SCLN // ף
#define IL_COMM KC_QUOT // ,
#define IL_BSLS KC_NUHS // (backslash)
-// Row 4
#define IL_ZAYN KC_Z // ז
#define IL_SMKH KC_X // ס
#define IL_BET KC_C // ב
@@ -84,21 +75,6 @@
#define IL_TAV KC_COMM // ת
#define IL_FTSD KC_DOT // ץ
#define IL_DOT KC_SLSH // .
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ } │ { │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ > │ < │ ? │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define IL_TILD S(IL_SCLN) // ~
#define IL_EXLM S(IL_1) // !
#define IL_AT S(IL_2) // @
@@ -112,40 +88,19 @@
#define IL_LPRN S(IL_0) // (
#define IL_UNDS S(IL_MINS) // _
#define IL_PLUS S(IL_EQL) // +
-// Row 2
#define IL_RCBR S(IL_RBRC) // }
#define IL_LCBR S(IL_LBRC) // {
-// Row 3
#define IL_COLN S(IL_FPE) // :
#define IL_DQUO S(IL_COMM) // "
#define IL_PIPE S(IL_BSLS) // |
-// Row 4
#define IL_RABK S(IL_TAV) // >
#define IL_LABK S(IL_FTSD) // <
#define IL_QUES S(IL_DOT) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ € │ ₪ │ ° │ │ │ × │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ װ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ ײ │ ױ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ÷ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define IL_EURO ALGR(IL_3) // €
#define IL_SHKL ALGR(IL_4) // ₪
#define IL_DEG ALGR(IL_5) // °
#define IL_MUL ALGR(IL_8) // ×
-// Row 2
#define IL_DVAV ALGR(IL_TET) // װ
-// Row 3
#define IL_VYOD ALGR(IL_AYIN) // ױ
#define IL_DYOD ALGR(IL_YOD) // ײ
-// Row 4
#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 @@
-/* Copyright 2018 fuge
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ Ö │ Ü │ Ó │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ő │ Ú │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ É │ Á │ Ű │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ Í │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define HU_0 KC_GRV // 0
#define HU_1 KC_1 // 1
#define HU_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define HU_ODIA KC_0 // Ö
#define HU_UDIA KC_MINS // Ü
#define HU_OACU KC_EQL // Ó
-// Row 2
#define HU_Q KC_Q // Q
#define HU_W KC_W // W
#define HU_E KC_E // E
@@ -60,7 +53,6 @@
#define HU_P KC_P // P
#define HU_ODAC KC_LBRC // Ő
#define HU_UACU KC_RBRC // Ú
-// Row 3
#define HU_A KC_A // A
#define HU_S KC_S // S
#define HU_D KC_D // D
@@ -73,7 +65,6 @@
#define HU_EACU KC_SCLN // É
#define HU_AACU KC_QUOT // Á
#define HU_UDAC KC_NUHS // Ű
-// Row 4
#define HU_IACU KC_NUBS // Í
#define HU_Y KC_Z // Y
#define HU_X KC_X // X
@@ -85,21 +76,6 @@
#define HU_COMM KC_COMM // ,
#define HU_DOT KC_DOT // .
#define HU_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ § │ ' │ " │ + │ ! │ % │ / │ = │ ( │ ) │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define HU_SECT S(HU_0) // §
#define HU_QUOT S(HU_1) // '
#define HU_DQUO S(HU_2) // "
@@ -110,25 +86,9 @@
#define HU_EQL S(HU_7) // =
#define HU_LPRN S(HU_8) // (
#define HU_RPRN S(HU_9) // )
-// Row 4
#define HU_QUES S(HU_COMM) // ?
#define HU_COLN S(HU_DOT) // :
#define HU_UNDS S(HU_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ \ │ | │ Ä │ │ │ │ € │ │ │ │ ÷ │ × │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ ä │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ > │ # │ & │ @ │ { │ } │ │ ; │ │ * │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define HU_TILD ALGR(HU_1) // ~
#define HU_CARN ALGR(HU_2) // ˇ (dead)
#define HU_CIRC ALGR(HU_3) // ^ (dead)
@@ -141,14 +101,12 @@
#define HU_DACU ALGR(HU_ODIA) // ˝ (dead)
#define HU_DIAE ALGR(HU_UDIA) // ¨ (dead)
#define HU_CEDL ALGR(HU_OACU) // ¸ (dead)
-// Row 2
#define HU_BSLS ALGR(HU_Q) // (backslash)
#define HU_PIPE ALGR(HU_W) // |
#define HU_CADI ALGR(HU_E) // Ä
#define HU_EURO ALGR(HU_U) // €
#define HU_DIV ALGR(HU_ODAC) // ÷
#define HU_MUL ALGR(HU_UACU) // ×
-// Row 3
#define HU_LADI ALGR(HU_A) // ä
#define HU_LDST ALGR(HU_S) // đ
#define HU_CDST ALGR(HU_D) // Đ
@@ -159,7 +117,6 @@
#define HU_DLR ALGR(HU_EACU) // $
#define HU_SS ALGR(HU_AACU) // ß
#define HU_CURR ALGR(HU_UDAC) // ¤
-// Row 4
#define HU_LABK ALGR(HU_IACU) // <
#define HU_RABK ALGR(HU_Y) // >
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ Ö │ - │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ð │ ' │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ ´ │ + │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Þ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define IS_RNGA KC_GRV // ° (dead)
#define IS_1 KC_1 // 1
#define IS_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define IS_0 KC_0 // 0
#define IS_ODIA KC_MINS // Ö
#define IS_MINS KC_EQL // -
-// Row 2
#define IS_Q KC_Q // Q
#define IS_W KC_W // W
#define IS_E KC_E // E
@@ -60,7 +53,6 @@
#define IS_P KC_P // P
#define IS_ETH KC_LBRC // Ð
#define IS_QUOT KC_RBRC // '
-// Row 3
#define IS_A KC_A // A
#define IS_S KC_S // S
#define IS_D KC_D // D
@@ -73,7 +65,6 @@
#define IS_AE KC_SCLN // Æ
#define IS_ACUT KC_QUOT // ´ (dead)
#define IS_PLUS KC_NUHS // +
-// Row 4
#define IS_LABK KC_NUBS // <
#define IS_Z KC_Z // Z
#define IS_X KC_X // X
@@ -85,21 +76,6 @@
#define IS_COMM KC_COMM // ,
#define IS_DOT KC_DOT // .
#define IS_THRN KC_SLSH // Þ
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ │ _ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ? │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define IS_DIAE S(IS_RNGA) // ¨ (dead)
#define IS_EXLM S(IS_1) // !
#define IS_DQUO S(IS_2) // "
@@ -112,42 +88,21 @@
#define IS_RPRN S(IS_9) // )
#define IS_EQL S(IS_0) // =
#define IS_UNDS S(IS_MINS) // _
-// Row 2
#define IS_QUES S(IS_QUOT) // ?
-// Row 3
#define IS_ASTR S(IS_PLUS) // *
-// Row 4
#define IS_RABK S(IS_LABK) // >
#define IS_SCLN S(IS_COMM) // ;
#define IS_COLN S(IS_DOT) // :
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ° │ │ │ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ ` │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define IS_DEG ALGR(IS_RNGA) // °
#define IS_LCBR ALGR(IS_7) // {
#define IS_LBRC ALGR(IS_8) // [
#define IS_RBRC ALGR(IS_9) // ]
#define IS_RCBR ALGR(IS_0) // }
#define IS_BSLS ALGR(IS_ODIA) // (backslash)
-// Row 2
#define IS_AT ALGR(IS_Q) // @
#define IS_EURO ALGR(IS_E) // €
#define IS_TILD ALGR(IS_QUOT) // ~
-// Row 3
#define IS_CIRC ALGR(IS_ACUT) // ^ (dead)
#define IS_GRV ALGR(IS_PLUS) // ` (dead)
-// Row 4
#define IS_PIPE ALGR(IS_LABK) // |
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define IE_GRV KC_GRV // `
#define IE_1 KC_1 // 1
#define IE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define IE_0 KC_0 // 0
#define IE_MINS KC_MINS // -
#define IE_EQL KC_EQL // =
-// Row 2
#define IE_Q KC_Q // Q
#define IE_W KC_W // W
#define IE_E KC_E // E
@@ -60,7 +53,6 @@
#define IE_P KC_P // P
#define IE_LBRC KC_LBRC // [
#define IE_RBRC KC_RBRC // ]
-// Row 3
#define IE_A KC_A // A
#define IE_S KC_S // S
#define IE_D KC_D // D
@@ -73,7 +65,6 @@
#define IE_SCLN KC_SCLN // ;
#define IE_QUOT KC_QUOT // '
#define IE_HASH KC_NUHS // #
-// Row 4
#define IE_BSLS KC_NUBS // (backslash)
#define IE_Z KC_Z // Z
#define IE_X KC_X // X
@@ -85,21 +76,6 @@
#define IE_COMM KC_COMM // ,
#define IE_DOT KC_DOT // .
#define IE_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ : │ @ │ ~ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define IE_NOT S(IE_GRV) // ¬
#define IE_EXLM S(IE_1) // !
#define IE_DQUO S(IE_2) // "
@@ -113,40 +89,20 @@
#define IE_RPRN S(IE_0) // )
#define IE_UNDS S(IE_MINS) // _
#define IE_PLUS S(IE_EQL) // +
-// Row 2
#define IE_LCBR S(IE_LBRC) // {
#define IE_RCBR S(IE_RBRC) // }
-// Row 3
#define IE_COLN S(IE_SCLN) // :
#define IE_AT S(IE_QUOT) // @
#define IE_TILD S(IE_HASH) // ~
-// Row 4
#define IE_PIPE S(IE_BSLS) // |
#define IE_LABK S(IE_COMM) // <
#define IE_RABK S(IE_DOT) // >
#define IE_QUES S(IE_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¦ │ │ │ │ € │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ É │ │ │ │ Ú │ Í │ Ó │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Á │ │ │ │ │ │ │ │ │ │ ´ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define IE_BRKP ALGR(IE_GRV) // ¦
#define IE_EURO ALGR(IE_4) // €
-// Row 2
#define IE_EACU ALGR(IE_E) // É
#define IE_UACU ALGR(IE_U) // Ú
#define IE_IACU ALGR(IE_I) // Í
#define IE_OACU ALGR(IE_O) // Ó
-// Row 3
#define IE_AACU ALGR(IE_A) // Á
#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 @@
-/* Copyright 2015-2016 Matthias Schmidtt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define IT_BSLS KC_GRV // (backslash)
#define IT_1 KC_1 // 1
#define IT_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define IT_0 KC_0 // 0
#define IT_QUOT KC_MINS // '
#define IT_IGRV KC_EQL // ì
-// Row 2
#define IT_Q KC_Q // Q
#define IT_W KC_W // W
#define IT_E KC_E // E
@@ -60,7 +53,6 @@
#define IT_P KC_P // P
#define IT_EGRV KC_LBRC // è
#define IT_PLUS KC_RBRC // +
-// Row 3
#define IT_A KC_A // A
#define IT_S KC_S // S
#define IT_D KC_D // D
@@ -73,7 +65,6 @@
#define IT_OGRV KC_SCLN // ò
#define IT_AGRV KC_QUOT // à
#define IT_UGRV KC_NUHS // ù
-// Row 4
#define IT_LABK KC_NUBS // <
#define IT_Z KC_Z // Z
#define IT_X KC_X // X
@@ -85,21 +76,6 @@
#define IT_COMM KC_COMM // ,
#define IT_DOT KC_DOT // .
#define IT_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define IT_PIPE S(IT_BSLS) // |
#define IT_EXLM S(IT_1) // !
#define IT_DQUO S(IT_2) // "
@@ -113,53 +89,19 @@
#define IT_EQL S(IT_0) // =
#define IT_QUES S(IT_QUOT) // ?
#define IT_CIRC S(IT_IGRV) // ^
-// Row 2
#define IT_EACU S(IT_EGRV) // é
#define IT_ASTR S(IT_PLUS) // *
-// Row 3
#define IT_CCED S(IT_OGRV) // ç
#define IT_DEG S(IT_AGRV) // °
#define IT_SECT S(IT_UGRV) // §
-// Row 4
#define IT_RABK S(IT_LABK) // >
#define IT_COLN S(IT_DOT) // :
#define IT_SCLN S(IT_COMM) // ;
#define IT_UNDS S(IT_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ @ │ # │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 2
#define IT_EURO ALGR(IT_E) // €
#define IT_LBRC ALGR(IT_EGRV) // [
#define IT_RBRC ALGR(IT_PLUS) // ]
-// Row 3
#define IT_AT ALGR(IT_OGRV) // @
#define IT_HASH ALGR(IT_AGRV) // #
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 2
#define IT_LCBR S(ALGR(IT_EGRV)) // {
#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 @@
-/* Copyright 2015-2016 Matthias Schmidtt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ ù │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define IT_LABK KC_GRV // <
#define IT_1 KC_1 // 1
#define IT_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define IT_0 KC_0 // 0
#define IT_QUOT KC_MINS // '
#define IT_IGRV KC_EQL // ì
-// Row 2
#define IT_Q KC_Q // Q
#define IT_W KC_W // W
#define IT_E KC_E // E
@@ -61,7 +54,6 @@
#define IT_EGRV KC_LBRC // è
#define IT_PLUS KC_RBRC // +
#define IT_UGRV KC_BSLS // ù
-// Row 3
#define IT_A KC_A // A
#define IT_S KC_S // S
#define IT_D KC_D // D
@@ -73,7 +65,6 @@
#define IT_L KC_L // L
#define IT_OGRV KC_SCLN // ò
#define IT_AGRV KC_QUOT // à
-// Row 4
#define IT_BSLS KC_NUBS // (backslash, not physically present)
#define IT_Z KC_Z // Z
#define IT_X KC_X // X
@@ -85,21 +76,6 @@
#define IT_COMM KC_COMM // ,
#define IT_DOT KC_DOT // .
#define IT_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ > │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ § │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define IT_RABK S(IT_LABK) // >
#define IT_EXLM S(IT_1) // !
#define IT_DQUO S(IT_2) // "
@@ -113,33 +89,15 @@
#define IT_EQL S(IT_0) // =
#define IT_QUES S(IT_QUOT) // ?
#define IT_CIRC S(IT_IGRV) // ^
-// Row 2
#define IT_EACU S(IT_EGRV) // é
#define IT_ASTR S(IT_PLUS) // *
#define IT_SECT S(IT_UGRV) // §
-// Row 3
#define IT_LCCE S(IT_OGRV) // ç
#define IT_DEG S(IT_AGRV) // °
-// Row 4
#define IT_PIPE S(IT_BSLS) // | (not physically present)
#define IT_SCLN S(IT_COMM) // ;
#define IT_COLN S(IT_DOT) // :
#define IT_UNDS S(IT_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ≤ │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ ¶ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define IT_LTEQ A(IT_LABK) // ≤
#define IT_LDAQ A(IT_1) // «
#define IT_LDQU A(IT_2) // “
@@ -153,7 +111,6 @@
#define IT_NEQL A(IT_0) // ≠
#define IT_IEXL A(IT_QUOT) // ¡
#define IT_DCIR A(IT_IGRV) // ˆ (dead)
-// Row 2
#define IT_DLQU A(IT_Q) // „
#define IT_OMEG A(IT_W) // Ω
#define IT_EURO A(IT_E) // €
@@ -166,7 +123,6 @@
#define IT_PI A(IT_P) // π
#define IT_LBRC A(IT_EGRV) // [
#define IT_RBRC A(IT_PLUS) // ]
-// Row 3
#define IT_ARNG A(IT_A) // Å
#define IT_SS A(IT_S) // ß
#define IT_PDIF A(IT_D) // ∂
@@ -179,7 +135,6 @@
#define IT_AT A(IT_OGRV) // @
#define IT_HASH A(IT_AGRV) // #
#define IT_PILC A(IT_UGRV) // ¶
-// Row 4
#define IT_GRV A(IT_BSLS) // ` (not physically present)
#define IT_NARS A(IT_Z) // ∑
#define IT_DAGG A(IT_X) // †
@@ -191,21 +146,6 @@
#define IT_ELLP A(IT_COMM) // …
#define IT_BULT A(IT_DOT) // •
#define IT_NDSH A(IT_MINS) // –
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ≥ │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ ◊ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ ∞ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define IT_GTEQ S(A(IT_LABK)) // ≥
#define IT_RDAQ S(A(IT_1)) // »
#define IT_RDQU S(A(IT_2)) // ”
@@ -218,7 +158,6 @@
#define IT_AEQL S(A(IT_0)) // ≈
#define IT_IQUE S(A(IT_QUOT)) // ¿
#define IT_PLMN S(A(IT_IGRV)) // ±
-// Row 2
#define IT_SLQU S(A(IT_Q)) // ‚
#define IT_CAGR S(A(IT_W)) // À
#define IT_CEGR S(A(IT_E)) // È
@@ -229,7 +168,6 @@
#define IT_LCBR S(A(IT_EGRV)) // {
#define IT_RCBR S(A(IT_PLUS)) // }
#define IT_LOZN S(A(IT_UGRV)) // ◊
-// Row 3
#define IT_MACR S(A(IT_S)) // ¯
#define IT_BREV S(A(IT_D)) // ˘
#define IT_DOTA S(A(IT_F)) // ˙
@@ -239,7 +177,6 @@
#define IT_OGON S(A(IT_K)) // ˛
#define IT_CARN S(A(IT_L)) // ˇ
#define IT_CCCE S(A(IT_OGRV)) // Ç
-// Row 4
#define IT_DDAG S(A(IT_X)) // ‡
#define IT_CAAC S(A(IT_C)) // Á
#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 @@
-/* Copyright 2015-2016 Matthias Schmidtt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define IT_BSLS KC_GRV // (backslash)
#define IT_1 KC_1 // 1
#define IT_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define IT_0 KC_0 // 0
#define IT_QUOT KC_MINS // '
#define IT_IGRV KC_EQL // ì
-// Row 2
#define IT_Q KC_Q // Q
#define IT_W KC_W // W
#define IT_E KC_E // E
@@ -60,7 +53,6 @@
#define IT_P KC_P // P
#define IT_EGRV KC_LBRC // è
#define IT_PLUS KC_RBRC // +
-// Row 3
#define IT_A KC_A // A
#define IT_S KC_S // S
#define IT_D KC_D // D
@@ -73,7 +65,6 @@
#define IT_OGRV KC_SCLN // ò
#define IT_AGRV KC_QUOT // à
#define IT_UGRV KC_NUHS // ù
-// Row 4
#define IT_LABK KC_NUBS // <
#define IT_Z KC_Z // Z
#define IT_X KC_X // X
@@ -85,21 +76,6 @@
#define IT_COMM KC_COMM // ,
#define IT_DOT KC_DOT // .
#define IT_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define IT_PIPE S(IT_BSLS) // |
#define IT_EXLM S(IT_1) // !
#define IT_DQUO S(IT_2) // "
@@ -113,33 +89,15 @@
#define IT_EQL S(IT_0) // =
#define IT_QUES S(IT_QUOT) // ?
#define IT_CIRC S(IT_IGRV) // ^
-// Row 2
#define IT_EACU S(IT_EGRV) // é
#define IT_ASTR S(IT_PLUS) // *
-// Row 3
#define IT_LCCE S(IT_OGRV) // ç
#define IT_DEG S(IT_AGRV) // °
#define IT_SECT S(IT_UGRV) // §
-// Row 4
#define IT_RABK S(IT_LABK) // >
#define IT_SCLN S(IT_COMM) // ;
#define IT_COLN S(IT_DOT) // :
#define IT_UNDS S(IT_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ` │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ ¶ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≤ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define IT_GRV A(IT_BSLS) // `
#define IT_LDAQ A(IT_1) // «
#define IT_LDQU A(IT_2) // “
@@ -153,7 +111,6 @@
#define IT_NEQL A(IT_0) // ≠
#define IT_IEXL A(IT_QUOT) // ¡
#define IT_DCIR A(IT_IGRV) // ˆ (dead)
-// Row 2
#define IT_DLQU A(IT_Q) // „
#define IT_OMEG A(IT_W) // Ω
#define IT_EURO A(IT_E) // €
@@ -166,7 +123,6 @@
#define IT_PI A(IT_P) // π
#define IT_LBRC A(IT_EGRV) // [
#define IT_RBRC A(IT_PLUS) // ]
-// Row 3
#define IT_ARNG A(IT_A) // Å
#define IT_SS A(IT_S) // ß
#define IT_PDIF A(IT_D) // ∂
@@ -179,7 +135,6 @@
#define IT_AT A(IT_OGRV) // @
#define IT_HASH A(IT_AGRV) // #
#define IT_PILC A(IT_UGRV) // ¶
-// Row 4
#define IT_LTEQ A(IT_LABK) // ≤
#define IT_NARS A(IT_Z) // ∑
#define IT_DAGG A(IT_X) // †
@@ -191,21 +146,6 @@
#define IT_ELLP A(IT_COMM) // …
#define IT_BULT A(IT_DOT) // •
#define IT_NDSH A(IT_MINS) // –
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ı │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │  │ │ ≈ │ ¿ │ ± │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ │ ◊ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≥ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define IT_DLSI S(A(IT_BSLS)) // ı
#define IT_RDAQ S(A(IT_1)) // »
#define IT_RDQU S(A(IT_2)) // ”
@@ -218,7 +158,6 @@
#define IT_AEQL S(A(IT_0)) // ≈
#define IT_IQUE S(A(IT_QUOT)) // ¿
#define IT_PLMN S(A(IT_IGRV)) // ±
-// Row 2
#define IT_SLQU S(A(IT_Q)) // ‚
#define IT_CAGR S(A(IT_W)) // À
#define IT_CEGR S(A(IT_E)) // È
@@ -228,7 +167,6 @@
#define IT_NARP S(A(IT_P)) // ∏
#define IT_LCBR S(A(IT_EGRV)) // {
#define IT_RCBR S(A(IT_PLUS)) // }
-// Row 3
#define IT_MACR S(A(IT_S)) // ¯
#define IT_BREV S(A(IT_D)) // ˘
#define IT_DOTA S(A(IT_F)) // ˙
@@ -239,7 +177,6 @@
#define IT_CARN S(A(IT_L)) // ˇ
#define IT_CCCE S(A(IT_OGRV)) // Ç
#define IT_LOZN S(A(IT_UGRV)) // ◊
-// Row 4
#define IT_GTEQ S(A(IT_LABK)) // ≥
#define IT_DDAG S(A(IT_X)) // ‡
#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 @@
-/* Copyright 2016 h-youhei
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * JP106-layout (Japanese Standard)
- *
- * For more information, see
- * http://www2d.biglobe.ne.jp/~msyk/keyboard/layout/usbkeycode.html
- * note: This website is written in Japanese.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │Z↔H│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ Eisū │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ │
- * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
- * │ │ │ │Muhen│ │ Hen │K↔H│ │ │ │ │
- * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
- */
-// Row 1
+// Aliases
#define JP_ZKHK KC_GRV // Zenkaku ↔ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字)
#define JP_1 KC_1 // 1
#define JP_2 KC_2 // 2
@@ -54,7 +42,6 @@
#define JP_MINS KC_MINS // -
#define JP_CIRC KC_EQL // ^
#define JP_YEN KC_INT3 // ¥
-// Row 2
#define JP_Q KC_Q // Q
#define JP_W KC_W // W
#define JP_E KC_E // E
@@ -67,7 +54,6 @@
#define JP_P KC_P // P
#define JP_AT KC_LBRC // @
#define JP_LBRC KC_RBRC // [
-// Row 3
#define JP_EISU KC_CAPS // Eisū (英数)
#define JP_A KC_A // A
#define JP_S KC_S // S
@@ -81,7 +67,6 @@
#define JP_SCLN KC_SCLN // ;
#define JP_COLN KC_QUOT // :
#define JP_RBRC KC_NUHS // ]
-// Row 4
#define JP_Z KC_Z // Z
#define JP_X KC_X // X
#define JP_C KC_C // C
@@ -93,25 +78,9 @@
#define JP_DOT KC_DOT // .
#define JP_SLSH KC_SLSH // /
#define JP_BSLS KC_INT1 // (backslash)
-// Row 5
#define JP_MHEN KC_INT5 // Muhenkan (無変換)
#define JP_HENK KC_INT4 // Henkan (変換)
#define JP_KANA KC_INT2 // Katakana ↔ Hiragana ↔ Rōmaji (カタカナ ↔ ひらがな ↔ ローマ字)
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │ │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ │ = │ ~ │ | │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ Caps │ │ │ │ │ │ │ │ │ │ + │ * │ } │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ _ │ │
- * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │
- * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
- */
-// Row 1
#define JP_EXLM S(JP_1) // !
#define JP_DQUO S(JP_2) // "
#define JP_HASH S(JP_3) // #
@@ -124,15 +93,12 @@
#define JP_EQL S(JP_MINS) // =
#define JP_TILD S(JP_CIRC) // ~
#define JP_PIPE S(JP_YEN) // |
-// Row 2
#define JP_GRV S(JP_AT) // `
#define JP_LCBR S(JP_LBRC) // {
-// Row 3
#define JP_CAPS S(JP_EISU) // Caps Lock
#define JP_PLUS S(JP_SCLN) // +
#define JP_ASTR S(JP_COLN) // *
#define JP_RCBR S(JP_RBRC) // }
-// Row 4
#define JP_LABK S(JP_COMM) // <
#define JP_RABK S(JP_DOT) // >
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ₩ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
- * │ │ │ │Hnj│ │H↔Y│ │ │ │ │
- * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
- */
-// Row 1
+// Aliases
#define KR_GRV KC_GRV // `
#define KR_1 KC_1 // 1
#define KR_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define KR_0 KC_0 // 0
#define KR_MINS KC_MINS // -
#define KR_EQL KC_EQL // =
-// Row 2
#define KR_Q KC_Q // Q
#define KR_W KC_W // W
#define KR_E KC_E // E
@@ -61,7 +54,6 @@
#define KR_LBRC KC_LBRC // [
#define KR_RBRC KC_RBRC // ]
#define KR_WON KC_BSLS // ₩
-// Row 3
#define KR_A KC_A // A
#define KR_S KC_S // S
#define KR_D KC_D // D
@@ -73,7 +65,6 @@
#define KR_L KC_L // L
#define KR_SCLN KC_SCLN // ;
#define KR_QUOT KC_QUOT // '
-// Row 4
#define KR_Z KC_Z // Z
#define KR_X KC_X // X
#define KR_C KC_C // C
@@ -84,24 +75,8 @@
#define KR_COMM KC_COMM // ,
#define KR_DOT KC_DOT // .
#define KR_SLSH KC_SLSH // /
-// Row 5
#define KR_HANJ KC_LNG2 // Hanja (한자)
#define KR_HAEN KC_LNG1 // Han ↔ Yeong (한 ↔ 영)
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├─────┬──┴┬──┴──┬┴──┬┴───┴───┴───┴──┬┴──┬┴───┴┬──┴┬───┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │
- * └─────┴───┴─────┴───┴───────────────┴───┴─────┴───┴───┴─────┘
- */
-// Row 1
#define KR_TILD S(KR_GRV) // ~
#define KR_EXLM S(KR_1) // !
#define KR_AT S(KR_2) // @
@@ -115,14 +90,11 @@
#define KR_RPRN S(KR_0) // )
#define KR_UNDS S(KR_MINS) // _
#define KR_PLUS S(KR_EQL) // +
-// Row 2
#define KR_LCBR S(KR_LBRC) // {
#define KR_RCBR S(KR_RBRC) // }
#define KR_PIPE S(KR_WON) // |
-// Row 3
#define KR_COLN S(KR_SCLN) // :
#define KR_DQUO S(KR_QUOT) // "
-// Row 4
#define KR_LABK S(KR_COMM) // <
#define KR_RABK S(KR_DOT) // >
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define LV_GRV KC_GRV // `
#define LV_1 KC_1 // 1
#define LV_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define LV_0 KC_0 // 0
#define LV_MINS KC_MINS // -
#define LV_EQL KC_EQL // =
-// Row 2
#define LV_Q KC_Q // Q
#define LV_W KC_W // W
#define LV_E KC_E // E
@@ -60,7 +53,6 @@
#define LV_P KC_P // P
#define LV_LBRC KC_LBRC // [
#define LV_RBRC KC_RBRC // ]
-// Row 3
#define LV_A KC_A // A
#define LV_S KC_S // S
#define LV_D KC_D // D
@@ -73,7 +65,6 @@
#define LV_SCLN KC_SCLN // ;
#define LV_QUOT KC_QUOT // ' (dead)
#define LV_BSLS KC_NUHS // (backslash)
-// Row 4
#define LV_NUBS KC_NUBS // (backslash)
#define LV_Z KC_Z // Z
#define LV_X KC_X // X
@@ -85,21 +76,6 @@
#define LV_COMM KC_COMM // ,
#define LV_DOT KC_DOT // .
#define LV_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LV_TILD S(LV_GRV) // ~
#define LV_EXLM S(LV_1) // !
#define LV_AT S(LV_2) // @
@@ -113,75 +89,38 @@
#define LV_RPRN S(LV_0) // )
#define LV_UNDS S(LV_MINS) // _
#define LV_PLUS S(LV_EQL) // +
-// Row 2
#define LV_LCBR S(LV_LBRC) // {
#define LV_RCBR S(LV_RBRC) // }
-// Row 3
#define LV_COLN S(LV_SCLN) // :
#define LV_DQUO S(LV_QUOT) // " (dead)
#define LV_PIPE S(LV_BSLS) // |
-// Row 4
#define LV_LABK S(LV_COMM) // <
#define LV_RABK S(LV_DOT) // >
#define LV_QUES S(LV_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ - │ │ « │ » │ € │ │ ’ │ │ │ │ │ – │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ Ē │ Ŗ │ │ │ Ū │ Ī │ Ō │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Ā │ Š │ │ │ Ģ │ │ │ Ķ │ Ļ │ │ ´ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ Ž │ │ Č │ │ │ Ņ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LV_SHYP ALGR(LV_GRV) // ­ (soft hyphen)
-#define LV_NBSP ALGR(LV_1) //   (non-breaking space)
+#define LV_NBSP ALGR(LV_1) // (non-breaking space)
#define LV_LDAQ ALGR(LV_2) // «
#define LV_RDAQ ALGR(LV_3) // »
#define LV_EURO ALGR(LV_4) // €
#define LV_RSQU ALGR(LV_6) // ’
#define LV_NDSH ALGR(LV_MINS) // –
-// Row 2
#define LV_EMAC ALGR(LV_E) // Ē
#define LV_RCED ALGR(LV_R) // Ŗ
#define LV_UMAC ALGR(LV_U) // Ū
#define LV_IMAC ALGR(LV_I) // Ī
#define LV_OMAC ALGR(LV_O) // Ō
-// Row 3
#define LV_AMAC ALGR(LV_A) // Ā
#define LV_SCAR ALGR(LV_S) // Š
#define LV_GCED ALGR(LV_G) // Ģ
#define LV_KCED ALGR(LV_K) // Ķ
#define LV_LCED ALGR(LV_L) // Ļ
#define LV_ACUT ALGR(LV_QUOT) // ´ (dead)
-// Row 4
#define LV_ZCAR ALGR(LV_Z) // Ž
#define LV_CCAR ALGR(LV_C) // Č
#define LV_NCED ALGR(LV_N) // Ņ
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ │ § │ ° │ │ ± │ × │ │ │ — │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LV_SECT S(ALGR(LV_4)) // §
#define LV_DEG S(ALGR(LV_5)) // °
#define LV_PLMN S(ALGR(LV_7)) // ±
#define LV_MUL S(ALGR(LV_8)) // ×
#define LV_MDSH S(ALGR(LV_MINS)) // —
-// Row 3
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ ! │ - │ / │ ; │ : │ , │ . │ = │ ( │ ) │ ? │ X │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Ą │ Ž │ E │ R │ T │ Y │ U │ I │ O │ P │ Į │ W │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ Š │ G │ H │ J │ K │ L │ Ų │ Ė │ Q │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ Ū │ C │ V │ B │ N │ M │ Č │ F │ Ę │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define LT_GRV KC_GRV // `
#define LT_EXLM KC_1 // !
#define LT_MINS KC_2 // -
@@ -47,7 +41,6 @@
#define LT_RPRN KC_0 // )
#define LT_QUES KC_MINS // ?
#define LT_X KC_EQL // X
-// Row 2
#define LT_AOGO KC_Q // Ą
#define LT_ZCAR KC_W // Ž
#define LT_E KC_E // E
@@ -60,7 +53,6 @@
#define LT_P KC_P // P
#define LT_IOGO KC_LBRC // Į
#define LT_W KC_RBRC // W
-// Row 3
#define LT_A KC_A // A
#define LT_S KC_S // S
#define LT_D KC_D // D
@@ -73,7 +65,6 @@
#define LT_UOGO KC_SCLN // Ų
#define LT_EDOT KC_QUOT // Ė
#define LT_Q KC_NUHS // Q
-// Row 4
#define LT_LABK KC_NUBS // <
#define LT_Z KC_Z // Z
#define LT_UMAC KC_X // Ū
@@ -85,21 +76,6 @@
#define LT_CCAR KC_COMM // Č
#define LT_F KC_DOT // F
#define LT_EOGO KC_SLSH // Ę
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LT_TILD S(LT_GRV) // ~
#define LT_1 S(LT_EXLM) // 1
#define LT_2 S(LT_MINS) // 2
@@ -112,23 +88,7 @@
#define LT_9 S(LT_LPRN) // 9
#define LT_0 S(LT_RPRN) // 0
#define LT_PLUS S(LT_QUES) // +
-// Row 4
#define LT_RABK S(LT_LABK) // >
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ´ │ @ │ _ │ # │ $ │ § │ ^ │ & │ * │ [ │ ] │ ' │ % │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ { │ } │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ " │ | │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ – │ │ │ │ │ │ │ │ „ │ “ │ \ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LT_ACUT ALGR(LT_GRV) // ´
#define LT_AT ALGR(LT_EXLM) // @
#define LT_UNDS ALGR(LT_MINS) // _
@@ -142,14 +102,11 @@
#define LT_RBRC ALGR(LT_RPRN) // ]
#define LT_QUOT ALGR(LT_QUES) // '
#define LT_PERC ALGR(LT_X) // %
-// Row 2
#define LT_EURO ALGR(LT_E) // €
#define LT_LCBR ALGR(LT_IOGO) // {
#define LT_RCBR ALGR(LT_W) // }
-// Row 3
#define LT_DQUO ALGR(LT_EDOT) // "
#define LT_PIPE ALGR(LT_Q) // |
-// Row 4
#define LT_NDSH ALGR(LT_LABK) // –
#define LT_DLQU ALGR(LT_CCAR) // „
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ Ą │ Č │ Ę │ Ė │ Į │ Š │ Ų │ Ū │ 9 │ 0 │ - │ Ž │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define LT_GRV KC_GRV // `
#define LT_AOGO KC_1 // Ą
#define LT_CCAR KC_2 // Č
@@ -47,7 +41,6 @@
#define LT_0 KC_0 // 0
#define LT_MINS KC_MINS // -
#define LT_ZCAR KC_EQL // Ž
-// Row 2
#define LT_Q KC_Q // Q
#define LT_W KC_W // W
#define LT_E KC_E // E
@@ -60,7 +53,6 @@
#define LT_P KC_P // P
#define LT_LBRC KC_LBRC // [
#define LT_RBRC KC_RBRC // ]
-// Row 3
#define LT_A KC_A // A
#define LT_S KC_S // S
#define LT_D KC_D // D
@@ -73,7 +65,6 @@
#define LT_SCLN KC_SCLN // ;
#define LT_QUOT KC_QUOT // '
#define LT_BSLS KC_BSLS // (backslash)
-// Row 4
#define LT_Z KC_Z // Z
#define LT_X KC_X // X
#define LT_C KC_C // C
@@ -84,51 +75,18 @@
#define LT_COMM KC_COMM // ,
#define LT_DOT KC_DOT // .
#define LT_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ │ │ │ │ │ │ │ │ ( │ ) │ _ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LT_TILD S(LT_GRV) // ~
#define LT_LPRN S(LT_9) // (
#define LT_RPRN S(LT_0) // )
#define LT_UNDS S(LT_MINS) // _
-// Row 2
#define LT_LCBR S(LT_LBRC) // {
#define LT_RCBR S(LT_RBRC) // }
-// Row 3
#define LT_COLN S(LT_SCLN) // :
#define LT_DQUO S(LT_QUOT) // "
#define LT_PIPE S(LT_BSLS) // |
-// Row 4
#define LT_LABK S(LT_COMM) // <
#define LT_RABK S(LT_DOT) // >
#define LT_QUES S(LT_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ │ │ │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LT_1 ALGR(LT_AOGO) // 1
#define LT_2 ALGR(LT_CCAR) // 2
#define LT_3 ALGR(LT_EOGO) // 3
@@ -138,23 +96,7 @@
#define LT_7 ALGR(LT_UOGO) // 7
#define LT_8 ALGR(LT_UMAC) // 8
#define LT_EQL ALGR(LT_ZCAR) // =
-// Row 2
#define LT_EURO ALGR(LT_E) // €
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ │ │ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define LT_EXLM S(ALGR(LT_AOGO)) // !
#define LT_AT S(ALGR(LT_CCAR)) // @
#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 @@
-/* Copyright 2016 Matthias Schmitt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ X │ V │ L │ C │ W │ K │ H │ G │ F │ Q │ ß │ ´ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ L3 │ U │ I │ A │ E │ O │ S │ N │ R │ T │ D │ Y │ L3│ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │L4 │ Ü │ Ö │ Ä │ P │ Z │ B │ M │ , │ . │ J │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ L4 │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define NE_CIRC KC_GRV // ^ (dead)
#define NE_1 KC_1 // 1
#define NE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define NE_0 KC_0 // 0
#define NE_MINS KC_MINS // -
#define NE_GRV KC_EQL // ` (dead)
-// Row 2
#define NE_X KC_Q // X
#define NE_V KC_W // V
#define NE_L KC_E // L
@@ -60,7 +53,6 @@
#define NE_Q KC_P // Q
#define NE_SS KC_LBRC // ß
#define NE_ACUT KC_RBRC // ´ (dead)
-// Row 3
#define NE_L3L KC_CAPS // (layer 3)
#define NE_U KC_A // U
#define NE_I KC_S // I
@@ -74,7 +66,6 @@
#define NE_D KC_SCLN // D
#define NE_Y KC_QUOT // Y
#define NE_L3R KC_NUHS // (layer 3)
-// Row 4
#define NE_L4L KC_NUBS // (layer 4)
#define NE_UDIA KC_Z // Ü
#define NE_ODIA KC_X // Ö
@@ -86,5 +77,4 @@
#define NE_COMM KC_COMM // ,
#define NE_DOT KC_DOT // .
#define NE_J KC_SLSH // J
-// Row 5
#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 @@
-/* Copyright 2015-2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
+// clang-format off
-// Normal characters
-#define NO_HALF KC_GRV
+// Aliases
+#define NO_HALF KC_GRV
#define NO_PLUS KC_MINS
-#define NO_ACUT KC_EQL
-
-#define NO_AM KC_LBRC
+#define NO_ACUT KC_EQL
+#define NO_AM KC_LBRC
#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
-#define NO_AE KC_SCLN
+#define NO_AE KC_SCLN
#define NO_OSLH KC_QUOT
#define NO_APOS KC_NUHS
-
#define NO_LESS KC_NUBS
#define NO_MINS KC_SLSH
-
-// Shifted characters
#define NO_SECT LSFT(NO_HALF)
#define NO_QUO2 LSFT(KC_2)
#define NO_BULT LSFT(KC_4)
@@ -40,29 +45,23 @@
#define NO_SLSH LSFT(KC_7)
#define NO_LPRN LSFT(KC_8)
#define NO_RPRN LSFT(KC_9)
-#define NO_EQL LSFT(KC_0)
+#define NO_EQL LSFT(KC_0)
#define NO_QUES LSFT(NO_PLUS)
-#define NO_GRV LSFT(NO_ACUT)
-
+#define NO_GRV LSFT(NO_ACUT)
#define NO_CIRC LSFT(NO_QUOT)
-
#define NO_GRTR LSFT(NO_LESS)
#define NO_SCLN LSFT(KC_COMM)
#define NO_COLN LSFT(KC_DOT)
#define NO_UNDS LSFT(NO_MINS)
-
-// Alt Gr-ed characters
-#define NO_AT ALGR(KC_2)
-#define NO_PND ALGR(KC_3)
-#define NO_DLR ALGR(KC_4)
-#define NO_LCBR ALGR(KC_7)
-#define NO_LBRC ALGR(KC_8)
-#define NO_RBRC ALGR(KC_9)
-#define NO_RCBR ALGR(KC_0)
+#define NO_AT ALGR(KC_2)
+#define NO_PND ALGR(KC_3)
+#define NO_DLR ALGR(KC_4)
+#define NO_LCBR ALGR(KC_7)
+#define NO_LBRC ALGR(KC_8)
+#define NO_RBRC ALGR(KC_9)
+#define NO_RCBR ALGR(KC_0)
#define NO_PIPE ALGR(KC_NUBS)
-
-#define NO_EURO ALGR(KC_E)
+#define NO_EURO ALGR(KC_E)
#define NO_TILD ALGR(NO_QUOT)
-
#define NO_BSLS ALGR(KC_MINS)
-#define NO_MU ALGR(KC_M)
+#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 @@
-/* Copyright 2019 Torben Hoffmann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ D │ F │ K │ J │ U │ R │ L │ ; │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ E │ T │ G │ Y │ N │ I │ O │ H │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ P │ M │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define NM_GRV KC_GRV // `
#define NM_1 KC_1 // 1
#define NM_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define NM_0 KC_0 // 0
#define NM_MINS KC_MINS // -
#define NM_EQL KC_EQL // =
-// Row 2
#define NM_Q KC_Q // Q
#define NM_W KC_W // W
#define NM_D KC_E // D
@@ -61,7 +54,6 @@
#define NM_LBRC KC_LBRC // [
#define NM_RBRC KC_RBRC // ]
#define NM_BSLS KC_BSLS // (backslash)
-// Row 3
#define NM_A KC_A // A
#define NM_S KC_S // S
#define NM_E KC_D // E
@@ -73,7 +65,6 @@
#define NM_O KC_L // O
#define NM_H KC_SCLN // H
#define NM_QUOT KC_QUOT // '
-// Row 4
#define NM_Z KC_Z // Z
#define NM_X KC_X // X
#define NM_C KC_C // C
@@ -84,21 +75,6 @@
#define NM_COMM KC_COMM // ,
#define NM_DOT KC_DOT // .
#define NM_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define NM_TILD S(NM_GRV) // ~
#define NM_EXLM S(NM_1) // !
#define NM_AT S(NM_2) // @
@@ -112,14 +88,11 @@
#define NM_RPRN S(NM_0) // )
#define NM_UNDS S(NM_MINS) // _
#define NM_PLUS S(NM_EQL) // +
-// Row 2
#define NM_COLN S(NM_SCLN) // :
#define NM_LCBR S(NM_LBRC) // {
#define NM_RCBR S(NM_RBRC) // }
#define NM_PIPE S(NM_BSLS) // |
-// Row 3
#define NM_DQUO S(NM_QUOT) // "
-// Row 4
#define NM_LABK S(NM_COMM) // <
#define NM_RABK S(NM_DOT) // >
#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 @@
-/* Copyright 2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ \ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ø │ Æ │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define NO_PIPE KC_GRV // |
#define NO_1 KC_1 // 1
#define NO_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define NO_0 KC_0 // 0
#define NO_PLUS KC_MINS // +
#define NO_BSLS KC_EQL // (backslash)
-// Row 2
#define NO_Q KC_Q // Q
#define NO_W KC_W // W
#define NO_E KC_E // E
@@ -60,7 +53,6 @@
#define NO_P KC_P // P
#define NO_ARNG KC_LBRC // Å
#define NO_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define NO_A KC_A // A
#define NO_S KC_S // S
#define NO_D KC_D // D
@@ -73,7 +65,6 @@
#define NO_OSTR KC_SCLN // Ø
#define NO_AE KC_QUOT // Æ
#define NO_QUOT KC_NUHS // '
-// Row 4
#define NO_LABK KC_NUBS // <
#define NO_Z KC_Z // Z
#define NO_X KC_X // X
@@ -85,21 +76,6 @@
#define NO_COMM KC_COMM // ,
#define NO_DOT KC_DOT // .
#define NO_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define NO_SECT S(NO_PIPE) // §
#define NO_EXLM S(NO_1) // !
#define NO_DQUO S(NO_2) // "
@@ -113,30 +89,12 @@
#define NO_EQL S(NO_0) // =
#define NO_QUES S(NO_PLUS) // ?
#define NO_GRV S(NO_BSLS) // ` (dead)
-// Row 2
#define NO_CIRC S(NO_DIAE) // ^ (dead)
-// Row 3
#define NO_ASTR S(NO_QUOT) // *
-// Row 4
#define NO_RABK S(NO_LABK) // >
#define NO_SCLN S(NO_COMM) // ;
#define NO_COLN S(NO_DOT) // :
#define NO_UNDS S(NO_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ µ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define NO_AT ALGR(NO_2) // @
#define NO_PND ALGR(NO_3) // £
#define NO_DLR ALGR(NO_4) // $
@@ -146,7 +104,5 @@
#define NO_RBRC ALGR(NO_9) // ]
#define NO_RCBR ALGR(NO_0) // }
#define NO_ACUT ALGR(NO_BSLS) // ´ (dead)
-// Row 2
#define NO_TILD ALGR(NO_DIAE) // ~ (dead)
-// Row 4
#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 @@
-/* Copyright 2016 James Kay
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │Num│ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ S │ T │ P │ H │ │ * │ F │ P │ L │ T │ D │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ K │ W │ R │ │ │ R │ B │ G │ S │ Z │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ A │ O │ │ E │ U │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
-#define PV_NUM KC_1
-
-// Row 2
-#define PV_LS KC_Q
-#define PV_LT KC_W
-#define PV_LP KC_E
-#define PV_LH KC_R
-#define PV_STAR KC_Y
-#define PV_RF KC_U
-#define PV_RP KC_I
-#define PV_RL KC_O
-#define PV_RT KC_P
+// Aliases
+#define PV_NUM KC_1
+#define PV_LS KC_Q
+#define PV_LT KC_W
+#define PV_LP KC_E
+#define PV_LH KC_R
+#define PV_STAR KC_Y
+#define PV_RF KC_U
+#define PV_RP KC_I
+#define PV_RL KC_O
+#define PV_RT KC_P
#define PV_RD KC_LBRC
-
-// Row 3
-#define PV_LK KC_S
-#define PV_LW KC_D
-#define PV_LR KC_F
-#define PV_RR KC_J
-#define PV_RB KC_K
-#define PV_RG KC_L
+#define PV_LK KC_S
+#define PV_LW KC_D
+#define PV_LR KC_F
+#define PV_RR KC_J
+#define PV_RB KC_K
+#define PV_RG KC_L
#define PV_RS KC_SCLN
#define PV_RZ KC_QUOT
-
-// Row 4
-#define PV_A KC_C
-#define PV_O KC_V
-#define PV_E KC_N
-#define PV_U KC_M
+#define PV_A KC_C
+#define PV_O KC_V
+#define PV_E KC_N
+#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 @@
-/* Copyright 2016 James Kay
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#include "keymap_dvorak.h"
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
-#define PD_NUM DV_1
-#define PD_LS DV_Q
-#define PD_LT DV_W
-#define PD_LP DV_E
-#define PD_LH DV_R
-#define PD_LK DV_S
-#define PD_LW DV_D
-#define PD_LR DV_F
-
-#define PD_STAR DV_Y
-#define PD_RF DV_U
-#define PD_RP DV_I
-#define PD_RL DV_O
-#define PD_RT DV_P
-#define PD_RD DV_LBRC
-#define PD_RR DV_J
-#define PD_RB DV_K
-#define PD_RG DV_L
-#define PD_RS DV_SCLN
-#define PD_RZ DV_QUOT
+#pragma once
+#include "keymap.h"
+// clang-format off
-#define PD_A DV_C
-#define PD_O DV_V
-#define PD_E DV_N
-#define PD_U DV_M
+// Aliases
+#define PD_NUM DV_1
+#define PD_LS DV_Q
+#define PD_LT DV_W
+#define PD_LP DV_E
+#define PD_LH DV_R
+#define PD_LK DV_S
+#define PD_LW DV_D
+#define PD_LR DV_F
+#define PD_STAR DV_Y
+#define PD_RF DV_U
+#define PD_RP DV_I
+#define PD_RL DV_O
+#define PD_RT DV_P
+#define PD_RD DV_LBRC
+#define PD_RR DV_J
+#define PD_RB DV_K
+#define PD_RG DV_L
+#define PD_RS DV_SCLN
+#define PD_RZ DV_QUOT
+#define PD_A DV_C
+#define PD_O DV_V
+#define PD_E DV_N
+#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define PL_GRV KC_GRV // `
#define PL_1 KC_1 // 1
#define PL_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define PL_0 KC_0 // 0
#define PL_MINS KC_MINS // -
#define PL_EQL KC_EQL // =
-// Row 2
#define PL_Q KC_Q // Q
#define PL_W KC_W // W
#define PL_E KC_E // E
@@ -61,7 +54,6 @@
#define PL_LBRC KC_LBRC // [
#define PL_RBRC KC_RBRC // ]
#define PL_BSLS KC_BSLS // (backslash)
-// Row 3
#define PL_A KC_A // A
#define PL_S KC_S // S
#define PL_D KC_D // D
@@ -73,7 +65,6 @@
#define PL_L KC_L // L
#define PL_SCLN KC_SCLN // ;
#define PL_QUOT KC_QUOT // '
-// Row 4
#define PL_Z KC_Z // Z
#define PL_X KC_X // X
#define PL_C KC_C // C
@@ -84,21 +75,6 @@
#define PL_COMM KC_COMM // ,
#define PL_DOT KC_DOT // .
#define PL_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define PL_TILD S(PL_GRV) // ~
#define PL_EXLM S(PL_1) // !
#define PL_AT S(PL_2) // @
@@ -112,41 +88,21 @@
#define PL_RPRN S(PL_0) // )
#define PL_UNDS S(PL_MINS) // _
#define PL_PLUS S(PL_EQL) // +
-// Row 2
#define PL_LCBR S(PL_LBRC) // {
#define PL_RCBR S(PL_RBRC) // }
#define PL_PIPE S(PL_BSLS) // |
-// Row 3
#define PL_COLN S(PL_SCLN) // :
#define PL_DQUO S(PL_QUOT) // "
-// Row 4
#define PL_LABK S(PL_COMM) // <
#define PL_RABK S(PL_DOT) // >
#define PL_QUES S(PL_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ Ę │ │ │ │ € │ │ Ó │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ Ą │ Ś │ │ │ │ │ │ │ Ł │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Ż │ Ź │ Ć │ │ │ Ń │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 2
-#define PL_EOGO ALGR(PL_E) // Ę
-#define PL_EURO ALGR(PL_U) // €
-#define PL_OACU ALGR(PL_O) // Ó
-// Row 3
-#define PL_AOGO ALGR(PL_A) // Ą
-#define PL_SACU ALGR(PL_S) // Ś
-#define PL_LSTR ALGR(PL_L) // Ł
-// Row 4
-#define PL_ZDOT ALGR(PL_Z) // Ż
-#define PL_ZACU ALGR(PL_X) // Ź
-#define PL_CACU ALGR(PL_C) // Ć
-#define PL_NACU ALGR(PL_N) // Ń
+#define PL_EOGO ALGR(PL_E) // Ę
+#define PL_EURO ALGR(PL_U) // €
+#define PL_OACU ALGR(PL_O) // Ó
+#define PL_AOGO ALGR(PL_A) // Ą
+#define PL_SACU ALGR(PL_S) // Ś
+#define PL_LSTR ALGR(PL_L) // Ł
+#define PL_ZDOT ALGR(PL_Z) // Ż
+#define PL_ZACU ALGR(PL_X) // Ź
+#define PL_CACU ALGR(PL_C) // Ć
+#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ « │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ + │ ´ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ º │ ~ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define PT_BSLS KC_GRV // (backslash)
#define PT_1 KC_1 // 1
#define PT_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define PT_0 KC_0 // 0
#define PT_QUOT KC_MINS // '
#define PT_LDAQ KC_EQL // «
-// Row 2
#define PT_Q KC_Q // Q
#define PT_W KC_W // W
#define PT_E KC_E // E
@@ -60,7 +53,6 @@
#define PT_P KC_P // P
#define PT_PLUS KC_LBRC // +
#define PT_ACUT KC_RBRC // ´ (dead)
-// Row 3
#define PT_A KC_A // A
#define PT_S KC_S // S
#define PT_D KC_D // D
@@ -73,7 +65,6 @@
#define PT_CCED KC_SCLN // Ç
#define PT_MORD KC_QUOT // º
#define PT_TILD KC_NUHS // ~ (dead)
-// Row 4
#define PT_LABK KC_NUBS // <
#define PT_Z KC_Z // Z
#define PT_X KC_X // X
@@ -85,21 +76,6 @@
#define PT_COMM KC_COMM // ,
#define PT_DOT KC_DOT // .
#define PT_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ | │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ » │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ * │ ` │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ^ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define PT_PIPE S(PT_BSLS) // |
#define PT_EXLM S(PT_1) // !
#define PT_DQUO S(PT_2) // "
@@ -113,32 +89,14 @@
#define PT_EQL S(PT_0) // =
#define PT_QUES S(PT_QUOT) // ?
#define PT_RDAQ S(PT_LDAQ) // »
-// Row 2
#define PT_ASTR S(PT_PLUS) // *
#define PT_GRV S(PT_ACUT) // ` (dead)
-// Row 3
#define PT_FORD S(PT_MORD) // ª
#define PT_CIRC S(PT_TILD) // ^ (dead)
-// Row 4
#define PT_RABK S(PT_LABK) // >
#define PT_SCLN S(PT_COMM) // ;
#define PT_COLN S(PT_DOT) // :
#define PT_UNDS S(PT_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ @ │ £ │ § │ │ │ { │ [ │ ] │ } │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ ¨ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define PT_AT ALGR(PT_2) // @
#define PT_PND ALGR(PT_3) // £
#define PT_SECT ALGR(PT_4) // §
@@ -146,6 +104,5 @@
#define PT_LBRC ALGR(PT_8) // [
#define PT_RBRC ALGR(PT_9) // ]
#define PT_RCBR ALGR(PT_0) // }
-// Row 2
#define PT_DIAE ALGR(PT_PLUS) // ¨ (dead)
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ º │ ´ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ \ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define PT_SECT KC_GRV // §
#define PT_1 KC_1 // 1
#define PT_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define PT_0 KC_0 // 0
#define PT_QUOT KC_MINS // '
#define PT_PLUS KC_EQL // +
-// Row 2
#define PT_Q KC_Q // Q
#define PT_W KC_W // W
#define PT_E KC_E // E
@@ -60,7 +53,6 @@
#define PT_P KC_P // P
#define PT_MORD KC_LBRC // º
#define PT_ACUT KC_RBRC // ´ (dead)
-// Row 3
#define PT_A KC_A // A
#define PT_S KC_S // S
#define PT_D KC_D // D
@@ -73,7 +65,6 @@
#define PT_CCED KC_SCLN // Ç
#define PT_TILD KC_QUOT // ~ (dead)
#define PT_BSLS KC_NUHS // (backslash)
-// Row 4
#define PT_LABK KC_NUBS // <
#define PT_Z KC_Z // Z
#define PT_X KC_X // X
@@ -85,21 +76,6 @@
#define PT_COMM KC_COMM // ,
#define PT_DOT KC_DOT // .
#define PT_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ± │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ª │ ` │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ | │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define PT_PLMN S(PT_SECT) // ±
#define PT_EXLM S(PT_1) // !
#define PT_DQUO S(PT_2) // "
@@ -113,32 +89,14 @@
#define PT_EQL S(PT_0) // =
#define PT_QUES S(PT_QUOT) // ?
#define PT_ASTR S(PT_PLUS) // *
-// Row 2
#define PT_FORD S(PT_MORD) // ª
#define PT_GRV S(PT_ACUT) // ` (dead)
-// Row 3
#define PT_CIRC S(PT_TILD) // ^ (dead)
#define PT_PIPE S(PT_BSLS) // |
-// Row 4
#define PT_RABK S(PT_LABK) // >
#define PT_SCLN S(PT_COMM) // ;
#define PT_COLN S(PT_DOT) // :
#define PT_UNDS S(PT_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ │  │ @ │ € │ £ │ ‰ │ ¶ │ ÷ │ [ │ ] │ ≠ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Œ │ ∑ │ Æ │ ® │ ™ │ ¥ │ † │ ı │ Ø │ π │ ° │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Å │ ß │ ∂ │ ƒ │ ˙ │ ˇ │ ¯ │ „ │ ‘ │ ¸ │ ˜ │ ‹ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≤ │ Ω │ « │ © │ √ │ ∫ │ ¬ │ µ │ “ │ … │ — │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define PT_APPL A(PT_1) //  (Apple logo)
#define PT_AT A(PT_2) // @
#define PT_EURO A(PT_3) // €
@@ -149,7 +107,6 @@
#define PT_LBRC A(PT_8) // [
#define PT_RBRC A(PT_9) // ]
#define PT_NEQL A(PT_0) // ≠
-// Row 2
#define PT_OE A(PT_Q) // Œ
#define PT_NARS A(PT_W) // ∑
#define PT_AE A(PT_E) // Æ
@@ -162,7 +119,6 @@
#define PT_PI A(PT_P) // π
#define PT_DEG A(PT_MORD) // °
#define PT_DIAE A(PT_ACUT) // ¨ (dead)
-// Row 3
#define PT_ARNG A(PT_A) // å
#define PT_SS A(PT_S) // ß
#define PT_PDIF A(PT_D) // ∂
@@ -175,7 +131,6 @@
#define PT_CEDL A(PT_CCED) // ¸
#define PT_STIL A(PT_TILD) // ˜ (dead)
#define PT_LSAQ A(PT_BSLS) // ‹
-// Row 4
#define PT_LTEQ A(PT_LABK) // ≤
#define PT_OMEG A(PT_Z) // Ω
#define PT_LDAQ A(PT_X) // «
@@ -187,21 +142,6 @@
#define PT_LDQU A(PT_COMM) // “
#define PT_ELLP A(PT_DOT) // …
#define PT_MDSH A(PT_MINS) // —
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ │ ¡ │ fi │ fl │ ¢ │ ∞ │ • │ ⁄ │ { │ } │ ≈ │ ¿ │ ◊ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ ‡ │ ˚ │ │ ∏ │ │ ˝ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ ∆ │ │ │ │ │ ‚ │ ’ │ ˛ │ ˆ │ › │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≥ │ │ » │ │ │ │ │ │ ” │ · │ – │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define PT_IEXL S(A(PT_1)) // ¡
#define PT_FI S(A(PT_2)) // fi
#define PT_FL S(A(PT_3)) // fl
@@ -214,19 +154,16 @@
#define PT_AEQL S(A(PT_0)) // ≈
#define PT_IQUE S(A(PT_QUOT)) // ¿
#define PT_LOZN S(A(PT_PLUS)) // ◊
-// Row 2
#define PT_DDAG S(A(PT_U)) // ‡
#define PT_RNGA S(A(PT_I)) // ˚
#define PT_NARP S(A(PT_P)) // ∏
#define PT_DACU S(A(PT_ACUT)) // ˝
-// Row 3
#define PT_INCR S(A(PT_D)) // ∆
#define PT_SLQU S(A(PT_K)) // ‚
#define PT_RSQU S(A(PT_L)) // ’
#define PT_OGON S(A(PT_CCED)) // ˛
#define PT_DCIR S(A(PT_TILD)) // ˆ (dead)
#define PT_RSAQ S(A(PT_BSLS)) // ›
-// Row 4
#define PT_GTEQ S(A(PT_LABK)) // ≥
#define PT_RDAQ S(A(PT_X)) // »
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ „ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ă │ Î │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ș │ Ț │ Â │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define RO_DLQU KC_GRV // „
#define RO_1 KC_1 // 1
#define RO_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define RO_0 KC_0 // 0
#define RO_MINS KC_MINS // -
#define RO_EQL KC_EQL // =
-// Row 2
#define RO_Q KC_Q // Q
#define RO_W KC_W // W
#define RO_E KC_E // E
@@ -60,7 +53,6 @@
#define RO_P KC_P // P
#define RO_ABRV KC_LBRC // Ă
#define RO_ICIR KC_RBRC // Î
-// Row 3
#define RO_A KC_A // A
#define RO_S KC_S // S
#define RO_D KC_D // D
@@ -73,7 +65,6 @@
#define RO_SCOM KC_SCLN // Ș
#define RO_TCOM KC_QUOT // Ț
#define RO_ACIR KC_NUHS // Â
-// Row 4
#define RO_BSLS KC_NUBS // (backslash)
#define RO_Z KC_Z // Z
#define RO_X KC_X // X
@@ -85,21 +76,6 @@
#define RO_COMM KC_COMM // ,
#define RO_DOT KC_DOT // .
#define RO_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ” │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ │ │ │ │ │ │ │ ; │ : │ ? │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define RO_RDQU S(RO_DLQU) // ”
#define RO_EXLM S(RO_1) // !
#define RO_AT S(RO_2) // @
@@ -113,26 +89,10 @@
#define RO_RPRN S(RO_0) // )
#define RO_UNDS S(RO_MINS) // _
#define RO_PLUS S(RO_EQL) // +
-// Row 4
#define RO_PIPE S(RO_BSLS) // |
#define RO_SCLN S(RO_COMM) // ;
#define RO_COLN S(RO_DOT) // :
#define RO_QUES S(RO_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ § │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ ß │ Đ │ │ │ │ │ │ Ł │ │ ' │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ © │ │ │ │ │ < │ > │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define RO_GRV ALGR(RO_DLQU) // `
#define RO_DTIL ALGR(RO_1) // ~ (dead)
#define RO_CARN ALGR(RO_2) // ˇ (dead)
@@ -146,43 +106,22 @@
#define RO_DACU ALGR(RO_0) // ˝ (dead)
#define RO_DIAE ALGR(RO_MINS) // ¨ (dead)
#define RO_CEDL ALGR(RO_EQL) // ¸ (dead)
-// Row 2
#define RO_EURO ALGR(RO_E) // €
#define RO_SECT ALGR(RO_P) // §
#define RO_LBRC ALGR(RO_ABRV) // [
#define RO_RBRC ALGR(RO_ICIR) // ]
-// Row 3
#define RO_SS ALGR(RO_S) // ß
#define RO_DSTR ALGR(RO_D) // Đ
#define RO_LSTR ALGR(RO_L) // Ł
#define RO_QUOT ALGR(RO_TCOM) // '
-// Row 4
#define RO_COPY ALGR(RO_C) // ©
#define RO_LABK ALGR(RO_COMM) // <
#define RO_RABK ALGR(RO_DOT) // >
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ " │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ « │ » │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define RO_TILD S(ALGR(RO_DLQU)) // ~
#define RO_NDSH S(ALGR(RO_MINS)) // –
#define RO_PLMN S(ALGR(RO_EQL)) // ±
-// Row 2
#define RO_LCBR S(ALGR(RO_ABRV)) // {
#define RO_RCBR S(ALGR(RO_ICIR)) // }
-// Row 3
#define RO_DQUO S(ALGR(RO_TCOM)) // "
-// Row 4
#define RO_LDAQ S(ALGR(RO_COMM)) // «
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ Ё │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define RU_YO KC_GRV // Ё
#define RU_1 KC_1 // 1
#define RU_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define RU_0 KC_0 // 0
#define RU_MINS KC_MINS // -
#define RU_EQL KC_EQL // =
-// Row 2
#define RU_SHTI KC_Q // Й
#define RU_TSE KC_W // Ц
#define RU_U KC_E // У
@@ -61,7 +54,6 @@
#define RU_HA KC_LBRC // Х
#define RU_HARD KC_RBRC // Ъ
#define RU_BSLS KC_BSLS // (backslash)
-// Row 3
#define RU_EF KC_A // Ф
#define RU_YERU KC_S // Ы
#define RU_VE KC_D // В
@@ -73,7 +65,6 @@
#define RU_DE KC_L // Д
#define RU_ZHE KC_SCLN // Ж
#define RU_E KC_QUOT // Э
-// Row 4
#define RU_YA KC_Z // Я
#define RU_CHE KC_X // Ч
#define RU_ES KC_C // С
@@ -84,21 +75,6 @@
#define RU_BE KC_COMM // Б
#define RU_YU KC_DOT // Ю
#define RU_DOT KC_SLSH // .
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ │ │ , │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define RU_EXLM S(RU_1) // !
#define RU_DQUO S(RU_2) // "
#define RU_NUM S(RU_3) // №
@@ -111,23 +87,6 @@
#define RU_RPRN S(RU_0) // )
#define RU_UNDS S(RU_MINS) // _
#define RU_PLUS S(RU_EQL) // +
-// Row 2
#define RU_SLSH S(RU_BSLS) // /
-// Row 4
#define RU_COMM S(RU_DOT) // ,
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ │ │ │ │ │ ₽ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
-#define RU_RUBL ALGR(RU_8) // ₽
+#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Љ │ Њ │ Е │ Р │ Т │ З │ У │ И │ О │ П │ Ш │ Ђ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ А │ С │ Д │ Ф │ Г │ Х │ Ј │ К │ Л │ Ч │ Ћ │ Ж │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Ѕ │ Џ │ Ц │ В │ Б │ Н │ М │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define RS_GRV KC_GRV // `
#define RS_1 KC_1 // 1
#define RS_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define RS_0 KC_0 // 0
#define RS_QUOT KC_MINS // ' (dead)
#define RS_PLUS KC_EQL // +
-// Row 2
#define RS_LJE KC_Q // Љ
#define RS_NJE KC_W // Њ
#define RS_IE KC_E // Е
@@ -60,7 +53,6 @@
#define RS_PE KC_P // П
#define RS_SHA KC_LBRC // Ш
#define RS_DJE KC_RBRC // Ђ
-// Row 3
#define RS_A KC_A // А
#define RS_ES KC_S // С
#define RS_DE KC_D // Д
@@ -73,7 +65,6 @@
#define RS_CHE KC_SCLN // Ч
#define RS_TSHE KC_QUOT // Ћ
#define RS_ZHE KC_NUHS // Ж
-// Row 4
#define RS_LABK KC_NUBS // <
#define RS_DZE KC_Z // Ѕ
#define RS_DZHE KC_X // Џ
@@ -85,21 +76,6 @@
#define RS_COMM KC_COMM // ,
#define RS_DOT KC_DOT // .
#define RS_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define RS_TILD S(RS_GRV) // ~
#define RS_EXLM S(RS_1) // !
#define RS_DQUO S(RS_2) // "
@@ -113,24 +89,8 @@
#define RS_EQL S(RS_0) // =
#define RS_QUES S(RS_QUOT) // ?
#define RS_ASTR S(RS_PLUS) // *
-// Row 4
#define RS_RABK S(RS_LABK) // >
#define RS_SCLN S(RS_COMM) // ;
#define RS_COLN S(RS_DOT) // :
#define RS_UNDS S(RS_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 2
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ‚ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define RS_SLQU KC_GRV // ‚ (dead)
#define RS_1 KC_1 // 1
#define RS_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define RS_0 KC_0 // 0
#define RS_QUOT KC_MINS // '
#define RS_PLUS KC_EQL // +
-// Row 2
#define RS_Q KC_Q // Q
#define RS_W KC_W // W
#define RS_E KC_E // E
@@ -60,7 +53,6 @@
#define RS_P KC_P // P
#define RS_SCAR KC_LBRC // Š
#define RS_DSTR KC_RBRC // Đ
-// Row 3
#define RS_A KC_A // A
#define RS_S KC_S // S
#define RS_D KC_D // D
@@ -73,7 +65,6 @@
#define RS_CCAR KC_SCLN // Č
#define RS_CACU KC_QUOT // Ć
#define RS_ZCAR KC_NUHS // Ž
-// Row 4
#define RS_LABK KC_NUBS // <
#define RS_Y KC_Z // Y
#define RS_X KC_X // X
@@ -85,21 +76,6 @@
#define RS_COMM KC_COMM // ,
#define RS_DOT KC_DOT // .
#define RS_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define RS_TILD S(RS_SLQU) // ~
#define RS_EXLM S(RS_1) // !
#define RS_DQUO S(RS_2) // "
@@ -113,26 +89,10 @@
#define RS_EQL S(RS_0) // =
#define RS_QUES S(RS_QUOT) // ?
#define RS_ASTR S(RS_PLUS) // *
-// Row 4
#define RS_RABK S(RS_LABK) // >
#define RS_SCLN S(RS_COMM) // ;
#define RS_COLN S(RS_DOT) // :
#define RS_UNDS S(RS_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define RS_CARN ALGR(RS_2) // ˇ (dead)
#define RS_CIRC ALGR(RS_3) // ^ (dead)
#define RS_BREV ALGR(RS_4) // ˘ (dead)
@@ -144,20 +104,17 @@
#define RS_DACU ALGR(RS_0) // ˝ (dead)
#define RS_DIAE ALGR(RS_QUOT) // ¨ (dead)
#define RS_CEDL ALGR(RS_PLUS) // ¸ (dead)
-// Row 2
#define RS_BSLS ALGR(RS_Q) // (backslash)
#define RS_PIPE ALGR(RS_W) // |
#define RS_EURO ALGR(RS_E) // €
#define RS_DIV ALGR(RS_SCAR) // ÷
#define RS_MUL ALGR(RS_DSTR) // ×
-// Row 3
#define RS_LBRC ALGR(RS_F) // [
#define RS_RBRC ALGR(RS_G) // ]
#define RS_LLST ALGR(RS_K) // ł
#define RS_CLST ALGR(RS_L) // Ł
#define RS_SS ALGR(RS_CACU) // ß
#define RS_CURR ALGR(RS_ZCAR) // ¤
-// Row 4
#define RS_AT ALGR(RS_V) // @
#define RS_LCBR ALGR(RS_B) // {
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ; │ + │ ľ │ š │ č │ ť │ ž │ ý │ á │ í │ é │ = │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ä │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ô │ § │ ň │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ & │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define SK_SCLN KC_GRV // ;
#define SK_PLUS KC_1 // +
#define SK_LCAR KC_2 // ľ
@@ -47,7 +41,6 @@
#define SK_EACU KC_0 // é
#define SK_EQL KC_MINS // =
#define SK_ACUT KC_EQL // ´ (dead)
-// Row 2
#define SK_Q KC_Q // Q
#define SK_W KC_W // W
#define SK_E KC_E // E
@@ -60,7 +53,6 @@
#define SK_P KC_P // P
#define SK_UACU KC_LBRC // ú
#define SK_ADIA KC_RBRC // ä
-// Row 3
#define SK_A KC_A // A
#define SK_S KC_S // S
#define SK_D KC_D // D
@@ -73,7 +65,6 @@
#define SK_OCIR KC_SCLN // ô
#define SK_SECT KC_QUOT // §
#define SK_NCAR KC_NUHS // ň
-// Row 4
#define SK_AMPR KC_NUBS // &
#define SK_Y KC_Z // Y
#define SK_X KC_X // X
@@ -85,21 +76,6 @@
#define SK_COMM KC_COMM // ,
#define SK_DOT KC_DOT // .
#define SK_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ) │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ * │ │ │ │ │ │ │ │ ? │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define SK_RNGA S(SK_SCLN) // ° (dead)
#define SK_1 S(SK_PLUS) // 1
#define SK_2 S(SK_LCAR) // 2
@@ -113,33 +89,15 @@
#define SK_0 S(SK_EACU) // 0
#define SK_PERC S(SK_EQL) // %
#define SK_CARN S(SK_ACUT) // ˇ (dead)
-// Row 2
#define SK_SLSH S(SK_UACU) // /
#define SK_LPRN S(SK_ADIA) // (
-// Row 3
#define SK_DQUO S(SK_OCIR) // "
#define SK_EXLM S(SK_SECT) // !
#define SK_RPRN S(SK_NCAR) // )
-// Row 4
#define SK_ASTR S(SK_AMPR) // *
#define SK_QUES S(SK_COMM) // ?
#define SK_COLN S(SK_DOT) // :
#define SK_UNDS S(SK_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ~ │ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ │ ˝ │ ¨ │ ¸ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ \ │ | │ € │ │ │ │ │ │ │ ' │ ÷ │ × │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ > │ # │ │ @ │ { │ } │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define SK_TILD ALGR(SK_PLUS) // ~
#define SK_CIRC ALGR(SK_SCAR) // ^ (dead)
#define SK_BREV ALGR(SK_CCAR) // ˘ (dead)
@@ -149,14 +107,12 @@
#define SK_DACU ALGR(SK_EACU) // ˝ (dead)
#define SK_DIAE ALGR(SK_EQL) // ¨ (dead)
#define SK_CEDL ALGR(SK_ACUT) // ¸ (dead)
-// Row 2
#define SK_BSLS ALGR(SK_Q) // (backslash)
#define SK_PIPE ALGR(SK_W) // |
#define SK_EURO ALGR(SK_E) // €
#define SK_QUOT ALGR(SK_P) // '
#define SK_DIV ALGR(SK_UACU) // ÷
#define SK_MUL ALGR(SK_ADIA) // ×
-// Row 3
#define SK_LDST ALGR(SK_S) // đ
#define SK_CDST ALGR(SK_D) // Đ
#define SK_LBRC ALGR(SK_F) // [
@@ -166,7 +122,6 @@
#define SK_DLR ALGR(SK_OCIR) // $
#define SK_SS ALGR(SK_SECT) // ß
#define SK_CURR ALGR(SK_NCAR) // ¤
-// Row 4
#define SK_LABK ALGR(SK_AMPR) // <
#define SK_RABK ALGR(SK_Y) // >
#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 @@
-/* Copyright 2018 Žan Pevec
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define SI_CEDL KC_GRV // ¸ (dead)
#define SI_1 KC_1 // 1
#define SI_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define SI_0 KC_0 // 0
#define SI_QUOT KC_MINS // '
#define SI_PLUS KC_EQL // +
-// Row 2
#define SI_Q KC_Q // Q
#define SI_W KC_W // W
#define SI_E KC_E // E
@@ -60,7 +53,6 @@
#define SI_P KC_P // P
#define SI_SCAR KC_LBRC // Š
#define SI_DSTR KC_RBRC // Đ
-// Row 3
#define SI_A KC_A // A
#define SI_S KC_S // S
#define SI_D KC_D // D
@@ -73,7 +65,6 @@
#define SI_CCAR KC_SCLN // Č
#define SI_CACU KC_QUOT // Ć
#define SI_ZCAR KC_NUHS // Ž
-// Row 4
#define SI_LABK KC_NUBS // <
#define SI_Y KC_Z // Y
#define SI_X KC_X // X
@@ -85,21 +76,6 @@
#define SI_COMM KC_COMM // ,
#define SI_DOT KC_DOT // .
#define SI_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define SI_DIAE S(SI_CEDL) // ¨ (dead)
#define SI_EXLM S(SI_1) // !
#define SI_DQUO S(SI_2) // "
@@ -113,26 +89,10 @@
#define SI_EQL S(SI_0) // =
#define SI_QUES S(SI_QUOT) // ?
#define SI_ASTR S(SI_PLUS) // *
-// Row 4
#define SI_RABK S(SI_LABK) // >
#define SI_SCLN S(SI_COMM) // ;
#define SI_COLN S(SI_DOT) // :
#define SI_UNDS S(SI_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define SI_TILD ALGR(SI_1) // ~
#define SI_CARN ALGR(SI_2) // ˇ (dead)
#define SI_CIRC ALGR(SI_3) // ^ (dead)
@@ -143,20 +103,17 @@
#define SI_DOTA ALGR(SI_8) // ˙ (dead)
#define SI_ACUT ALGR(SI_9) // ´ (dead)
#define SI_DACU ALGR(SI_0) // ˝ (dead)
-// Row 2
#define SI_BSLS ALGR(SI_Q) // (backslash)
#define SI_PIPE ALGR(SI_W) // |
#define SI_EURO ALGR(SI_E) // €
#define SI_DIV ALGR(SI_SCAR) // ÷
#define SI_MUL ALGR(SI_DSTR) // ×
-// Row 3
#define SI_LBRC ALGR(SI_F) // [
#define SI_RBRC ALGR(SI_G) // ]
#define SI_LLST ALGR(SI_K) // ł
#define SI_CLST ALGR(SI_L) // Ł
#define SI_SS ALGR(SI_CACU) // ß
#define SI_CURR ALGR(SI_ZCAR) // ¤
-// Row 4
#define SI_AT ALGR(SI_V) // @
#define SI_LCBR ALGR(SI_B) // {
#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 @@
-/* Copyright 2015-2016 Jack Humbert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ` │ + │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ñ │ ´ │ Ç │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define ES_MORD KC_GRV // º
#define ES_1 KC_1 // 1
#define ES_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define ES_0 KC_0 // 0
#define ES_QUOT KC_MINS // '
#define ES_IEXL KC_EQL // ¡
-// Row 2
#define ES_Q KC_Q // Q
#define ES_W KC_W // W
#define ES_E KC_E // E
@@ -60,7 +53,6 @@
#define ES_P KC_P // P
#define ES_GRV KC_LBRC // ` (dead)
#define ES_PLUS KC_RBRC // +
-// Row 3
#define ES_A KC_A // A
#define ES_S KC_S // S
#define ES_D KC_D // D
@@ -73,7 +65,6 @@
#define ES_NTIL KC_SCLN // Ñ
#define ES_ACUT KC_QUOT // ´ (dead)
#define ES_CCED KC_NUHS // Ç
-// Row 4
#define ES_LABK KC_NUBS // <
#define ES_Z KC_Z // Z
#define ES_X KC_X // X
@@ -85,21 +76,6 @@
#define ES_COMM KC_COMM // ,
#define ES_DOT KC_DOT // .
#define ES_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define ES_FORD S(ES_MORD) // ª
#define ES_EXLM S(ES_1) // !
#define ES_DQUO S(ES_2) // "
@@ -113,31 +89,13 @@
#define ES_EQL S(ES_0) // =
#define ES_QUES S(ES_QUOT) // ?
#define ES_IQUE S(ES_IEXL) // ¿
-// Row 2
#define ES_CIRC S(ES_GRV) // ^ (dead)
#define ES_ASTR S(ES_PLUS) // *
-// Row 3
#define ES_DIAE S(ES_ACUT) // ¨ (dead)
-// Row 4
#define ES_RABK S(ES_LABK) // >
#define ES_SCLN S(KC_COMM) // ;
#define ES_COLN S(KC_DOT) // :
#define ES_UNDS S(ES_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define ES_BSLS ALGR(ES_MORD) // (backslash)
#define ES_PIPE ALGR(ES_1) // |
#define ES_AT ALGR(ES_2) // @
@@ -145,9 +103,7 @@
#define ES_TILD ALGR(ES_4) // ~
#define ES_EURO ALGR(ES_5) // €
#define ES_NOT ALGR(ES_6) // ¬
-// Row 2
#define ES_LBRC ALGR(ES_GRV) // [
#define ES_RBRC ALGR(ES_PLUS) // ]
-// Row 3
#define ES_LCBR ALGR(ES_ACUT) // {
#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 @@
-/* Copyright 2020 José Andrés García
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ . │ , │ Ñ │ P │ Y │ F │ G │ C │ H │ L │ ` │ + │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ O │ E │ U │ I │ D │ R │ T │ N │ S │ ´ │ Ç │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ - │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define DV_MORD KC_GRV // º
#define DV_1 KC_1 // 1
#define DV_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define DV_0 KC_0 // 0
#define DV_QUOT KC_MINS // '
#define DV_IEXL KC_EQL // ¡
-// Row 2
#define DV_DOT KC_Q // .
#define DV_COMM KC_W // ,
#define DV_NTIL KC_E // Ñ
@@ -60,7 +53,6 @@
#define DV_L KC_P // L
#define DV_GRV KC_LBRC // ` (dead)
#define DV_PLUS KC_RBRC // +
-// Row 3
#define DV_A KC_A // A
#define DV_O KC_S // O
#define DV_E KC_D // E
@@ -73,7 +65,6 @@
#define DV_S KC_SCLN // S
#define DV_ACUT KC_QUOT // ´ (dead)
#define DV_CCED KC_NUHS // Ç
-// Row 4
#define DV_LABK KC_NUBS // <
#define DV_MINS KC_Z // -
#define DV_Q KC_X // Q
@@ -85,21 +76,6 @@
#define DV_W KC_COMM // W
#define DV_V KC_DOT // V
#define DV_Z KC_SLSH // Z
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ : │ ; │ │ │ │ │ │ │ │ │ ^ │ * │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ _ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DV_FORD S(DV_MORD) // ª
#define DV_EXLM S(DV_1) // !
#define DV_DQUO S(DV_2) // "
@@ -113,31 +89,13 @@
#define DV_EQL S(DV_0) // =
#define DV_QUES S(DV_QUOT) // ?
#define DV_IQUE S(DV_IEXL) // ¿
-// Row 2
#define DV_COLN S(DV_DOT) // :
#define DV_SCLN S(DV_COMM) // ;
#define DV_CIRC S(DV_GRV) // ^ (dead)
#define DV_ASTR S(DV_PLUS) // *
-// Row 3
#define DV_DIAE S(DV_ACUT) // ¨ (dead)
-// Row 4
#define DV_RABK S(DV_LABK) // >
#define DV_UNDS S(DV_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define DV_BSLS ALGR(DV_MORD) // (backslash)
#define DV_PIPE ALGR(DV_1) // |
#define DV_AT ALGR(DV_2) // @
@@ -145,9 +103,7 @@
#define DV_TILD ALGR(DV_4) // ~
#define DV_EURO ALGR(DV_5) // €
#define DV_NOT ALGR(DV_6) // ¬
-// Row 2
#define DV_LBRC ALGR(DV_GRV) // [
#define DV_RBRC ALGR(DV_PLUS) // ]
-// Row 3
#define DV_LCBR ALGR(DV_ACUT) // {
#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 @@
-/* Copyright 2017 Joseph Wasson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
+// clang-format off
-// List of keycodes for the steno keyboard. To prevent
-// errors, this must be <= 42 total entries in order to
-// support the GeminiPR protocol.
-enum steno_keycodes {
- STN__MIN = QK_STENO,
- STN_FN = STN__MIN,
- STN_NUM,
- STN_N1 = STN_NUM,
- STN_N2,
- STN_N3,
- STN_N4,
- STN_N5,
- STN_N6,
- STN_SL,
- STN_S1 = STN_SL,
- STN_S2,
- STN_TL,
- STN_KL,
- STN_PL,
- STN_WL,
- STN_HL,
- STN_RL,
- STN_A,
- STN_O,
- STN_STR,
- STN_ST1 = STN_STR,
- STN_ST2,
- STN_RES1,
- STN_RE1 = STN_RES1,
- STN_RES2,
- STN_RE2 = STN_RES2,
- STN_PWR,
- STN_ST3,
- STN_ST4,
- STN_E,
- STN_U,
- STN_FR,
- STN_RR,
- STN_PR,
- STN_BR,
- STN_LR,
- STN_GR,
- STN_TR,
- STN_SR,
- STN_DR,
- STN_N7,
- STN_N8,
- STN_N9,
- STN_NA,
- STN_NB,
- STN_NC,
- STN_ZR,
- STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT
-};
-
-#ifdef STENO_COMBINEDMAP
-enum steno_combined_keycodes {
- STN_S3 = QK_STENO_COMB,
- STN_TKL,
- STN_PWL,
- STN_HRL,
- STN_FRR,
- STN_PBR,
- STN_LGR,
- STN_TSR,
- STN_DZR,
- STN_AO,
- STN_EU,
- STN_COMB_MAX = STN_EU,
-};
-#endif
-
-#ifdef STENO_ENABLE_BOLT
-// TxBolt Codes
-# define TXB_NUL 0
-# define TXB_S_L 0b00000001
-# define TXB_T_L 0b00000010
-# define TXB_K_L 0b00000100
-# define TXB_P_L 0b00001000
-# define TXB_W_L 0b00010000
-# define TXB_H_L 0b00100000
-# define TXB_R_L 0b01000001
-# define TXB_A_L 0b01000010
-# define TXB_O_L 0b01000100
-# define TXB_STR 0b01001000
-# define TXB_E_R 0b01010000
-# define TXB_U_R 0b01100000
-# define TXB_F_R 0b10000001
-# define TXB_R_R 0b10000010
-# define TXB_P_R 0b10000100
-# define TXB_B_R 0b10001000
-# define TXB_L_R 0b10010000
-# define TXB_G_R 0b10100000
-# define TXB_T_R 0b11000001
-# define TXB_S_R 0b11000010
-# define TXB_D_R 0b11000100
-# define TXB_Z_R 0b11001000
-# define TXB_NUM 0b11010000
-#endif // STENO_ENABLE_BOLT
+// Aliases
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 @@
-/* Copyright 2017 Andreas Lindhé
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define SE_SECT KC_GRV // §
#define SE_1 KC_1 // 1
#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define SE_0 KC_0 // 0
#define SE_PLUS KC_MINS // +
#define SE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define SE_Q KC_Q // Q
#define SE_W KC_W // W
#define SE_E KC_E // E
@@ -60,7 +53,6 @@
#define SE_P KC_P // P
#define SE_ARNG KC_LBRC // Å
#define SE_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define SE_A KC_A // A
#define SE_S KC_S // S
#define SE_D KC_D // D
@@ -73,7 +65,6 @@
#define SE_ODIA KC_SCLN // Ö
#define SE_ADIA KC_QUOT // Ä
#define SE_QUOT KC_NUHS // '
-// Row 4
#define SE_LABK KC_NUBS // <
#define SE_Z KC_Z // Z
#define SE_X KC_X // X
@@ -85,21 +76,6 @@
#define SE_COMM KC_COMM // ,
#define SE_DOT KC_DOT // .
#define SE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define SE_HALF S(SE_SECT) // ½
#define SE_EXLM S(SE_1) // !
#define SE_DQUO S(SE_2) // "
@@ -113,30 +89,12 @@
#define SE_EQL S(SE_0) // =
#define SE_QUES S(SE_PLUS) // ?
#define SE_GRV S(SE_ACUT) // ` (dead)
-// Row 2
#define SE_CIRC S(SE_DIAE) // ^ (dead)
-// Row 3
#define SE_ASTR S(SE_QUOT) // *
-// Row 4
#define SE_RABK S(SE_LABK) // >
#define SE_SCLN S(SE_COMM) // ;
#define SE_COLN S(SE_DOT) // :
#define SE_UNDS S(SE_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define SE_AT ALGR(SE_2) // @
#define SE_PND ALGR(SE_3) // £
#define SE_DLR ALGR(SE_4) // $
@@ -146,11 +104,6 @@
#define SE_RBRC ALGR(SE_9) // ]
#define SE_RCBR ALGR(SE_0) // }
#define SE_BSLS ALGR(SE_PLUS) // (backslash)
-// Row 2
#define SE_TILD ALGR(SE_DIAE) // ~ (dead)
-// Row 4
#define SE_PIPE ALGR(SE_LABK) // |
#define SE_MICR ALGR(SE_M) // µ
-
-// DEPRECATED
-#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 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define SE_LABK KC_GRV // <
#define SE_1 KC_1 // 1
#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define SE_0 KC_0 // 0
#define SE_PLUS KC_MINS // +
#define SE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define SE_Q KC_Q // Q
#define SE_W KC_W // W
#define SE_E KC_E // E
@@ -61,7 +54,6 @@
#define SE_ARNG KC_LBRC // Å
#define SE_DIAE KC_RBRC // ¨ (dead)
#define SE_QUOT KC_NUHS // '
-// Row 3
#define SE_A KC_A // A
#define SE_S KC_S // S
#define SE_D KC_D // D
@@ -73,7 +65,6 @@
#define SE_L KC_L // L
#define SE_ODIA KC_SCLN // Ö
#define SE_ADIA KC_QUOT // Ä
-// Row 4
#define SE_Z KC_Z // Z
#define SE_X KC_X // X
#define SE_C KC_C // C
@@ -84,21 +75,6 @@
#define SE_COMM KC_COMM // ,
#define SE_DOT KC_DOT // .
#define SE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define SE_RABK S(SE_LABK) // >
#define SE_EXLM S(SE_1) // !
#define SE_DQUO S(SE_2) // "
@@ -112,29 +88,11 @@
#define SE_EQL S(SE_0) // =
#define SE_QUES S(SE_PLUS) // ?
#define SE_GRV S(SE_ACUT) // `
-// Row 2
#define SE_CIRC S(SE_DIAE) // ^ (dead)
#define SE_ASTR S(SE_QUOT) // *
-// Row 4
#define SE_SCLN S(SE_COMM) // ;
#define SE_COLN S(SE_DOT) // :
#define SE_UNDS S(SE_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ≤ │ © │ ™ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ @ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- *
- */
-// Row 1
#define SE_LTEQ A(SE_LABK) // ≤
#define SE_COPY A(SE_1) // ©
#define SE_TM A(SE_2) // ™
@@ -147,7 +105,6 @@
#define SE_RBRC A(SE_9) // ]
#define SE_AEQL A(SE_0) // ≈
#define SE_PLMN A(SE_PLUS) // ±
-// Row 2
#define SE_BULT A(SE_Q) // •
#define SE_OMEG A(SE_W) // Ω
#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
#define SE_DOTA A(SE_ARNG) // ˙
#define SE_TILD A(SE_DIAE) // ~ (dead)
#define SE_AT A(SE_QUOT) // @
-// Row 3
#define SE_APPL A(SE_A) //  (Apple logo)
#define SE_SS A(SE_S) // ß
#define SE_PDIF A(SE_D) // ∂
@@ -173,7 +129,6 @@
#define SE_FI A(SE_L) // fi
#define SE_OSTR A(SE_ODIA) // Ø
#define SE_AE A(SE_ADIA) // Æ
-// Row 4
#define SE_DIV A(SE_Z) // ÷
#define SE_CCED A(SE_C) // Ç
#define SE_LSAQ A(SE_V) // ‹
@@ -183,22 +138,6 @@
#define SE_SLQU A(SE_COMM) // ‚
#define SE_ELLP A(SE_DOT) // …
#define SE_NDSH A(SE_MINS) // –
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- *
- */
-// Row 1
#define SE_GTEQ S(A(SE_LABK)) // ≥
#define SE_IEXL S(A(SE_1)) // ¡
#define SE_YEN S(A(SE_3)) // ¥
@@ -210,7 +149,6 @@
#define SE_RCBR S(A(SE_9)) // }
#define SE_NEQL S(A(SE_0)) // ≠
#define SE_IQUE S(A(SE_PLUS)) // ¿
-// Row 2
#define SE_DEG S(A(SE_Q)) // °
#define SE_DACU S(A(SE_W)) // ˝
#define SE_DDAG S(A(SE_T)) // ‡
@@ -218,7 +156,6 @@
#define SE_DCIR S(A(SE_I)) // ˆ
#define SE_NARP S(A(SE_P)) // ∏
#define SE_RNGA S(A(SE_ARNG)) // ˚
-// Row 3
#define SE_LOZN S(A(SE_A)) // ◊
#define SE_NARS S(A(SE_S)) // ∑
#define SE_INCR S(A(SE_D)) // ∆
@@ -228,7 +165,6 @@
#define SE_NOT S(A(SE_J)) // ¬
#define SE_MORD S(A(SE_K)) // º
#define SE_FL S(A(SE_L)) // fl
-// Row 4
#define SE_FRSL S(A(SE_Z)) // ⁄
#define SE_CARN S(A(SE_X)) // ˇ
#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 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define SE_SECT KC_GRV // §
#define SE_1 KC_1 // 1
#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define SE_0 KC_0 // 0
#define SE_PLUS KC_MINS // +
#define SE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define SE_Q KC_Q // Q
#define SE_W KC_W // W
#define SE_E KC_E // E
@@ -60,7 +53,6 @@
#define SE_P KC_P // P
#define SE_ARNG KC_LBRC // Å
#define SE_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define SE_A KC_A // A
#define SE_S KC_S // S
#define SE_D KC_D // D
@@ -73,7 +65,6 @@
#define SE_ODIA KC_SCLN // Ö
#define SE_ADIA KC_QUOT // Ä
#define SE_QUOT KC_NUHS // '
-// Row 4
#define SE_LABK KC_NUBS // <
#define SE_Z KC_Z // Z
#define SE_X KC_X // X
@@ -85,22 +76,7 @@
#define SE_COMM KC_COMM // ,
#define SE_DOT KC_DOT // .
#define SE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
-#define SE_DEG S(SE_SECT) // °
+#define SE_DEG S(SE_SECT) // °
#define SE_EXLM S(SE_1) // !
#define SE_DQUO S(SE_2) // "
#define SE_HASH S(SE_3) // #
@@ -113,30 +89,12 @@
#define SE_EQL S(SE_0) // =
#define SE_QUES S(SE_PLUS) // ?
#define SE_GRV S(SE_ACUT) // `
-// Row 2
#define SE_CIRC S(SE_DIAE) // ^ (dead)
-// Row 3
#define SE_ASTR S(SE_QUOT) // *
-// Row 4
#define SE_RABK S(SE_LABK) // >
#define SE_SCLN S(SE_COMM) // ;
#define SE_COLN S(SE_DOT) // :
#define SE_UNDS S(SE_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ¶ │ © │ ™ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ @ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define SE_PILC A(SE_SECT) // ¶
#define SE_COPY A(SE_1) // ©
#define SE_TM A(SE_2) // ™
@@ -148,7 +106,6 @@
#define SE_RBRC A(SE_9) // ]
#define SE_AEQL A(SE_0) // ≈
#define SE_PLMN A(SE_PLUS) // ±
-// Row 2
#define SE_BULT A(SE_Q) // •
#define SE_OMEG A(SE_W) // Ω
#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
#define SE_PI A(SE_P) // π
#define SE_DOTA A(SE_ARNG) // ˙
#define SE_TILD A(SE_DIAE) // ~ (dead)
-// Row 3
#define SE_APPL A(SE_A) //  (Apple logo)
#define SE_SS A(SE_S) // ß
#define SE_PDIF A(SE_D) // ∂
@@ -174,7 +130,6 @@
#define SE_OSTR A(SE_ODIA) // Ø
#define SE_AE A(SE_ADIA) // Æ
#define SE_AT A(SE_QUOT) // @
-// Row 4
#define SE_LTEQ A(SE_LABK) // ≤
#define SE_DIV A(SE_Z) // ÷
#define SE_CCED A(SE_C) // Ç
@@ -185,21 +140,6 @@
#define SE_SLQU A(SE_COMM) // ‚
#define SE_ELLP A(SE_DOT) // …
#define SE_NDSH A(SE_MINS) // –
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define SE_IEXL S(A(SE_1)) // ¡
#define SE_YEN S(A(SE_3)) // ¥
#define SE_CENT S(A(SE_4)) // ¢
@@ -209,14 +149,12 @@
#define SE_RCBR S(A(SE_9)) // }
#define SE_NEQL S(A(SE_0)) // ≠
#define SE_IQUE S(A(SE_PLUS)) // ¿
-// Row 2
#define SE_DACU S(A(SE_W)) // ˝
#define SE_DDAG S(A(SE_T)) // ‡
#define SE_STIL S(A(SE_Y)) // ˜
#define SE_DCIR S(A(SE_I)) // ˆ
#define SE_NARP S(A(SE_P)) // ∏
#define SE_RNGA S(A(SE_ARNG)) // ˚
-// Row 3
#define SE_LOZN S(A(SE_A)) // ◊
#define SE_NARS S(A(SE_S)) // ∑
#define SE_INCR S(A(SE_D)) // ∆
@@ -226,7 +164,6 @@
#define SE_NOT S(A(SE_J)) // ¬
#define SE_MORD S(A(SE_K)) // º
#define SE_FL S(A(SE_L)) // fl
-// Row 4
#define SE_GTEQ S(A(SE_LABK)) // ≥
#define SE_FRSL S(A(SE_Z)) // ⁄
#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 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ ' │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define SE_LABK KC_GRV // <
#define SE_1 KC_1 // 1
#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define SE_0 KC_0 // 0
#define SE_PLUS KC_MINS // +
#define SE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define SE_Q KC_Q // Q
#define SE_W KC_W // W
#define SE_E KC_E // E
@@ -61,7 +54,6 @@
#define SE_ARNG KC_LBRC // Å
#define SE_DIAE KC_RBRC // ¨ (dead)
#define SE_QUOT KC_NUHS // '
-// Row 3
#define SE_A KC_A // A
#define SE_S KC_S // S
#define SE_D KC_D // D
@@ -73,7 +65,6 @@
#define SE_L KC_L // L
#define SE_ODIA KC_SCLN // Ö
#define SE_ADIA KC_QUOT // Ä
-// Row 4
#define SE_Z KC_Z // Z
#define SE_X KC_X // X
#define SE_C KC_C // C
@@ -84,21 +75,6 @@
#define SE_COMM KC_COMM // ,
#define SE_DOT KC_DOT // .
#define SE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ > │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ * │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define SE_RABK S(SE_LABK) // >
#define SE_EXLM S(SE_1) // !
#define SE_DQUO S(SE_2) // "
@@ -112,29 +88,11 @@
#define SE_EQL S(SE_0) // =
#define SE_QUES S(SE_PLUS) // ?
#define SE_GRV S(SE_ACUT) // `
-// Row 2
#define SE_CIRC S(SE_DIAE) // ^ (dead)
#define SE_ASTR S(SE_QUOT) // *
-// Row 4
#define SE_SCLN S(SE_COMM) // ;
#define SE_COLN S(SE_DOT) // :
#define SE_UNDS S(SE_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ≤ │ © │ @ │ £ │ $ │ ∞ │ § │ | │ [ │ ] │ ≈ │ ± │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ ™ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- *
- */
-// Row 1
#define SE_LTEQ A(SE_LABK) // ≤
#define SE_COPY A(SE_1) // ©
#define SE_AT A(SE_2) // @
@@ -147,7 +105,6 @@
#define SE_RBRC A(SE_9) // ]
#define SE_AEQL A(SE_0) // ≈
#define SE_PLMN A(SE_PLUS) // ±
-// Row 2
#define SE_BULT A(SE_Q) // •
#define SE_OMEG A(SE_W) // Ω
#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
#define SE_DOTA A(SE_ARNG) // ˙
#define SE_TILD A(SE_DIAE) // ~ (dead)
#define SE_TM A(SE_QUOT) // ™
-// Row 3
#define SE_APPL A(SE_A) //  (Apple logo)
#define SE_SS A(SE_S) // ß
#define SE_PDIF A(SE_D) // ∂
@@ -173,7 +129,6 @@
#define SE_FI A(SE_L) // fi
#define SE_OSTR A(SE_ODIA) // Ø
#define SE_AE A(SE_ADIA) // Æ
-// Row 4
#define SE_DIV A(SE_Z) // ÷
#define SE_CCED A(SE_C) // Ç
#define SE_LSAQ A(SE_V) // ‹
@@ -183,22 +138,6 @@
#define SE_SLQU A(SE_COMM) // ‚
#define SE_ELLP A(SE_DOT) // …
#define SE_NDSH A(SE_MINS) // –
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ≥ │ ¡ │ │ ¥ │ ¢ │ ‰ │ ¶ │ \ │ { │ } │ ≠ │ ¿ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ ° │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
- * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
- * │ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
- * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- *
- */
-// Row 1
#define SE_GTEQ S(A(SE_LABK)) // ≥
#define SE_IEXL S(A(SE_1)) // ¡
#define SE_YEN S(A(SE_3)) // ¥
@@ -210,7 +149,6 @@
#define SE_RCBR S(A(SE_9)) // }
#define SE_NEQL S(A(SE_0)) // ≠
#define SE_IQUE S(A(SE_PLUS)) // ¿
-// Row 2
#define SE_DEG S(A(SE_Q)) // °
#define SE_DACU S(A(SE_W)) // ˝
#define SE_DDAG S(A(SE_T)) // ‡
@@ -218,7 +156,6 @@
#define SE_DCIR S(A(SE_I)) // ˆ
#define SE_NARP S(A(SE_P)) // ∏
#define SE_RNGA S(A(SE_ARNG)) // ˚
-// Row 3
#define SE_LOZN S(A(SE_A)) // ◊
#define SE_NARS S(A(SE_S)) // ∑
#define SE_INCR S(A(SE_D)) // ∆
@@ -228,7 +165,6 @@
#define SE_NOT S(A(SE_J)) // ¬
#define SE_MORD S(A(SE_K)) // º
#define SE_FL S(A(SE_L)) // fl
-// Row 4
#define SE_FRSL S(A(SE_Z)) // ⁄
#define SE_CARN S(A(SE_X)) // ˇ
#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 @@
-/* Copyright 2021
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
+// Aliases
#define SE_SECT KC_GRV // §
#define SE_1 KC_1 // 1
#define SE_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define SE_0 KC_0 // 0
#define SE_PLUS KC_MINS // +
#define SE_ACUT KC_EQL // ´ (dead)
-// Row 2
#define SE_Q KC_Q // Q
#define SE_W KC_W // W
#define SE_E KC_E // E
@@ -60,7 +53,6 @@
#define SE_P KC_P // P
#define SE_ARNG KC_LBRC // Å
#define SE_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define SE_A KC_A // A
#define SE_S KC_S // S
#define SE_D KC_D // D
@@ -73,7 +65,6 @@
#define SE_ODIA KC_SCLN // Ö
#define SE_ADIA KC_QUOT // Ä
#define SE_QUOT KC_NUHS // '
-// Row 4
#define SE_LABK KC_NUBS // <
#define SE_Z KC_Z // Z
#define SE_X KC_X // X
@@ -85,22 +76,7 @@
#define SE_COMM KC_COMM // ,
#define SE_DOT KC_DOT // .
#define SE_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ° │ ! │ " │ # │ € │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
-#define SE_DEG S(SE_SECT) // °
+#define SE_DEG S(SE_SECT) // °
#define SE_EXLM S(SE_1) // !
#define SE_DQUO S(SE_2) // "
#define SE_HASH S(SE_3) // #
@@ -113,30 +89,12 @@
#define SE_EQL S(SE_0) // =
#define SE_QUES S(SE_PLUS) // ?
#define SE_GRV S(SE_ACUT) // `
-// Row 2
#define SE_CIRC S(SE_DIAE) // ^ (dead)
-// Row 3
#define SE_ASTR S(SE_QUOT) // *
-// Row 4
#define SE_RABK S(SE_LABK) // >
#define SE_SCLN S(SE_COMM) // ;
#define SE_COLN S(SE_DOT) // :
#define SE_UNDS S(SE_MINS) // _
-
-/* Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ ¶ │ © │ @ │ £ │ $ │ ∞ │ │ | │ [ │ ] │ ≈ │ ± │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ • │ Ω │ É │ ® │ † │ µ │ Ü │ ı │ Œ │ π │ ˙ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │  │ ß │ ∂ │ ƒ │ ¸ │ ˛ │ √ │ ª │ fi │ Ø │ Æ │ ™ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≤ │ ÷ │ │ Ç │ ‹ │ › │ ‘ │ ’ │ ‚ │ … │ – │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define SE_PILC A(SE_SECT) // ¶
#define SE_COPY A(SE_1) // ©
#define SE_AT A(SE_2) // @
@@ -148,7 +106,6 @@
#define SE_RBRC A(SE_9) // ]
#define SE_AEQL A(SE_0) // ≈
#define SE_PLMN A(SE_PLUS) // ±
-// Row 2
#define SE_BULT A(SE_Q) // •
#define SE_OMEG A(SE_W) // Ω
#define SE_EACU A(SE_E) // É
@@ -161,7 +118,6 @@
#define SE_PI A(SE_P) // π
#define SE_DOTA A(SE_ARNG) // ˙
#define SE_TILD A(SE_DIAE) // ~ (dead)
-// Row 3
#define SE_APPL A(SE_A) //  (Apple logo)
#define SE_SS A(SE_S) // ß
#define SE_PDIF A(SE_D) // ∂
@@ -174,7 +130,6 @@
#define SE_OSTR A(SE_ODIA) // Ø
#define SE_AE A(SE_ADIA) // Æ
#define SE_TM A(SE_QUOT) // ™
-// Row 4
#define SE_LTEQ A(SE_LABK) // ≤
#define SE_DIV A(SE_Z) // ÷
#define SE_CCED A(SE_C) // Ç
@@ -185,21 +140,6 @@
#define SE_SLQU A(SE_COMM) // ‚
#define SE_ELLP A(SE_DOT) // …
#define SE_NDSH A(SE_MINS) // –
-
-/* Shift+Alted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
- * │ │ ¡ │ ” │ ¥ │ ¢ │ ‰ │ │ \ │ { │ } │ ≠ │ ¿ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
- * │ │ │ ˝ │ │ │ ‡ │ ˜ │ │ ˆ │ │ ∏ │ ˚ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ ◊ │ ∑ │ ∆ │ ∫ │ ¯ │ ˘ │ ¬ │ º │ fl │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
- * │ │ ≥ │ ⁄ │ ˇ │ │ « │ » │ “ │ ” │ „ │ · │ — │ │
- * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
- * │ │ │ │ │ │ │ │
- * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
- */
-// Row 1
#define SE_IEXL S(A(SE_1)) // ¡
#define SE_YEN S(A(SE_3)) // ¥
#define SE_CENT S(A(SE_4)) // ¢
@@ -209,14 +149,12 @@
#define SE_RCBR S(A(SE_9)) // }
#define SE_NEQL S(A(SE_0)) // ≠
#define SE_IQUE S(A(SE_PLUS)) // ¿
-// Row 2
#define SE_DACU S(A(SE_W)) // ˝
#define SE_DDAG S(A(SE_T)) // ‡
#define SE_STIL S(A(SE_Y)) // ˜
#define SE_DCIR S(A(SE_I)) // ˆ
#define SE_NARP S(A(SE_P)) // ∏
#define SE_RNGA S(A(SE_ARNG)) // ˚
-// Row 3
#define SE_LOZN S(A(SE_A)) // ◊
#define SE_NARS S(A(SE_S)) // ∑
#define SE_INCR S(A(SE_D)) // ∆
@@ -226,7 +164,6 @@
#define SE_NOT S(A(SE_J)) // ¬
#define SE_MORD S(A(SE_K)) // º
#define SE_FL S(A(SE_L)) // fl
-// Row 4
#define SE_GTEQ S(A(SE_LABK)) // ≥
#define SE_FRSL S(A(SE_Z)) // ⁄
#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 @@
-/* Copyright 2016 heartsekai
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-#ifdef CH_H
-// The ChibiOS ch.h file defines this...
-# undef CH_H
-#endif
-
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ü │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ö │ ä │ $ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define CH_SECT KC_GRV // §
#define CH_1 KC_1 // 1
#define CH_2 KC_2 // 2
@@ -52,7 +41,6 @@
#define CH_0 KC_0 // 0
#define CH_QUOT KC_MINS // '
#define CH_CIRC KC_EQL // ^ (dead)
-// Row 2
#define CH_Q KC_Q // Q
#define CH_W KC_W // W
#define CH_E KC_E // E
@@ -65,7 +53,6 @@
#define CH_P KC_P // P
#define CH_UDIA KC_LBRC // ü
#define CH_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define CH_A KC_A // A
#define CH_S KC_S // S
#define CH_D KC_D // D
@@ -78,7 +65,6 @@
#define CH_ODIA KC_SCLN // ö
#define CH_ADIA KC_QUOT // ä
#define CH_DLR KC_NUHS // $
-// Row 4
#define CH_LABK KC_NUBS // <
#define CH_Y KC_Z // Y
#define CH_X KC_X // X
@@ -90,21 +76,6 @@
#define CH_COMM KC_COMM // ,
#define CH_DOT KC_DOT // .
#define CH_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ è │ ! │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ é │ à │ £ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CH_DEG S(CH_SECT) // °
#define CH_PLUS S(CH_1) // +
#define CH_DQUO S(CH_2) // "
@@ -118,33 +89,15 @@
#define CH_EQL S(CH_0) // =
#define CH_QUES S(CH_QUOT) // ?
#define CH_GRV S(CH_CIRC) // ` (dead)
-// Row 2
#define CH_EGRV S(CH_UDIA) // è
#define CH_EXLM S(CH_DIAE) // !
-// Row 3
#define CH_EACU S(CH_ODIA) // é
#define CH_AGRV S(CH_ADIA) // à
#define CH_PND S(CH_DLR) // £
-// Row 4
#define CH_RABK S(CH_LABK) // >
#define CH_SCLN S(CH_COMM) // ;
#define CH_COLN S(CH_DOT) // :
#define CH_UNDS S(CH_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CH_BRKP ALGR(CH_1) // ¦
#define CH_AT ALGR(CH_2) // @
#define CH_HASH ALGR(CH_3) // #
@@ -153,12 +106,9 @@
#define CH_CENT ALGR(CH_8) // ¢
#define CH_ACUT ALGR(CH_QUOT) // ´ (dead)
#define CH_TILD ALGR(CH_CIRC) // ~ (dead)
-// Row 2
#define CH_EURO ALGR(CH_E) // €
#define CH_LBRC ALGR(CH_UDIA) // [
#define CH_RBRC ALGR(CH_DIAE) // ]
-// Row 3
#define CH_LCBR ALGR(CH_ADIA) // {
#define CH_RCBR ALGR(CH_DLR) // }
-// Row 4
#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 @@
-/* Copyright 2016 Vincent Pochet
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-#ifdef CH_H
-// The ChibiOS ch.h file defines this...
-# undef CH_H
-#endif
-
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ è │ ¨ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ é │ à │ $ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define CH_SECT KC_GRV // §
#define CH_1 KC_1 // 1
#define CH_2 KC_2 // 2
@@ -52,7 +41,6 @@
#define CH_0 KC_0 // 0
#define CH_QUOT KC_MINS // '
#define CH_CIRC KC_EQL // ^ (dead)
-// Row 2
#define CH_Q KC_Q // Q
#define CH_W KC_W // W
#define CH_E KC_E // E
@@ -65,7 +53,6 @@
#define CH_P KC_P // P
#define CH_EGRV KC_LBRC // è
#define CH_DIAE KC_RBRC // ¨ (dead)
-// Row 3
#define CH_A KC_A // A
#define CH_S KC_S // S
#define CH_D KC_D // D
@@ -78,7 +65,6 @@
#define CH_EACU KC_SCLN // é
#define CH_AGRV KC_QUOT // à
#define CH_DLR KC_NUHS // $
-// Row 4
#define CH_LABK KC_NUBS // <
#define CH_Y KC_Z // Y
#define CH_X KC_X // X
@@ -90,21 +76,6 @@
#define CH_COMM KC_COMM // ,
#define CH_DOT KC_DOT // .
#define CH_MINS KC_SLSH // -
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ ü │ ! │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ ö │ ä │ £ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CH_DEG S(CH_SECT) // °
#define CH_PLUS S(CH_1) // +
#define CH_DQUO S(CH_2) // "
@@ -118,33 +89,15 @@
#define CH_EQL S(CH_0) // =
#define CH_QUES S(CH_QUOT) // ?
#define CH_GRV S(CH_CIRC) // ` (dead)
-// Row 2
#define CH_UDIA S(CH_EGRV) // ü
#define CH_EXLM S(CH_DIAE) // !
-// Row 3
#define CH_ODIA S(CH_EACU) // ö
#define CH_ADIA S(CH_AGRV) // ä
#define CH_PND S(CH_DLR) // £
-// Row 4
#define CH_RABK S(CH_LABK) // >
#define CH_SCLN S(CH_COMM) // ;
#define CH_COLN S(CH_DOT) // :
#define CH_UNDS S(CH_MINS) // _
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define CH_BRKP ALGR(CH_1) // ¦
#define CH_AT ALGR(CH_2) // @
#define CH_HASH ALGR(CH_3) // #
@@ -153,12 +106,9 @@
#define CH_CENT ALGR(CH_8) // ¢
#define CH_ACUT ALGR(CH_QUOT) // ´ (dead)
#define CH_TILD ALGR(CH_CIRC) // ~ (dead)
-// Row 2
#define CH_EURO ALGR(CH_E) // €
#define CH_LBRC ALGR(CH_EGRV) // [
#define CH_RBRC ALGR(CH_DIAE) // ]
-// Row 3
#define CH_LCBR ALGR(CH_AGRV) // {
#define CH_RCBR ALGR(CH_DLR) // }
-// Row 4
#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 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ + │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ / │ - │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ F │ G │ Ğ │ I │ O │ D │ R │ N │ H │ P │ Q │ W │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ U │ İ │ E │ A │ Ü │ T │ K │ M │ L │ Y │ Ş │ X │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ J │ Ö │ V │ C │ Ç │ Z │ S │ B │ . │ , │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define TR_PLUS KC_GRV // +
#define TR_1 KC_1 // 1
#define TR_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define TR_0 KC_0 // 0
#define TR_SLSH KC_MINS // /
#define TR_MINS KC_EQL // -
-// Row 2
#define TR_F KC_Q // F
#define TR_G KC_W // G
#define TR_GBRV KC_E // Ğ
@@ -60,7 +53,6 @@
#define TR_P KC_P // P
#define TR_Q KC_LBRC // Q
#define TR_W KC_RBRC // W
-// Row 3
#define TR_U KC_A // U
#define TR_IDOT KC_S // İ
#define TR_E KC_D // E
@@ -73,7 +65,6 @@
#define TR_Y KC_SCLN // Y
#define TR_SCED KC_QUOT // Ş
#define TR_X KC_NUHS // X
-// Row 4
#define TR_LABK KC_NUBS // <
#define TR_J KC_Z // J
#define TR_ODIA KC_X // Ö
@@ -85,21 +76,6 @@
#define TR_B KC_COMM // B
#define TR_DOT KC_DOT // .
#define TR_COMM KC_SLSH // ,
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ * │ ! │ " │ ^ │ $ │ % │ & │ ' │ ( │ ) │ = │ ? │ _ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ │ : │ ; │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define TR_ASTR S(TR_PLUS) // *
#define TR_EXLM S(TR_1) // !
#define TR_DQUO S(TR_2) // "
@@ -113,25 +89,9 @@
#define TR_EQL S(TR_0) // =
#define TR_QUES S(TR_SLSH) // ?
#define TR_UNDS S(TR_MINS) // _
-// Row 4
#define TR_RABK S(TR_LABK) // >
#define TR_COLN S(TR_DOT) // :
#define TR_SCLN S(TR_COMM) // ;
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ¬ │ ¹ │ ² │ # │ ¼ │ ½ │ ¾ │ { │ [ │ ] │ } │ \ │ | │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ @ │ │ │ ¶ │ │ ¥ │ │ │ Ø │ £ │ ¨ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Æ │ ß │ € │ │ │ ₺ │ │ │ │ ´ │ │ ` │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ « │ » │ ¢ │ │ │ │ µ │ × │ ÷ │ - │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define TR_NOT ALGR(TR_PLUS) // ¬
#define TR_SUP1 ALGR(TR_1) // ¹
#define TR_SUP2 ALGR(TR_2) // ²
@@ -145,7 +105,6 @@
#define TR_RCBR ALGR(TR_0) // }
#define TR_BSLS ALGR(TR_SLSH) // (backslash)
#define TR_PIPE ALGR(TR_MINS) // |
-// Row 2
#define TR_AT ALGR(TR_F) // @
#define TR_PILC ALGR(TR_I) // ¶
#define TR_YEN ALGR(TR_D) // ¥
@@ -153,14 +112,12 @@
#define TR_PND ALGR(TR_P) // £
#define TR_DIAE ALGR(TR_Q) // ¨ (dead)
#define TR_TILD ALGR(TR_W) // ~ (dead)
-// Row 3
#define TR_AE ALGR(TR_U) // Æ
#define TR_SS ALGR(TR_IDOT) // ß
#define TR_EURO ALGR(TR_E) // €
#define TR_LIRA ALGR(TR_T) // ₺
#define TR_ACUT ALGR(TR_Y) // ´ (dead)
#define TR_GRV ALGR(TR_X) // ` (dead)
-// Row 4
#define TR_LDAQ ALGR(TR_J) // «
#define TR_RDAQ ALGR(TR_ODIA) // »
#define TR_CENT ALGR(TR_V) // ¢
@@ -168,30 +125,12 @@
#define TR_MUL ALGR(TR_B) // ×
#define TR_DIV ALGR(TR_DOT) // ÷
#define TR_SHYP ALGR(TR_COMM) // ­ (soft hyphen)
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ ³ │ ¤ │ │ │ │ │ │ │ ¿ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ ® │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ § │ │ ª │ │ │ │ │ │ │ │ │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ ¦ │ │ │ © │ │ │ │ º │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define TR_SUP3 S(ALGR(TR_3)) // ³
#define TR_CURR S(ALGR(TR_4)) // ¤
#define TR_IQUE S(ALGR(TR_SLSH)) // ¿
-// Row 2
#define TR_REGD S(ALGR(TR_I)) // ®
-// Row 3
#define TR_SECT S(ALGR(TR_IDOT)) // §
#define TR_FORD S(ALGR(TR_A)) // ª
-// Row 4
#define TR_BRKP S(ALGR(TR_LABK)) // ¦
#define TR_COPY S(ALGR(TR_V)) // ©
#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 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ " │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ * │ - │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ğ │ Ü │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ş │ İ │ , │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ Ö │ Ç │ . │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define TR_DQUO KC_GRV // "
#define TR_1 KC_1 // 1
#define TR_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define TR_0 KC_0 // 0
#define TR_ASTR KC_MINS // *
#define TR_MINS KC_EQL // -
-// Row 2
#define TR_Q KC_Q // Q
#define TR_W KC_W // W
#define TR_E KC_E // E
@@ -60,7 +53,6 @@
#define TR_P KC_P // P
#define TR_GBRV KC_LBRC // Ğ
#define TR_UDIA KC_RBRC // Ü
-// Row 3
#define TR_A KC_A // A
#define TR_S KC_S // S
#define TR_D KC_D // D
@@ -73,7 +65,6 @@
#define TR_SCED KC_SCLN // Ş
#define TR_IDOT KC_QUOT // İ
#define TR_COMM KC_NUHS // ,
-// Row 4
#define TR_LABK KC_NUBS // <
#define TR_Z KC_Z // Z
#define TR_X KC_X // X
@@ -85,21 +76,6 @@
#define TR_ODIA KC_COMM // Ö
#define TR_CCED KC_DOT // Ç
#define TR_DOT KC_SLSH // .
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ é │ ! │ ' │ ^ │ + │ % │ & │ / │ ( │ ) │ = │ ? │ _ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ │ │ │ │ │ │ │ │ │ │ │ ; │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ > │ │ │ │ │ │ │ │ │ │ : │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define TR_EACU S(TR_DQUO) // é
#define TR_EXLM S(TR_1) // !
#define TR_QUOT S(TR_2) // '
@@ -113,26 +89,9 @@
#define TR_EQL S(TR_0) // =
#define TR_QUES S(TR_ASTR) // ?
#define TR_UNDS S(TR_MINS) // _
-// Row 3
#define TR_SCLN S(TR_COMM) // ;
-// Row 4
#define TR_RABK S(TR_LABK) // >
#define TR_COLN S(TR_DOT) // :
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ £ │ # │ $ │ ½ │ │ { │ [ │ ] │ } │ \ │ | │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ @ │ │ € │ │ ₺ │ │ │ │ │ │ ¨ │ ~ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
- * │ │ Æ │ ß │ │ │ │ │ │ │ │ ´ │ │ ` │ │
- * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define TR_PND ALGR(TR_2) // £
#define TR_HASH ALGR(TR_3) // #
#define TR_DLR ALGR(TR_4) // $
@@ -143,13 +102,11 @@
#define TR_RCBR ALGR(TR_0) // }
#define TR_BSLS ALGR(TR_ASTR) // (backslash)
#define TR_PIPE ALGR(TR_MINS) // |
-// Row 2
#define TR_AT ALGR(TR_Q) // @
#define TR_EURO ALGR(TR_E) // €
#define TR_LIRA ALGR(TR_T) // ₺
#define TR_DIAE ALGR(TR_GBRV) // ¨ (dead)
#define TR_TILD ALGR(TR_UDIA) // ~ (dead)
-// Row 3
#define TR_AE ALGR(TR_A) // Æ
#define TR_SS ALGR(TR_S) // ß
#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 @@
#define UK_IACU ALGR(KC_I) // Í
#define UK_OACU ALGR(KC_O) // Ó
#define UK_AACU ALGR(KC_A) // Á
-
-
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 @@
-/* Copyright 2022
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ї │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ Ф │ І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Є │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define UA_QUOT KC_GRV // '
#define UA_1 KC_1 // 1
#define UA_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define UA_0 KC_0 // 0
#define UA_MINS KC_MINS // -
#define UA_EQL KC_EQL // =
-// Row 2
#define UA_YOT KC_Q // Й
#define UA_TSE KC_W // Ц
#define UA_U KC_E // У
@@ -61,7 +54,6 @@
#define UA_KHA KC_LBRC // Х
#define UA_YI KC_RBRC // Ї
#define UA_BSLS KC_BSLS // (backslash)
-// Row 3
#define UA_EF KC_A // Ф
#define UA_I KC_S // І
#define UA_VE KC_D // В
@@ -73,7 +65,6 @@
#define UA_DE KC_L // Д
#define UA_ZHE KC_SCLN // Ж
#define UA_YE KC_QUOT // Є
-// Row 4
#define UA_YA KC_Z // Я
#define UA_CHE KC_X // Ч
#define UA_ES KC_C // С
@@ -84,21 +75,6 @@
#define UA_BE KC_COMM // Б
#define UA_YU KC_DOT // Ю
#define UA_DOT KC_SLSH // .
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ₴ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ │ │ , │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define UA_HRYV S(UA_QUOT) // ₴
#define UA_EXLM S(UA_1) // !
#define UA_DQUO S(UA_2) // "
@@ -112,23 +88,6 @@
#define UA_RPRN S(UA_0) // )
#define UA_UNDS S(UA_MINS) // _
#define UA_PLUS S(UA_EQL) // +
-// Row 2
#define UA_SLSH S(UA_BSLS) // /
-// Row 4
#define UA_COMM S(UA_DOT) // ,
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ ґ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 2
-#define UA_GE ALGR(UA_HE) // ґ
+#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 @@
#define KC_RIGHT_ANGLE_BRACKET KC_RABK
#define KC_GT KC_RABK
#define KC_QUESTION KC_QUES
-
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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define US_GRV KC_GRV // `
#define US_1 KC_1 // 1
#define US_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define US_0 KC_0 // 0
#define US_MINS KC_MINS // -
#define US_EQL KC_EQL // =
-// Row 2
#define US_Q KC_Q // Q
#define US_W KC_W // W
#define US_E KC_E // E
@@ -61,7 +54,6 @@
#define US_LBRC KC_LBRC // [
#define US_RBRC KC_RBRC // ]
#define US_BSLS KC_BSLS // (backslash)
-// Row 3
#define US_A KC_A // A
#define US_S KC_S // S
#define US_D KC_D // D
@@ -73,7 +65,6 @@
#define US_L KC_L // L
#define US_SCLN KC_SCLN // ;
#define US_QUOT KC_QUOT // '
-// Row 4
#define US_Z KC_Z // Z
#define US_X KC_X // X
#define US_C KC_C // C
@@ -84,21 +75,6 @@
#define US_COMM KC_COMM // ,
#define US_DOT KC_DOT // .
#define US_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_TILD S(US_GRV) // ~
#define US_EXLM S(US_1) // !
#define US_AT S(US_2) // @
@@ -112,32 +88,14 @@
#define US_RPRN S(US_0) // )
#define US_UNDS S(US_MINS) // _
#define US_PLUS S(US_EQL) // +
-// Row 2
#define US_LCBR S(US_LBRC) // {
#define US_RCBR S(US_RBRC) // }
#define US_PIPE S(US_BSLS) // |
-// Row 3
#define US_COLN S(US_SCLN) // :
#define US_DQUO S(US_QUOT) // "
-// Row 4
#define US_LABK S(US_COMM) // <
#define US_RABK S(US_DOT) // >
#define US_QUES S(US_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ ¹ │ ² │ ³ │ ¤ │ € │ ^ │ ̛ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ Á │ ß │ Ð │ │ │ │ Ï │ Œ │ Ø │ ¶ │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_DGRV ALGR(US_GRV) // ` (dead)
#define US_SUP1 ALGR(US_1) // ¹
#define US_SUP2 ALGR(US_2) // ²
@@ -145,13 +103,12 @@
#define US_CURR ALGR(US_4) // ¤
#define US_EURO ALGR(US_5) // €
#define US_DCIR ALGR(US_6) // ^ (dead)
-#define US_HORN ALGR(US_7) // ̛ (dead)
+#define US_HORN ALGR(US_7) // ̛ (dead)
#define US_OGON ALGR(US_8) // ˛ (dead)
#define US_LSQU ALGR(US_9) // ‘
#define US_RSQU ALGR(US_0) // ’
#define US_YEN ALGR(US_MINS) // ¥
#define US_MUL ALGR(US_EQL) // ×
-// Row 2
#define US_ADIA ALGR(US_Q) // Ä
#define US_ARNG ALGR(US_W) // Å
#define US_EACU ALGR(US_E) // É
@@ -165,7 +122,6 @@
#define US_LDAQ ALGR(US_LBRC) // «
#define US_RDAQ ALGR(US_RBRC) // »
#define US_NOT ALGR(US_BSLS) // ¬
-// Row 3
#define US_AACU ALGR(US_A) // Á
#define US_SS ALGR(US_S) // ß
#define US_ETH ALGR(US_D) // Ð
@@ -174,7 +130,6 @@
#define US_OSTR ALGR(US_L) // Ø
#define US_PILC ALGR(US_SCLN) // ¶
#define US_ACUT ALGR(US_QUOT) // ´ (dead)
-// Row 4
#define US_AE ALGR(US_Z) // Æ
#define US_OE_2 ALGR(US_X) // Œ
#define US_COPY ALGR(US_C) // ©
@@ -184,21 +139,6 @@
#define US_CCED ALGR(US_COMM) // Ç
#define US_DOTA ALGR(US_DOT) // ˙ (dead)
#define US_IQUE ALGR(US_SLSH) // ¿
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ¡ │ ˝ │ ¯ │ £ │ ¸ │ ¼ │ ½ │ ¾ │ ˘ │ ° │ ̣ │ ÷ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_DTIL S(ALGR(US_GRV)) // ~ (dead)
#define US_IEXL S(ALGR(US_1)) // ¡
#define US_DACU S(ALGR(US_2)) // ˝ (dead)
@@ -210,18 +150,14 @@
#define US_TQTR S(ALGR(US_8)) // ¾
#define US_BREV S(ALGR(US_9)) // ˘ (dead)
#define US_RNGA S(ALGR(US_0)) // ° (dead)
-#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead)
+#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead)
#define US_DIV S(ALGR(US_EQL)) // ÷
-// Row 2
#define US_LDQU S(ALGR(US_LBRC)) // “
#define US_RDQU S(ALGR(US_RBRC)) // ”
#define US_BRKP S(ALGR(US_BSLS)) // ¦
-// Row 3
#define US_SECT S(ALGR(US_S)) // §
#define US_DEG S(ALGR(US_SCLN)) // °
#define US_DIAE S(ALGR(US_QUOT)) // ¨ (dead)
-// Row 4
#define US_CENT S(ALGR(US_C)) // ¢
#define US_CARN S(ALGR(US_DOT)) // ˇ (dead)
-#define US_HOKA S(ALGR(US_SLSH)) // ̉ (dead)
-
+#define US_HOKA S(ALGR(US_SLSH)) // ̉ (dead)
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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define US_DGRV KC_GRV // ` (dead)
#define US_1 KC_1 // 1
#define US_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define US_0 KC_0 // 0
#define US_MINS KC_MINS // -
#define US_EQL KC_EQL // =
-// Row 2
#define US_Q KC_Q // Q
#define US_W KC_W // W
#define US_E KC_E // E
@@ -61,7 +54,6 @@
#define US_LBRC KC_LBRC // [
#define US_RBRC KC_RBRC // ]
#define US_BSLS KC_BSLS // (backslash)
-// Row 3
#define US_A KC_A // A
#define US_S KC_S // S
#define US_D KC_D // D
@@ -73,7 +65,6 @@
#define US_L KC_L // L
#define US_SCLN KC_SCLN // ;
#define US_ACUT KC_QUOT // ´ (dead)
-// Row 4
#define US_Z KC_Z // Z
#define US_X KC_X // X
#define US_C KC_C // C
@@ -84,21 +75,6 @@
#define US_COMM KC_COMM // ,
#define US_DOT KC_DOT // .
#define US_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_DTIL S(US_DGRV) // ~ (dead)
#define US_EXLM S(US_1) // !
#define US_AT S(US_2) // @
@@ -112,32 +88,14 @@
#define US_RPRN S(US_0) // )
#define US_UNDS S(US_MINS) // _
#define US_PLUS S(US_EQL) // +
-// Row 2
#define US_LCBR S(US_LBRC) // {
#define US_RCBR S(US_RBRC) // }
#define US_PIPE S(US_BSLS) // |
-// Row 3
#define US_COLN S(US_SCLN) // :
#define US_DIAE S(US_ACUT) // ¨ (dead)
-// Row 4
#define US_LABK S(US_COMM) // <
#define US_RABK S(US_DOT) // >
#define US_QUES S(US_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ Á │ ß │ Ð │ │ │ │ │ │ Ø │ ¶ │ ´ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ │ ¿ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_IEXL ALGR(US_1) // ¡
#define US_SUP2 ALGR(US_2) // ²
#define US_SUP3 ALGR(US_3) // ³
@@ -150,7 +108,6 @@
#define US_RSQU ALGR(US_0) // ’
#define US_YEN ALGR(US_MINS) // ¥
#define US_MUL ALGR(US_EQL) // ×
-// Row 2
#define US_ADIA ALGR(US_Q) // Ä
#define US_ARNG ALGR(US_W) // Å
#define US_EACU ALGR(US_E) // É
@@ -164,43 +121,23 @@
#define US_LDAQ ALGR(US_LBRC) // «
#define US_RDAQ ALGR(US_RBRC) // »
#define US_NOT ALGR(US_BSLS) // ¬
-// Row 3
#define US_AACU ALGR(US_A) // Á
#define US_SS ALGR(US_S) // ß
#define US_ETH ALGR(US_D) // Ð
#define US_OSTR ALGR(US_L) // Ø
#define US_PILC ALGR(US_SCLN) // ¶
#define US_NDAC ALGR(US_ACUT) // ´
-// Row 4
#define US_AE ALGR(US_Z) // Æ
#define US_COPY ALGR(US_C) // ©
#define US_NTIL ALGR(US_N) // Ñ
#define US_MICR ALGR(US_M) // µ
#define US_CCED ALGR(US_COMM) // Ç
#define US_IQUE ALGR(US_SLSH) // ¿
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ │ ¹ │ │ │ £ │ │ │ │ │ │ │ │ ÷ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ¦ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ § │ │ │ │ │ │ │ │ ° │ ¨ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ ¢ │ │ │ │ │ │ │ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_SUP1 S(ALGR(US_1)) // ¹
#define US_PND S(ALGR(US_4)) // £
#define US_DIV S(ALGR(US_EQL)) // ÷
-// Row 2
#define US_BRKP S(ALGR(US_BSLS)) // ¦
-// Row 3
#define US_SECT S(ALGR(US_S)) // §
#define US_DEG S(ALGR(US_SCLN)) // °
#define US_NDDR S(ALGR(US_ACUT)) // ¨
-// Row 4
#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 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ´ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define US_DGRV KC_GRV // ` (dead)
#define US_1 KC_1 // 1
#define US_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define US_0 KC_0 // 0
#define US_MINS KC_MINS // -
#define US_EQL KC_EQL // =
-// Row 2
#define US_Q KC_Q // Q
#define US_W KC_W // W
#define US_E KC_E // E
@@ -61,7 +54,6 @@
#define US_LBRC KC_LBRC // [
#define US_RBRC KC_RBRC // ]
#define US_BSLS KC_BSLS // (backslash)
-// Row 3
#define US_A KC_A // A
#define US_S KC_S // S
#define US_D KC_D // D
@@ -73,7 +65,6 @@
#define US_L KC_L // L
#define US_SCLN KC_SCLN // ;
#define US_ACUT KC_QUOT // ´ (dead)
-// Row 4
#define US_Z KC_Z // Z
#define US_X KC_X // X
#define US_C KC_C // C
@@ -84,21 +75,6 @@
#define US_COMM KC_COMM // ,
#define US_DOT KC_DOT // .
#define US_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ ¨ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_DTIL S(US_DGRV) // ~ (dead)
#define US_EXLM S(US_1) // !
#define US_AT S(US_2) // @
@@ -112,33 +88,14 @@
#define US_RPRN S(US_0) // )
#define US_UNDS S(US_MINS) // _
#define US_PLUS S(US_EQL) // +
-// Row 2
#define US_LCBR S(US_LBRC) // {
#define US_RCBR S(US_RBRC) // }
#define US_PIPE S(US_BSLS) // |
-// Row 3
#define US_COLN S(US_SCLN) // :
#define US_DIAE S(US_ACUT) // ¨ (dead)
-// Row 4
#define US_LABK S(US_COMM) // <
#define US_RABK S(US_DOT) // >
#define US_QUES S(US_SLSH) // ?
-
-/* AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ ¡ │ ² │ ³ │ ¤ │ € │ ¼ │ ½ │ ¾ │ ‘ │ ’ │ ¥ │ × │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Ä │ Å │ É │ ® │ Þ │ Ü │ Ú │ Í │ Ó │ Ö │ « │ » │ ¬ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ Á │ ß │ Ð │ │ │ │ │ Œ │ Ø │ ¶ │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Æ │ │ © │ │ │ Ñ │ µ │ Ç │ ˙ │ ¿ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-
-// Row 1
#define US_GRV ALGR(US_DGRV) // `
#define US_IEXL ALGR(US_1) // ¡
#define US_SUP2 ALGR(US_2) // ²
@@ -152,7 +109,6 @@
#define US_RSQU ALGR(US_0) // ’
#define US_YEN ALGR(US_MINS) // ¥
#define US_MUL ALGR(US_EQL) // ×
-// Row 2
#define US_ADIA ALGR(US_Q) // Ä
#define US_ARNG ALGR(US_W) // Å
#define US_EACU ALGR(US_E) // É
@@ -166,7 +122,6 @@
#define US_LDAQ ALGR(US_LBRC) // «
#define US_RDAQ ALGR(US_RBRC) // »
#define US_NOT ALGR(US_BSLS) // ¬
-// Row 3
#define US_AACU ALGR(US_A) // Á
#define US_SS ALGR(US_S) // ß
#define US_ETH ALGR(US_D) // Ð
@@ -174,7 +129,6 @@
#define US_OSTR ALGR(US_L) // Ø
#define US_PILC ALGR(US_SCLN) // ¶
#define US_QUOT ALGR(US_ACUT) // '
-// Row 4
#define US_AE ALGR(US_Z) // Æ
#define US_COPY ALGR(US_C) // ©
#define US_NTIL ALGR(US_N) // Ñ
@@ -182,21 +136,6 @@
#define US_CCED ALGR(US_COMM) // Ç
#define US_DOTA ALGR(US_DOT) // ˙ (dead)
#define US_IQUE ALGR(US_SLSH) // ¿
-
-/* Shift+AltGr symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ¹ │ ˝ │ ¯ │ £ │ ¸ │ ^ │ ̛ │ ˛ │ ˘ │ ° │ ̣ │ ÷ │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ “ │ ” │ ¦ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ § │ │ │ │ │ │ │ │ ° │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ ¢ │ │ │ │ │ │ ˇ │ ̉ │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define US_TILD S(ALGR(US_DGRV)) // ~
#define US_SUP1 S(ALGR(US_1)) // ¹
#define US_DACU S(ALGR(US_2)) // ˝ (dead)
@@ -204,21 +143,18 @@
#define US_PND S(ALGR(US_4)) // £
#define US_CEDL S(ALGR(US_5)) // ¸ (dead)
#define US_CIRC S(ALGR(US_6)) // ^
-#define US_HORN S(ALGR(US_7)) // ̛ (dead)
+#define US_HORN S(ALGR(US_7)) // ̛ (dead)
#define US_OGON S(ALGR(US_8)) // ˛ (dead)
#define US_BREV S(ALGR(US_9)) // ˘ (dead)
#define US_RNGA S(ALGR(US_0)) // ° (dead)
-#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead)
+#define US_DOTB S(ALGR(US_MINS)) // ̣ (dead)
#define US_DIV S(ALGR(US_EQL)) // ÷
-// Row 2
#define US_LDQU S(ALGR(US_LBRC)) // “
#define US_RDQU S(ALGR(US_RBRC)) // ”
#define US_BRKP S(ALGR(US_BSLS)) // ¦
-// Row 3
#define US_SECT S(ALGR(US_S)) // §
#define US_DEG S(ALGR(US_SCLN)) // °
#define US_DQUO S(ALGR(US_ACUT)) // "
-// Row 4
#define US_CENT S(ALGR(US_C)) // ¢
#define US_CARN S(ALGR(US_DOT)) // ˇ (dead)
-#define US_HOKA S(ALGR(US_SLSH)) // ̉ (dead)
+#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 @@
-/* Copyright 2018 Jacob Jerrell
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define WK_GRV KC_GRV // `
#define WK_1 KC_1 // 1
#define WK_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define WK_0 KC_0 // 0
#define WK_MINS KC_MINS // -
#define WK_EQL KC_EQL // =
-// Row 2
#define WK_Q KC_Q // Q
#define WK_D KC_W // D
#define WK_R KC_E // R
@@ -61,7 +54,6 @@
#define WK_LBRC KC_LBRC // [
#define WK_RBRC KC_RBRC // ]
#define WK_BSLS KC_BSLS // (backslash)
-// Row 3
#define WK_A KC_A // A
#define WK_S KC_S // S
#define WK_H KC_D // H
@@ -73,7 +65,6 @@
#define WK_O KC_L // O
#define WK_I KC_SCLN // I
#define WK_QUOT KC_QUOT // '
-// Row 4
#define WK_Z KC_Z // Z
#define WK_X KC_X // X
#define WK_M KC_C // M
@@ -84,21 +75,6 @@
#define WK_COMM KC_COMM // ,
#define WK_DOT KC_DOT // .
#define WK_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define WK_TILD S(WK_GRV) // ~
#define WK_EXLM S(WK_1) // !
#define WK_AT S(WK_2) // @
@@ -112,14 +88,11 @@
#define WK_RPRN S(WK_0) // )
#define WK_UNDS S(WK_MINS) // _
#define WK_PLUS S(WK_EQL) // +
-// Row 2
#define WK_COLN S(WK_SCLN) // :
#define WK_LCBR S(WK_LBRC) // {
#define WK_RCBR S(WK_RBRC) // }
#define WK_PIPE S(WK_BSLS) // |
-// Row 3
#define WK_DQUO S(WK_QUOT) // "
-// Row 4
#define WK_LABK S(WK_COMM) // <
#define WK_RABK S(WK_DOT) // >
#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 @@
-/* Copyright 2018 Jacob Jerrell
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
+/*******************************************************************************
+ 88888888888 888 d8b .d888 d8b 888 d8b
+ 888 888 Y8P d88P" Y8P 888 Y8P
+ 888 888 888 888
+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
+ 888 888
+ 888 888
+ 888 888
+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
+ 888
+ Y8b d88P
+ "Y88P"
+*******************************************************************************/
+#pragma once
#include "keymap.h"
-
// clang-format off
-/*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ Q │ D │ R │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ Z │ X │ C │ V │ M │ K │ L │ , │ . │ / │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
+// Aliases
#define WK_GRV KC_GRV // `
#define WK_1 KC_1 // 1
#define WK_2 KC_2 // 2
@@ -47,7 +41,6 @@
#define WK_0 KC_0 // 0
#define WK_MINS KC_MINS // -
#define WK_EQL KC_EQL // =
-// Row 2
#define WK_Q KC_Q // Q
#define WK_D KC_W // D
#define WK_R KC_E // R
@@ -61,7 +54,6 @@
#define WK_LBRC KC_LBRC // [
#define WK_RBRC KC_RBRC // ]
#define WK_BSLS KC_BSLS // (backslash)
-// Row 3
#define WK_A KC_A // A
#define WK_S KC_S // S
#define WK_H KC_D // H
@@ -73,7 +65,6 @@
#define WK_O KC_L // O
#define WK_I KC_SCLN // I
#define WK_QUOT KC_QUOT // '
-// Row 4
#define WK_Z KC_Z // Z
#define WK_X KC_X // X
#define WK_C KC_C // C
@@ -84,21 +75,6 @@
#define WK_COMM KC_COMM // ,
#define WK_DOT KC_DOT // .
#define WK_SLSH KC_SLSH // /
-
-/* Shifted symbols
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ │ │ │ │ │ │ │ │ │ │ │ " │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │ │ │ │ │ │ │ │ │
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
-// Row 1
#define WK_TILD S(WK_GRV) // ~
#define WK_EXLM S(WK_1) // !
#define WK_AT S(WK_2) // @
@@ -112,14 +88,11 @@
#define WK_RPRN S(WK_0) // )
#define WK_UNDS S(WK_MINS) // _
#define WK_PLUS S(WK_EQL) // +
-// Row 2
#define WK_COLN S(WK_SCLN) // :
#define WK_LCBR S(WK_LBRC) // {
#define WK_RCBR S(WK_RBRC) // }
#define WK_PIPE S(WK_BSLS) // |
-// Row 3
#define WK_DQUO S(WK_QUOT) // "
-// Row 4
#define WK_LABK S(WK_COMM) // <
#define WK_RABK S(WK_DOT) // >
#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 @@
+from pathlib import Path
+
+langs = set()
+files = Path('quantum/keymap_extras/').glob('keymap_*.h')
+for file in files:
+ langs.add(file.stem.replace('keymap_', ''))
+
+for lang in langs:
+ try:
+ file = Path(f'quantum/keymap_extras/keymap_{lang}.h')
+ print(f'Reading:{file}')
+ collect = None
+ out = []
+ out += ['{']
+ out += [' "aliases": {']
+ lines = file.read_text(encoding='utf-8').split('\n')
+ for line in lines:
+
+ if line.startswith("// Row"):
+ # print(line)
+ continue
+ elif line.startswith("/*******************************************************************************"):
+ raise Exception(f'Skipping:{file}')
+ elif '/*' in line:
+ collect = [line]
+ elif '*/' in line:
+ collect += [line]
+ if 'copyright' in collect[0].lower():
+ collect = None
+ continue
+ out += collect
+ collect = None
+ elif collect:
+ collect += [line]
+
+ elif '#define' in line:
+ define = line.split()
+ while len(define) < 5:
+ define.append("")
+
+ if define[4] == "(backslash)":
+ define[4] = '\\\\'
+
+ define[4] = " ".join(define[4:]).strip()
+ define[4] = define[4].replace('"', '\\"')
+
+ if define[4]:
+ out += [f' "{define[2]}": {{']
+ out += [f' "key": "{define[1]}",']
+ out += [f' "label": "{define[4]}",']
+ out += [f' }}']
+ else:
+ out += [f' "{define[2]}": {{']
+ out += [f' "key": "{define[1]}"']
+ out += [f' }}']
+
+ out += [' }']
+ out += ['}']
+
+ dump = Path(f'data/constants/keycodes/extras/keycodes_{lang}_0.0.1.hjson')
+ print(f'Writing:{dump}')
+ dump.write_text("\n".join(out), encoding='utf-8')
+
+ except Exception as e:
+ 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 @@
+#!/bin/bash
+
+for lang in $(find data/constants/keycodes/extras/ -type f -printf "%f\n" | sed "s/keycodes_//g" | sed "s/_[0-9].*//"); do
+ data=$(qmk generate-keycode-extras --version latest --lang $lang)
+ if [ "$?" == "0" ]; then
+ echo "$data" > quantum/keymap_extras/keymap_$lang.h
+ fi
+done