summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-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_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_uk_0.0.1.hjson353
-rw-r--r--data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson295
-rw-r--r--data/constants/keycodes/extras/keycodes_us_0.0.1.hjson155
-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--data/constants/keycodes/keycodes_0.0.2.hjson10
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_midi.hjson1044
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_quantum.hjson18
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson53
-rw-r--r--data/mappings/defaults.hjson5
-rw-r--r--data/mappings/info_config.hjson15
-rw-r--r--data/mappings/info_rules.hjson3
-rw-r--r--data/mappings/keyboard_aliases.hjson42
-rw-r--r--data/schemas/keyboard.jsonschema39
-rw-r--r--data/schemas/keymap.jsonschema17
-rw-r--r--data/templates/config-overrides/chibios/board.h20
-rw-r--r--data/templates/config-overrides/chibios/chconf.h20
-rw-r--r--data/templates/config-overrides/chibios/halconf.h20
-rw-r--r--data/templates/config-overrides/chibios/mcuconf.h21
-rw-r--r--data/templates/config-overrides/common/lv_conf.h10
80 files changed, 27732 insertions, 8 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_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_uk_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson
new file mode 100644
index 0000000000..006bf5c59e
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson
@@ -0,0 +1,353 @@
+{
+ "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": "UK_GRV",
+ "label": "`"
+ },
+ "KC_1": {
+ "key": "UK_1",
+ "label": "1"
+ },
+ "KC_2": {
+ "key": "UK_2",
+ "label": "2"
+ },
+ "KC_3": {
+ "key": "UK_3",
+ "label": "3"
+ },
+ "KC_4": {
+ "key": "UK_4",
+ "label": "4"
+ },
+ "KC_5": {
+ "key": "UK_5",
+ "label": "5"
+ },
+ "KC_6": {
+ "key": "UK_6",
+ "label": "6"
+ },
+ "KC_7": {
+ "key": "UK_7",
+ "label": "7"
+ },
+ "KC_8": {
+ "key": "UK_8",
+ "label": "8"
+ },
+ "KC_9": {
+ "key": "UK_9",
+ "label": "9"
+ },
+ "KC_0": {
+ "key": "UK_0",
+ "label": "0"
+ },
+ "KC_MINS": {
+ "key": "UK_MINS",
+ "label": "-"
+ },
+ "KC_EQL": {
+ "key": "UK_EQL",
+ "label": "="
+ },
+ "KC_Q": {
+ "key": "UK_Q",
+ "label": "Q"
+ },
+ "KC_W": {
+ "key": "UK_W",
+ "label": "W"
+ },
+ "KC_E": {
+ "key": "UK_E",
+ "label": "E"
+ },
+ "KC_R": {
+ "key": "UK_R",
+ "label": "R"
+ },
+ "KC_T": {
+ "key": "UK_T",
+ "label": "T"
+ },
+ "KC_Y": {
+ "key": "UK_Y",
+ "label": "Y"
+ },
+ "KC_U": {
+ "key": "UK_U",
+ "label": "U"
+ },
+ "KC_I": {
+ "key": "UK_I",
+ "label": "I"
+ },
+ "KC_O": {
+ "key": "UK_O",
+ "label": "O"
+ },
+ "KC_P": {
+ "key": "UK_P",
+ "label": "P"
+ },
+ "KC_LBRC": {
+ "key": "UK_LBRC",
+ "label": "["
+ },
+ "KC_RBRC": {
+ "key": "UK_RBRC",
+ "label": "]"
+ },
+ "KC_A": {
+ "key": "UK_A",
+ "label": "A"
+ },
+ "KC_S": {
+ "key": "UK_S",
+ "label": "S"
+ },
+ "KC_D": {
+ "key": "UK_D",
+ "label": "D"
+ },
+ "KC_F": {
+ "key": "UK_F",
+ "label": "F"
+ },
+ "KC_G": {
+ "key": "UK_G",
+ "label": "G"
+ },
+ "KC_H": {
+ "key": "UK_H",
+ "label": "H"
+ },
+ "KC_J": {
+ "key": "UK_J",
+ "label": "J"
+ },
+ "KC_K": {
+ "key": "UK_K",
+ "label": "K"
+ },
+ "KC_L": {
+ "key": "UK_L",
+ "label": "L"
+ },
+ "KC_SCLN": {
+ "key": "UK_SCLN",
+ "label": ";"
+ },
+ "KC_QUOT": {
+ "key": "UK_QUOT",
+ "label": "'"
+ },
+ "KC_NUHS": {
+ "key": "UK_HASH",
+ "label": "#"
+ },
+ "KC_NUBS": {
+ "key": "UK_BSLS",
+ "label": "\\"
+ },
+ "KC_Z": {
+ "key": "UK_Z",
+ "label": "Z"
+ },
+ "KC_X": {
+ "key": "UK_X",
+ "label": "X"
+ },
+ "KC_C": {
+ "key": "UK_C",
+ "label": "C"
+ },
+ "KC_V": {
+ "key": "UK_V",
+ "label": "V"
+ },
+ "KC_B": {
+ "key": "UK_B",
+ "label": "B"
+ },
+ "KC_N": {
+ "key": "UK_N",
+ "label": "N"
+ },
+ "KC_M": {
+ "key": "UK_M",
+ "label": "M"
+ },
+ "KC_COMM": {
+ "key": "UK_COMM",
+ "label": ","
+ },
+ "KC_DOT": {
+ "key": "UK_DOT",
+ "label": "."
+ },
+ "KC_SLSH": {
+ "key": "UK_SLSH",
+ "label": "/"
+ },
+
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ : │ @ │ ~ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(UK_GRV)": {
+ "key": "UK_NOT",
+ "label": "¬"
+ },
+ "S(UK_1)": {
+ "key": "UK_EXLM",
+ "label": "!"
+ },
+ "S(UK_2)": {
+ "key": "UK_DQUO",
+ "label": "\""
+ },
+ "S(UK_3)": {
+ "key": "UK_PND",
+ "label": "£"
+ },
+ "S(UK_4)": {
+ "key": "UK_DLR",
+ "label": "$"
+ },
+ "S(UK_5)": {
+ "key": "UK_PERC",
+ "label": "%"
+ },
+ "S(UK_6)": {
+ "key": "UK_CIRC",
+ "label": "^"
+ },
+ "S(UK_7)": {
+ "key": "UK_AMPR",
+ "label": "&"
+ },
+ "S(UK_8)": {
+ "key": "UK_ASTR",
+ "label": "*"
+ },
+ "S(UK_9)": {
+ "key": "UK_LPRN",
+ "label": "("
+ },
+ "S(UK_0)": {
+ "key": "UK_RPRN",
+ "label": ")"
+ },
+ "S(UK_MINS)": {
+ "key": "UK_UNDS",
+ "label": "_"
+ },
+ "S(UK_EQL)": {
+ "key": "UK_PLUS",
+ "label": "+"
+ },
+ "S(UK_LBRC)": {
+ "key": "UK_LCBR",
+ "label": "{"
+ },
+ "S(UK_RBRC)": {
+ "key": "UK_RCBR",
+ "label": "}"
+ },
+ "S(UK_SCLN)": {
+ "key": "UK_COLN",
+ "label": ":"
+ },
+ "S(UK_QUOT)": {
+ "key": "UK_AT",
+ "label": "@"
+ },
+ "S(UK_HASH)": {
+ "key": "UK_TILD",
+ "label": "~"
+ },
+ "S(UK_BSLS)": {
+ "key": "UK_PIPE",
+ "label": "|"
+ },
+ "S(UK_COMM)": {
+ "key": "UK_LABK",
+ "label": "<"
+ },
+ "S(UK_DOT)": {
+ "key": "UK_RABK",
+ "label": ">"
+ },
+ "S(UK_SLSH)": {
+ "key": "UK_QUES",
+ "label": "?"
+ },
+
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ¦ │ │ │ │ € │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ É │ │ │ │ Ú │ Í │ Ó │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ Á │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(UK_GRV)": {
+ "key": "UK_BRKP",
+ "label": "¦"
+ },
+ "ALGR(UK_4)": {
+ "key": "UK_EURO",
+ "label": "€"
+ },
+ "ALGR(KC_E)": {
+ "key": "UK_EACU",
+ "label": "É"
+ },
+ "ALGR(KC_U)": {
+ "key": "UK_UACU",
+ "label": "Ú"
+ },
+ "ALGR(KC_I)": {
+ "key": "UK_IACU",
+ "label": "Í"
+ },
+ "ALGR(KC_O)": {
+ "key": "UK_OACU",
+ "label": "Ó"
+ },
+ "ALGR(KC_A)": {
+ "key": "UK_AACU",
+ "label": "Á"
+ }
+ }
+} \ 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_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_0.0.1.hjson
new file mode 100644
index 0000000000..af7e462611
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_us_0.0.1.hjson
@@ -0,0 +1,155 @@
+{
+ "aliases": {
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
+ * │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(KC_GRAVE)": {
+ "key": "KC_TILD",
+ "label": "~",
+ "aliases": [
+ "KC_TILDE"
+ ]
+ },
+ "S(KC_1)": {
+ "key": "KC_EXLM",
+ "label": "!",
+ "aliases": [
+ "KC_EXCLAIM"
+ ]
+ },
+ "S(KC_2)": {
+ "key": "KC_AT",
+ "label": "@"
+ },
+ "S(KC_3)": {
+ "key": "KC_HASH",
+ "label": "#"
+ },
+ "S(KC_4)": {
+ "key": "KC_DLR",
+ "label": "$",
+ "aliases": [
+ "KC_DOLLAR"
+ ]
+ },
+ "S(KC_5)": {
+ "key": "KC_PERC",
+ "label": "%",
+ "aliases": [
+ "KC_PERCENT"
+ ]
+ },
+ "S(KC_6)": {
+ "key": "KC_CIRC",
+ "label": "^",
+ "aliases": [
+ "KC_CIRCUMFLEX"
+ ]
+ },
+ "S(KC_7)": {
+ "key": "KC_AMPR",
+ "label": "&",
+ "aliases": [
+ "KC_AMPERSAND"
+ ]
+ },
+ "S(KC_8)": {
+ "key": "KC_ASTR",
+ "label": "*",
+ "aliases": [
+ "KC_ASTERISK"
+ ]
+ },
+ "S(KC_9)": {
+ "key": "KC_LPRN",
+ "label": "(",
+ "aliases": [
+ "KC_LEFT_PAREN"
+ ]
+ },
+ "S(KC_0)": {
+ "key": "KC_RPRN",
+ "label": ")",
+ "aliases": [
+ "KC_RIGHT_PAREN"
+ ]
+ },
+ "S(KC_MINUS)": {
+ "key": "KC_UNDS",
+ "label": "_",
+ "aliases": [
+ "KC_UNDERSCORE"
+ ]
+ },
+ "S(KC_EQUAL)": {
+ "key": "KC_PLUS",
+ "label": "+"
+ },
+ "S(KC_LEFT_BRACKET)": {
+ "key": "KC_LCBR",
+ "label": "{",
+ "aliases": [
+ "KC_LEFT_CURLY_BRACE"
+ ]
+ },
+ "S(KC_RIGHT_BRACKET)": {
+ "key": "KC_RCBR",
+ "label": "}",
+ "aliases": [
+ "KC_RIGHT_CURLY_BRACE"
+ ]
+ },
+ "S(KC_BACKSLASH)": {
+ "key": "KC_PIPE",
+ "label": "|"
+ },
+ "S(KC_SEMICOLON)": {
+ "key": "KC_COLN",
+ "label": ":",
+ "aliases": [
+ "KC_COLON"
+ ]
+ },
+ "S(KC_QUOTE)": {
+ "key": "KC_DQUO",
+ "label": "\"",
+ "aliases": [
+ "KC_DOUBLE_QUOTE",
+ "KC_DQT"
+ ]
+ },
+ "S(KC_COMMA)": {
+ "key": "KC_LABK",
+ "label": "<",
+ "aliases": [
+ "KC_LEFT_ANGLE_BRACKET",
+ "KC_LT"
+ ]
+ },
+ "S(KC_DOT)": {
+ "key": "KC_RABK",
+ "label": ">",
+ "aliases": [
+ "KC_RIGHT_ANGLE_BRACKET",
+ "KC_GT"
+ ]
+ },
+ "S(KC_SLASH)": {
+ "key": "KC_QUES",
+ "label": "?",
+ "aliases": [
+ "KC_QUESTION"
+ ]
+ }
+ }
+}
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/data/constants/keycodes/keycodes_0.0.2.hjson b/data/constants/keycodes/keycodes_0.0.2.hjson
new file mode 100644
index 0000000000..650235e647
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.2.hjson
@@ -0,0 +1,10 @@
+{
+ "ranges": {
+ "0x8000/0X3FFF": {
+ "define": "QK_UNICODEMAP"
+ },
+ "0xC000/0X3FFF": {
+ "define": "QK_UNICODEMAP_PAIR"
+ }
+ }
+}
diff --git a/data/constants/keycodes/keycodes_0.0.2_midi.hjson b/data/constants/keycodes/keycodes_0.0.2_midi.hjson
new file mode 100644
index 0000000000..c15c2dd433
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.2_midi.hjson
@@ -0,0 +1,1044 @@
+{
+ "keycodes": {
+ "!reset!":0,
+
+ "0x7100": {
+ "group": "midi",
+ "key": "QK_MIDI_ON",
+ "aliases": [
+ "MI_ON"
+ ]
+ },
+ "0x7101": {
+ "group": "midi",
+ "key": "QK_MIDI_OFF",
+ "aliases": [
+ "MI_OFF"
+ ]
+ },
+ "0x7102": {
+ "group": "midi",
+ "key": "QK_MIDI_TOGGLE",
+ "aliases": [
+ "MI_TOGG"
+ ]
+ },
+ "0x7103": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_0",
+ "aliases": [
+ "MI_C"
+ ]
+ },
+ "0x7104": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_SHARP_0",
+ "aliases": [
+ "MI_Cs",
+ "MI_Db"
+ ]
+ },
+ "0x7105": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_0",
+ "aliases": [
+ "MI_D"
+ ]
+ },
+ "0x7106": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_SHARP_0",
+ "aliases": [
+ "MI_Ds",
+ "MI_Eb"
+ ]
+ },
+ "0x7107": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_E_0",
+ "aliases": [
+ "MI_E"
+ ]
+ },
+ "0x7108": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_0",
+ "aliases": [
+ "MI_F"
+ ]
+ },
+ "0x7109": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_SHARP_0",
+ "aliases": [
+ "MI_Fs",
+ "MI_Gb"
+ ]
+ },
+ "0x710A": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_0",
+ "aliases": [
+ "MI_G"
+ ]
+ },
+ "0x710B": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_SHARP_0",
+ "aliases": [
+ "MI_Gs"
+ "MI_Ab"
+ ]
+ },
+ "0x710C": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_0",
+ "aliases": [
+ "MI_A"
+ ]
+ },
+ "0x710D": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_SHARP_0",
+ "aliases": [
+ "MI_As"
+ "MI_Bb"
+ ]
+ },
+ "0x710E": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_B_0",
+ "aliases": [
+ "MI_B"
+ ]
+ },
+ "0x710F": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_1",
+ "aliases": [
+ "MI_C1"
+ ]
+ },
+ "0x7110": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_SHARP_1",
+ "aliases": [
+ "MI_Cs1",
+ "MI_Db1"
+ ]
+ },
+ "0x7111": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_1",
+ "aliases": [
+ "MI_D1"
+ ]
+ },
+ "0x7112": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_SHARP_1",
+ "aliases": [
+ "MI_Ds1",
+ "MI_Eb1"
+ ]
+ },
+ "0x7113": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_E_1",
+ "aliases": [
+ "MI_E1"
+ ]
+ },
+ "0x7114": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_1",
+ "aliases": [
+ "MI_F1"
+ ]
+ },
+ "0x7115": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_SHARP_1",
+ "aliases": [
+ "MI_Fs1",
+ "MI_Gb1"
+ ]
+ },
+ "0x7116": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_1",
+ "aliases": [
+ "MI_G1"
+ ]
+ },
+ "0x7117": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_SHARP_1",
+ "aliases": [
+ "MI_Gs1",
+ "MI_Ab1"
+ ]
+ },
+ "0x7118": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_1",
+ "aliases": [
+ "MI_A1"
+ ]
+ },
+ "0x7119": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_SHARP_1",
+ "aliases": [
+ "MI_As1",
+ "MI_Bb1"
+ ]
+ },
+ "0x711A": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_B_1",
+ "aliases": [
+ "MI_B1"
+ ]
+ },
+ "0x711B": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_2",
+ "aliases": [
+ "MI_C2"
+ ]
+ },
+ "0x711C": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_SHARP_2",
+ "aliases": [
+ "MI_Cs2",
+ "MI_Db2"
+ ]
+ },
+ "0x711D": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_2",
+ "aliases": [
+ "MI_D2"
+ ]
+ },
+ "0x711E": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_SHARP_2",
+ "aliases": [
+ "MI_Ds2",
+ "MI_Eb2"
+ ]
+ },
+ "0x711F": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_E_2",
+ "aliases": [
+ "MI_E2"
+ ]
+ },
+ "0x7120": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_2",
+ "aliases": [
+ "MI_F2"
+ ]
+ },
+ "0x7121": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_SHARP_2",
+ "aliases": [
+ "MI_Fs2",
+ "MI_Gb2"
+ ]
+ },
+ "0x7122": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_2",
+ "aliases": [
+ "MI_G2"
+ ]
+ },
+ "0x7123": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_SHARP_2",
+ "aliases": [
+ "MI_Gs2",
+ "MI_Ab2"
+ ]
+ },
+ "0x7124": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_2",
+ "aliases": [
+ "MI_A2"
+ ]
+ },
+ "0x7125": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_SHARP_2",
+ "aliases": [
+ "MI_As2",
+ "MI_Bb2"
+ ]
+ },
+ "0x7126": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_B_2",
+ "aliases": [
+ "MI_B2"
+ ]
+ },
+ "0x7127": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_3",
+ "aliases": [
+ "MI_C3"
+ ]
+ },
+ "0x7128": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_SHARP_3",
+ "aliases": [
+ "MI_Cs3",
+ "MI_Db3"
+ ]
+ },
+ "0x7129": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_3",
+ "aliases": [
+ "MI_D3"
+ ]
+ },
+ "0x712A": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_SHARP_3",
+ "aliases": [
+ "MI_Ds3",
+ "MI_Eb3"
+ ]
+ },
+ "0x712B": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_E_3",
+ "aliases": [
+ "MI_E3"
+ ]
+ },
+ "0x712C": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_3",
+ "aliases": [
+ "MI_F3"
+ ]
+ },
+ "0x712D": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_SHARP_3",
+ "aliases": [
+ "MI_Fs3",
+ "MI_Gb3"
+ ]
+ },
+ "0x712E": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_3",
+ "aliases": [
+ "MI_G3"
+ ]
+ },
+ "0x712F": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_SHARP_3",
+ "aliases": [
+ "MI_Gs3",
+ "MI_Ab3"
+ ]
+ },
+ "0x7130": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_3",
+ "aliases": [
+ "MI_A3"
+ ]
+ },
+ "0x7131": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_SHARP_3",
+ "aliases": [
+ "MI_As3",
+ "MI_Bb3"
+ ]
+ },
+ "0x7132": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_B_3",
+ "aliases": [
+ "MI_B3"
+ ]
+ },
+ "0x7133": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_4",
+ "aliases": [
+ "MI_C4"
+ ]
+ },
+ "0x7134": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_SHARP_4",
+ "aliases": [
+ "MI_Cs4",
+ "MI_Db4"
+ ]
+ },
+ "0x7135": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_4",
+ "aliases": [
+ "MI_D4"
+ ]
+ },
+ "0x7136": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_SHARP_4",
+ "aliases": [
+ "MI_Ds4",
+ "MI_Eb4"
+ ]
+ },
+ "0x7137": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_E_4",
+ "aliases": [
+ "MI_E4"
+ ]
+ },
+ "0x7138": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_4",
+ "aliases": [
+ "MI_F4"
+ ]
+ },
+ "0x7139": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_SHARP_4",
+ "aliases": [
+ "MI_Fs4",
+ "MI_Gb4"
+ ]
+ },
+ "0x713A": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_4",
+ "aliases": [
+ "MI_G4"
+ ]
+ },
+ "0x713B": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_SHARP_4",
+ "aliases": [
+ "MI_Gs4",
+ "MI_Ab4"
+ ]
+ },
+ "0x713C": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_4",
+ "aliases": [
+ "MI_A4"
+ ]
+ },
+ "0x713D": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_SHARP_4",
+ "aliases": [
+ "MI_As4",
+ "MI_Bb4"
+ ]
+ },
+ "0x713E": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_B_4",
+ "aliases": [
+ "MI_B4"
+ ]
+ },
+ "0x713F": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_5",
+ "aliases": [
+ "MI_C5"
+ ]
+ },
+ "0x7140": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_C_SHARP_5",
+ "aliases": [
+ "MI_Cs5",
+ "MI_Db5"
+ ]
+ },
+ "0x7141": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_5",
+ "aliases": [
+ "MI_D5"
+ ]
+ },
+ "0x7142": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_D_SHARP_5",
+ "aliases": [
+ "MI_Ds5",
+ "MI_Eb5"
+ ]
+ },
+ "0x7143": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_E_5",
+ "aliases": [
+ "MI_E5"
+ ]
+ },
+ "0x7144": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_5",
+ "aliases": [
+ "MI_F5"
+ ]
+ },
+ "0x7145": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_F_SHARP_5",
+ "aliases": [
+ "MI_Fs5",
+ "MI_Gb5"
+ ]
+ },
+ "0x7146": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_5",
+ "aliases": [
+ "MI_G5"
+ ]
+ },
+ "0x7147": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_G_SHARP_5",
+ "aliases": [
+ "MI_Gs5",
+ "MI_Ab5"
+ ]
+ },
+ "0x7148": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_5",
+ "aliases": [
+ "MI_A5"
+ ]
+ },
+ "0x7149": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_A_SHARP_5",
+ "aliases": [
+ "MI_As5",
+ "MI_Bb5"
+ ]
+ },
+ "0x714A": {
+ "group": "midi",
+ "key": "QK_MIDI_NOTE_B_5",
+ "aliases": [
+ "MI_B5"
+ ]
+ },
+ "0x714B": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_N2",
+ "aliases": [
+ "MI_OCN2"
+ ]
+ },
+ "0x714C": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_N1",
+ "aliases": [
+ "MI_OCN1"
+ ]
+ },
+ "0x714D": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_0",
+ "aliases": [
+ "MI_OC0"
+ ]
+ },
+ "0x714E": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_1",
+ "aliases": [
+ "MI_OC1"
+ ]
+ },
+ "0x714F": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_2",
+ "aliases": [
+ "MI_OC2"
+ ]
+ },
+ "0x7150": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_3",
+ "aliases": [
+ "MI_OC3"
+ ]
+ },
+ "0x7151": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_4",
+ "aliases": [
+ "MI_OC4"
+ ]
+ },
+ "0x7152": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_5",
+ "aliases": [
+ "MI_OC5"
+ ]
+ },
+ "0x7153": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_6",
+ "aliases": [
+ "MI_OC6"
+ ]
+ },
+ "0x7154": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_7",
+ "aliases": [
+ "MI_OC7"
+ ]
+ },
+ "0x7155": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_DOWN",
+ "aliases": [
+ "MI_OCTD"
+ ]
+ },
+ "0x7156": {
+ "group": "midi",
+ "key": "QK_MIDI_OCTAVE_UP",
+ "aliases": [
+ "MI_OCTU"
+ ]
+ },
+ "0x7157": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_N6",
+ "aliases": [
+ "MI_TRN6"
+ ]
+ },
+ "0x7158": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_N5",
+ "aliases": [
+ "MI_TRN5"
+ ]
+ },
+ "0x7159": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_N4",
+ "aliases": [
+ "MI_TRN4"
+ ]
+ },
+ "0x715A": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_N3",
+ "aliases": [
+ "MI_TRN3"
+ ]
+ },
+ "0x715B": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_N2",
+ "aliases": [
+ "MI_TRN2"
+ ]
+ },
+ "0x715C": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_N1",
+ "aliases": [
+ "MI_TRN1"
+ ]
+ },
+ "0x715D": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_0",
+ "aliases": [
+ "MI_TR0"
+ ]
+ },
+ "0x715E": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_1",
+ "aliases": [
+ "MI_TR1"
+ ]
+ },
+ "0x715F": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_2",
+ "aliases": [
+ "MI_TR2"
+ ]
+ },
+ "0x7160": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_3",
+ "aliases": [
+ "MI_TR3"
+ ]
+ },
+ "0x7161": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_4",
+ "aliases": [
+ "MI_TR4"
+ ]
+ },
+ "0x7162": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_5",
+ "aliases": [
+ "MI_TR5"
+ ]
+ },
+ "0x7163": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_6",
+ "aliases": [
+ "MI_TR6"
+ ]
+ },
+ "0x7164": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_DOWN",
+ "aliases": [
+ "MI_TRSD"
+ ]
+ },
+ "0x7165": {
+ "group": "midi",
+ "key": "QK_MIDI_TRANSPOSE_UP",
+ "aliases": [
+ "MI_TRSU"
+ ]
+ },
+ "0x7166": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_0",
+ "aliases": [
+ "MI_VL0"
+ ]
+ },
+ "0x7167": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_1",
+ "aliases": [
+ "MI_VL1"
+ ]
+ },
+ "0x7168": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_2",
+ "aliases": [
+ "MI_VL2"
+ ]
+ },
+ "0x7169": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_3",
+ "aliases": [
+ "MI_VL3"
+ ]
+ },
+ "0x716A": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_4",
+ "aliases": [
+ "MI_VL4"
+ ]
+ },
+ "0x716B": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_5",
+ "aliases": [
+ "MI_VL5"
+ ]
+ },
+ "0x716C": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_6",
+ "aliases": [
+ "MI_VL6"
+ ]
+ },
+ "0x716D": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_7",
+ "aliases": [
+ "MI_VL7"
+ ]
+ },
+ "0x716E": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_8",
+ "aliases": [
+ "MI_VL8"
+ ]
+ },
+ "0x716F": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_9",
+ "aliases": [
+ "MI_VL9"
+ ]
+ },
+ "0x7170": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_10",
+ "aliases": [
+ "MI_VL10"
+ ]
+ },
+ "0x7171": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_DOWN",
+ "aliases": [
+ "MI_VELD"
+ ]
+ },
+ "0x7172": {
+ "group": "midi",
+ "key": "QK_MIDI_VELOCITY_UP",
+ "aliases": [
+ "MI_VELU"
+ ]
+ },
+ "0x7173": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_1",
+ "aliases": [
+ "MI_CH1"
+ ]
+ },
+ "0x7174": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_2",
+ "aliases": [
+ "MI_CH2"
+ ]
+ },
+ "0x7175": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_3",
+ "aliases": [
+ "MI_CH3"
+ ]
+ },
+ "0x7176": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_4",
+ "aliases": [
+ "MI_CH4"
+ ]
+ },
+ "0x7177": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_5",
+ "aliases": [
+ "MI_CH5"
+ ]
+ },
+ "0x7178": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_6",
+ "aliases": [
+ "MI_CH6"
+ ]
+ },
+ "0x7179": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_7",
+ "aliases": [
+ "MI_CH7"
+ ]
+ },
+ "0x717A": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_8",
+ "aliases": [
+ "MI_CH8"
+ ]
+ },
+ "0x717B": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_9",
+ "aliases": [
+ "MI_CH9"
+ ]
+ },
+ "0x717C": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_10",
+ "aliases": [
+ "MI_CH10"
+ ]
+ },
+ "0x717D": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_11",
+ "aliases": [
+ "MI_CH11"
+ ]
+ },
+ "0x717E": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_12",
+ "aliases": [
+ "MI_CH12"
+ ]
+ },
+ "0x717F": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_13",
+ "aliases": [
+ "MI_CH13"
+ ]
+ },
+ "0x7180": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_14",
+ "aliases": [
+ "MI_CH14"
+ ]
+ },
+ "0x7181": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_15",
+ "aliases": [
+ "MI_CH15"
+ ]
+ },
+ "0x7182": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_16",
+ "aliases": [
+ "MI_CH16"
+ ]
+ },
+ "0x7183": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_DOWN",
+ "aliases": [
+ "MI_CHND"
+ ]
+ },
+ "0x7184": {
+ "group": "midi",
+ "key": "QK_MIDI_CHANNEL_UP",
+ "aliases": [
+ "MI_CHNU"
+ ]
+ },
+ "0x7185": {
+ "group": "midi",
+ "key": "QK_MIDI_ALL_NOTES_OFF",
+ "aliases": [
+ "MI_AOFF"
+ ]
+ },
+ "0x7186": {
+ "group": "midi",
+ "key": "QK_MIDI_SUSTAIN",
+ "aliases": [
+ "MI_SUST"
+ ]
+ },
+ "0x7187": {
+ "group": "midi",
+ "key": "QK_MIDI_PORTAMENTO",
+ "aliases": [
+ "MI_PORT"
+ ]
+ },
+ "0x7188": {
+ "group": "midi",
+ "key": "QK_MIDI_SOSTENUTO",
+ "aliases": [
+ "MI_SOST"
+ ]
+ },
+ "0x7189": {
+ "group": "midi",
+ "key": "QK_MIDI_SOFT",
+ "aliases": [
+ "MI_SOFT"
+ ]
+ },
+ "0x718A": {
+ "group": "midi",
+ "key": "QK_MIDI_LEGATO",
+ "aliases": [
+ "MI_LEG"
+ ]
+ },
+ "0x718B": {
+ "group": "midi",
+ "key": "QK_MIDI_MODULATION",
+ "aliases": [
+ "MI_MOD"
+ ]
+ },
+ "0x718C": {
+ "group": "midi",
+ "key": "QK_MIDI_MODULATION_SPEED_DOWN",
+ "aliases": [
+ "MI_MODD"
+ ]
+ },
+ "0x718D": {
+ "group": "midi",
+ "key": "QK_MIDI_MODULATION_SPEED_UP",
+ "aliases": [
+ "MI_MODU"
+ ]
+ },
+ "0x718E": {
+ "group": "midi",
+ "key": "QK_MIDI_PITCH_BEND_DOWN",
+ "aliases": [
+ "MI_BNDD"
+ ]
+ },
+ "0x718F": {
+ "group": "midi",
+ "key": "QK_MIDI_PITCH_BEND_UP",
+ "aliases": [
+ "MI_BNDU"
+ ]
+ }
+ }
+}
diff --git a/data/constants/keycodes/keycodes_0.0.2_quantum.hjson b/data/constants/keycodes/keycodes_0.0.2_quantum.hjson
new file mode 100644
index 0000000000..960afa4e51
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.2_quantum.hjson
@@ -0,0 +1,18 @@
+{
+ "keycodes": {
+ "0x7C77": {
+ "group": "quantum",
+ "key": "QK_TRI_LAYER_LOWER",
+ "aliases": [
+ "TL_LOWR"
+ ]
+ },
+ "0x7C78": {
+ "group": "quantum",
+ "key": "QK_TRI_LAYER_UPPER",
+ "aliases": [
+ "TL_UPPR"
+ ]
+ }
+ }
+}
diff --git a/data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson b/data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson
new file mode 100644
index 0000000000..ddaa2c76b9
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.2_swap_hands.hjson
@@ -0,0 +1,53 @@
+{
+ "keycodes": {
+ "0x56F0": {
+ "group": "swap_hands",
+ "key": "QK_SWAP_HANDS_TOGGLE",
+ "aliases": [
+ "SH_TOGG"
+ ]
+ },
+ "0x56F1": {
+ "group": "swap_hands",
+ "key": "QK_SWAP_HANDS_TAP_TOGGLE",
+ "aliases": [
+ "SH_TT"
+ ]
+ },
+ "0x56F2": {
+ "group": "swap_hands",
+ "key": "QK_SWAP_HANDS_MOMENTARY_ON",
+ "aliases": [
+ "SH_MON"
+ ]
+ },
+ "0x56F3": {
+ "group": "swap_hands",
+ "key": "QK_SWAP_HANDS_MOMENTARY_OFF",
+ "aliases": [
+ "SH_MOFF"
+ ]
+ },
+ "0x56F4": {
+ "group": "swap_hands",
+ "key": "QK_SWAP_HANDS_OFF",
+ "aliases": [
+ "SH_OFF"
+ ]
+ },
+ "0x56F5": {
+ "group": "swap_hands",
+ "key": "QK_SWAP_HANDS_ON",
+ "aliases": [
+ "SH_ON"
+ ]
+ },
+ "0x56F6": {
+ "group": "swap_hands",
+ "key": "QK_SWAP_HANDS_ONE_SHOT",
+ "aliases": [
+ "SH_OS"
+ ]
+ }
+ }
+}
diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson
index 13835721d4..8efe73dcde 100644
--- a/data/mappings/defaults.hjson
+++ b/data/mappings/defaults.hjson
@@ -35,6 +35,11 @@
"bootloader": "rp2040",
"board": "QMK_PM2040"
},
+ "michi": {
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "board": "QMK_PM2040"
+ },
"bit_c_pro": {
"processor": "RP2040",
"bootloader": "rp2040",
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
index c1c01ff70f..7645598c77 100644
--- a/data/mappings/info_config.hjson
+++ b/data/mappings/info_config.hjson
@@ -18,6 +18,10 @@
"BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
"BACKLIGHT_PIN": {"info_key": "backlight.pin"},
"BACKLIGHT_PINS": {"info_key": "backlight.pins", "value_type": "array"},
+ "BOOTMAGIC_LITE_ROW": {"info_key": "bootmagic.matrix.0", "value_type": "int"},
+ "BOOTMAGIC_LITE_COLUMN": {"info_key": "bootmagic.matrix.1", "value_type": "int"},
+ "BOOTMAGIC_LITE_ROW_RIGHT": {"info_key": "split.bootmagic.matrix.0", "value_type": "int"},
+ "BOOTMAGIC_LITE_COLUMN_RIGHT": {"info_key": "split.bootmagic.matrix.1", "value_type": "int"},
"BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},
"CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"},
"COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},
@@ -28,8 +32,6 @@
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
"DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"},
"DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"},
- "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"},
- "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"},
"HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"},
"HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "bool"},
"LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"},
@@ -51,6 +53,7 @@
"LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"},
"LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"},
"MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
+ "MATRIX_INPUT_PRESSED_STATE": {"info_key": "matrix_pins.input_pressed_state", "value_type": "int"},
"MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
"MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
"MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"},
@@ -106,8 +109,6 @@
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
"TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
- "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
- "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
"TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
"TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
@@ -122,8 +123,12 @@
"DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"},
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
"UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
- "RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true},
+ "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "bool", "invalid": true},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
+ "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool", "deprecated": true},
+ "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool", "deprecated": true},
+ "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "_deprecated.ignore_mod_tap_interrupt", "value_type": "bool", "deprecated": true},
+ "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "_invalid.ignore_mod_tap_interrupt_per_key", "invalid": true}
// USB params, need to mark as failure when specified in config.h, rather than deprecated
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"},
diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson
index 2f8656c4bf..c409da04c6 100644
--- a/data/mappings/info_rules.hjson
+++ b/data/mappings/info_rules.hjson
@@ -12,6 +12,7 @@
// replace_with: use with a key marked deprecated or invalid to designate a replacement
"BOARD": {"info_key": "board"},
"BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
+ "BOOTMAGIC_ENABLE": {"info_key": "bootmagic.enabled", "value_type": "bool"},
"BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
"CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"},
"DEBOUNCE_TYPE": {"info_key": "build.debounce_type"},
@@ -37,6 +38,8 @@
"PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
"PS2_DRIVER": {"info_key": "ps2.driver"},
+ "PLATFORM_KEY": {"info_key": "platform_key", "to_json": false},
+
// Items we want flagged in lint
"CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
"CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
index 78a85ef6e7..4295d0700c 100644
--- a/data/mappings/keyboard_aliases.hjson
+++ b/data/mappings/keyboard_aliases.hjson
@@ -1060,6 +1060,48 @@
"rabbit_capture_plan": {
"target": "kakunpc/rabbit_capture_plan"
},
+ "ramonimbao/aelith": {
+ "target": "rmi_kb/aelith"
+ },
+ "ramonimbao/chevron": {
+ "target": "rmi_kb/chevron"
+ },
+ "ramonimbao/herringbone/pro": {
+ "target": "rmi_kb/herringbone/pro"
+ },
+ "ramonimbao/herringbone/v1": {
+ "target": "rmi_kb/herringbone/v1"
+ },
+ "ramonimbao/mona/v1": {
+ "target": "rmi_kb/mona/v1"
+ },
+ "ramonimbao/mona/v1_1": {
+ "target": "rmi_kb/mona/v1_1"
+ },
+ "ramonimbao/mona/v32a": {
+ "target": "rmi_kb/mona/v32a"
+ },
+ "ramonimbao/squishy65": {
+ "target": "rmi_kb/squishy65"
+ },
+ "ramonimbao/squishyfrl": {
+ "target": "rmi_kb/squishyfrl"
+ },
+ "ramonimbao/squishytkl": {
+ "target": "rmi_kb/squishytkl"
+ },
+ "ramonimbao/tkl_ff/v1": {
+ "target": "rmi_kb/tkl_ff/v1"
+ },
+ "ramonimbao/tkl_ff/v2": {
+ "target": "rmi_kb/tkl_ff/v2"
+ },
+ "ramonimbao/wete/v1": {
+ "target": "rmi_kb/wete/v1"
+ },
+ "ramonimbao/wete/v2": {
+ "target": "rmi_kb/wete/v2"
+ },
"rainkeeb": {
"target": "rainkeebs/rainkeeb"
},
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 921726a5e9..1f89bfeaa7 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -34,7 +34,7 @@
},
"development_board": {
"type": "string",
- "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"]
+ "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"]
},
"pin_compatible": {
"type": "string",
@@ -131,6 +131,22 @@
}
}
},
+ "bootmagic":{
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "enabled": {"type": "boolean"},
+ "matrix": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ },
"board": {
"type": "string",
"minLength": 2,
@@ -155,6 +171,7 @@
"stm32-dfu",
"stm32duino",
"tinyuf2",
+ "uf2boot",
"unknown",
"usbasploader",
"wb32-dfu"
@@ -240,6 +257,9 @@
"c_macro": {
"type": "boolean"
},
+ "json_layout": {
+ "type": "boolean"
+ },
"layout": {
"type": "array",
"items": {
@@ -288,6 +308,7 @@
"custom": {"type": "boolean"},
"custom_lite": {"type": "boolean"},
"ghost": {"type": "boolean"},
+ "input_pressed_state": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"direct": {
"type": "array",
@@ -511,6 +532,21 @@
"additionalProperties": false,
"properties": {
"enabled": {"type": "boolean"},
+ "bootmagic":{
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "matrix": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ },
"matrix_grid": {
"type": "array",
"items": {"$ref": "qmk.definitions.v1#/mcu_pin"}
@@ -588,7 +624,6 @@
"force_hold": {"type": "boolean"},
"force_hold_per_key": {"type": "boolean"},
"ignore_mod_tap_interrupt": {"type": "boolean"},
- "ignore_mod_tap_interrupt_per_key": {"type": "boolean"},
"hold_on_other_key_press": {"type": "boolean"},
"hold_on_other_key_press_per_key": {"type": "boolean"},
"permissive_hold": {"type": "boolean"},
diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema
index 1b8d01bcc6..73aa7c5c22 100644
--- a/data/schemas/keymap.jsonschema
+++ b/data/schemas/keymap.jsonschema
@@ -7,7 +7,8 @@
"author": {"type": "string"},
"converter": {
"type": "string",
- "enum": ["elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bonsai_c4"]
+ "minLength": 1,
+ "pattern": "^[a-z][0-9a-z_]*$"
},
"host_language": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
@@ -20,6 +21,20 @@
"items": {"type": "string"}
}
},
+ "encoders": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": ["ccw", "cw"],
+ "properties": {
+ "ccw": {"type": "string"},
+ "cw": {"type": "string"}
+ }
+ }
+ }
+ },
"macros": {
"type": "array",
"items": {
diff --git a/data/templates/config-overrides/chibios/board.h b/data/templates/config-overrides/chibios/board.h
new file mode 100644
index 0000000000..5b840c389c
--- /dev/null
+++ b/data/templates/config-overrides/chibios/board.h
@@ -0,0 +1,20 @@
+/* Copyright 2020 Nick Brassel (tzarc)
+ *
+ * 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 3 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 <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include_next <board.h>
+
+// #undef STM32_HSE_BYPASS
diff --git a/data/templates/config-overrides/chibios/chconf.h b/data/templates/config-overrides/chibios/chconf.h
new file mode 100644
index 0000000000..fca444747c
--- /dev/null
+++ b/data/templates/config-overrides/chibios/chconf.h
@@ -0,0 +1,20 @@
+/* Copyright 2020 Nick Brassel (tzarc)
+ *
+ * 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 3 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 <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+// #define CH_CFG_OPTIMIZE_SPEED TRUE
+
+#include_next <chconf.h>
diff --git a/data/templates/config-overrides/chibios/halconf.h b/data/templates/config-overrides/chibios/halconf.h
new file mode 100644
index 0000000000..456020f16a
--- /dev/null
+++ b/data/templates/config-overrides/chibios/halconf.h
@@ -0,0 +1,20 @@
+/* Copyright 2020 Nick Brassel (tzarc)
+ *
+ * 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 3 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 <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+// #define HAL_USE_DAC TRUE
+
+#include_next <halconf.h>
diff --git a/data/templates/config-overrides/chibios/mcuconf.h b/data/templates/config-overrides/chibios/mcuconf.h
new file mode 100644
index 0000000000..c690b02f4b
--- /dev/null
+++ b/data/templates/config-overrides/chibios/mcuconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 Nick Brassel (tzarc)
+ *
+ * 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 3 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 <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include_next <mcuconf.h>
+
+// #undef STM32_HSE_ENABLED
+// #define STM32_HSE_ENABLED FALSE
diff --git a/data/templates/config-overrides/common/lv_conf.h b/data/templates/config-overrides/common/lv_conf.h
new file mode 100644
index 0000000000..5c003a6a10
--- /dev/null
+++ b/data/templates/config-overrides/common/lv_conf.h
@@ -0,0 +1,10 @@
+// Copyright 2022 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// #define LV_DITHER_GRADIENT 1
+
+#include_next <lv_conf.h>
+
+// #undef LV_COLOR_16_SWAP
+// #define LV_COLOR_16_SWAP 0