Files
EurKEY-macOS/spec/eurkey-v1.4-parsed.json
Felix Förtsch 7084817dab add validation infrastructure, fix "6" key bug in v1.3
- add keylayout XML parser (parse_keylayout.py) that extracts all key
  mappings, dead key compositions, modifier layers from .keylayout files
- add validation script (validate_layouts.py) that compares layouts against
  v1.3 reference with per-version exception support
- fix action id="6" outputting "p" instead of "6" in v1.3
- generate reference JSON for all 4 layout versions
- document known intentional differences: v1.2 (no ¬ dead key, § vs ẞ),
  v1.4 (ẞ on §/` caps, extra ¬ composition)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 17:06:48 +01:00

2276 lines
33 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"name": "EurKEY v1.4",
"group": "126",
"id": "-3802",
"modifierMap": {
"f4": {
"defaultIndex": "7",
"selects": [
{
"mapIndex": "0",
"modifiers": [
"command?",
"anyShift? caps? command"
]
},
{
"mapIndex": "1",
"modifiers": [
"anyShift caps?"
]
},
{
"mapIndex": "2",
"modifiers": [
"caps"
]
},
{
"mapIndex": "3",
"modifiers": [
"anyOption"
]
},
{
"mapIndex": "4",
"modifiers": [
"anyShift caps? anyOption command?"
]
},
{
"mapIndex": "5",
"modifiers": [
"caps anyOption"
]
},
{
"mapIndex": "6",
"modifiers": [
"caps? anyOption command"
]
},
{
"mapIndex": "7",
"modifiers": [
"anyShift caps? option? command? control",
"shift? caps? anyOption command? control",
"caps? anyOption? command? control"
]
}
]
}
},
"actions": {
"a0": {
"none": "!",
"1": "≠",
"6": "¹"
},
"a1": {
"none": "\"",
"1": "″",
"6": "₊"
},
"a10": {
"none": "+",
"1": "⊕",
"4": "⇔",
"6": "⁺"
},
"a100": {
"none": "Ï",
"3": "Į"
},
"a101": {
"none": "Ö",
"3": "Ǫ"
},
"a102": {
"none": "Ø",
"9": "Ǿ"
},
"a103": {
"none": "Ü",
"10": "Ǚ",
"3": "Ų"
},
"a104": {
"none": "ä",
"3": "ą"
},
"a105": {
"none": "æ",
"2": "ǣ",
"9": "ǽ"
},
"a106": {
"none": "ë",
"3": "ę"
},
"a107": {
"none": "ï",
"3": "į"
},
"a108": {
"none": "ö",
"3": "ǫ"
},
"a109": {
"none": "ø",
"9": "ǿ"
},
"a11": {
"none": "-",
"1": "±",
"6": "⁻"
},
"a110": {
"none": "ü",
"10": "ǚ",
"3": "ų"
},
"a111": {
"next": "10"
},
"a112": {
"next": "5"
},
"a113": {
"next": "6"
},
"a114": {
"next": "1"
},
"a12": {
"none": ".",
"1": "⋅"
},
"a13": {
"none": "0",
"6": "₀"
},
"a14": {
"none": "1",
"2": "",
"4": "№",
"6": "₁"
},
"a15": {
"none": "2",
"2": "",
"4": "½",
"6": "₂"
},
"a16": {
"none": "3",
"1": "∛",
"10": "ǯ",
"2": "—",
"4": "⅓",
"6": "₃"
},
"a17": {
"none": "4",
"1": "∜",
"4": "¼",
"6": "₄"
},
"a18": {
"none": "5",
"10": "ˇ",
"2": "¯",
"4": "⅔",
"5": "˚",
"6": "₅",
"9": "´"
},
"a19": {
"none": "6",
"4": "¾",
"6": "₆"
},
"a2": {
"none": "#",
"10": "Ǯ",
"6": "³"
},
"a20": {
"next": "7"
},
"a21": {
"none": "7",
"1": "∡",
"6": "₇"
},
"a22": {
"none": "8",
"1": "∠",
"6": "₈"
},
"a23": {
"none": "9",
"1": "∟",
"6": "₉"
},
"a24": {
"none": ":",
"1": "∴"
},
"a25": {
"none": ";",
"1": "∵",
"6": "₋"
},
"a26": {
"none": "<",
"1": "≤"
},
"a27": {
"none": "=",
"1": "≝",
"4": "↔",
"6": "⁼"
},
"a28": {
"none": ">",
"1": "≥"
},
"a29": {
"none": "@",
"6": "²"
},
"a3": {
"none": "$",
"6": "⁴"
},
"a30": {
"none": "A",
"1": "∀",
"10": "Ǎ",
"11": "Ã",
"2": "Ā",
"3": "À",
"5": "Å",
"6": "Α",
"7": "Â",
"8": "Ä",
"9": "Á"
},
"a31": {
"none": "B",
"1": "⊇",
"2": "Ƀ",
"6": "Β",
"9": "Ɓ"
},
"a32": {
"none": "C",
"1": "",
"10": "Č",
"5": "Ċ",
"6": "Χ",
"7": "Ĉ",
"9": "Ć"
},
"a33": {
"none": "D",
"1": "∇",
"10": "Ď",
"2": "Đ",
"6": "Δ"
},
"a34": {
"none": "E",
"1": "∃",
"10": "Ě",
"2": "Ē",
"3": "È",
"5": "Ė",
"6": "Ε",
"7": "Ê",
"8": "Ë",
"9": "É"
},
"a35": {
"none": "F",
"1": "∎",
"6": "Φ"
},
"a36": {
"none": "G",
"1": "⊃",
"10": "Ǧ",
"2": "Ḡ",
"5": "Ġ",
"6": "Γ",
"7": "Ĝ",
"9": "Ǵ"
},
"a37": {
"none": "H",
"1": "⊅",
"10": "Ȟ",
"2": "Ħ",
"4": "⇐",
"6": "Θ",
"7": "Ĥ",
"8": "Ḧ"
},
"a38": {
"none": "I",
"10": "Ǐ",
"11": "Ĩ",
"2": "Ī",
"3": "Ì",
"4": "⇗",
"5": "İ",
"6": "Η",
"7": "Î",
"8": "Ï",
"9": "Í"
},
"a39": {
"none": "J",
"4": "⇓",
"6": "Ι",
"7": "Ĵ"
},
"a4": {
"none": "%",
"1": "‰",
"6": "⁵"
},
"a40": {
"none": "K",
"1": "∌",
"10": "Ǩ",
"4": "⇑",
"6": "Κ",
"9": "Ḱ"
},
"a41": {
"none": "L",
"1": "∦",
"10": "Ľ",
"2": "Ḻ",
"4": "⇒",
"6": "Λ",
"9": "Ł"
},
"a42": {
"none": "M",
"1": "∉",
"4": "⇘",
"6": "Μ",
"9": "Ḿ"
},
"a43": {
"none": "N",
"1": "",
"10": "Ň",
"11": "Ñ",
"4": "⇙",
"6": "Ν",
"9": "Ń"
},
"a44": {
"none": "O",
"1": "∅",
"10": "Ǒ",
"11": "Õ",
"2": "Ō",
"3": "Ò",
"6": "Ο",
"7": "Ô",
"8": "Ö",
"9": "Ó"
},
"a45": {
"none": "P",
"1": "",
"6": "Π",
"9": "Ṕ"
},
"a46": {
"none": "Q",
"1": "",
"6": "Ω"
},
"a47": {
"none": "R",
"1": "",
"10": "Ř",
"6": "Ρ",
"9": "Ŕ"
},
"a48": {
"none": "S",
"1": "∫",
"10": "Š",
"6": "Σ",
"7": "Ŝ",
"9": "Ś"
},
"a49": {
"none": "T",
"10": "Ť",
"2": "Ŧ",
"4": "℠",
"6": "Τ"
},
"a5": {
"none": "&",
"1": "∧",
"6": "⁷"
},
"a50": {
"none": "U",
"1": "",
"10": "Ǔ",
"11": "Ũ",
"2": "Ū",
"3": "Ù",
"4": "⇖",
"5": "Ů",
"6": "Ω",
"7": "Û",
"8": "Ü",
"9": "Ú"
},
"a51": {
"none": "V",
"6": "Β"
},
"a52": {
"none": "W",
"6": "Ψ",
"7": "Ŵ",
"8": "Ẅ",
"9": "Ẃ"
},
"a53": {
"none": "X",
"1": "∄",
"6": "Ξ",
"8": "Ẍ"
},
"a54": {
"none": "Y",
"11": "Ỹ",
"2": "Ȳ",
"6": "Υ",
"7": "Ŷ",
"8": "Ÿ",
"9": "Ý"
},
"a55": {
"none": "Z",
"1": "",
"10": "Ž",
"5": "Ż",
"6": "Ζ",
"9": "Ź"
},
"a56": {
"none": "[",
"6": "⁽"
},
"a57": {
"none": "]",
"6": "⁾"
},
"a58": {
"none": "^",
"1": "℘",
"6": "⁶"
},
"a59": {
"none": "_"
},
"a6": {
"none": "'",
"1": "",
"6": "₌"
},
"a60": {
"next": "3"
},
"a61": {
"none": "a",
"10": "ǎ",
"11": "ã",
"2": "ā",
"3": "à",
"5": "å",
"6": "α",
"7": "â",
"8": "ä",
"9": "á"
},
"a62": {
"none": "b",
"1": "⊆",
"2": "ƀ",
"6": "β",
"9": "ɓ"
},
"a63": {
"none": "c",
"1": "∝",
"10": "č",
"4": "©",
"5": "ċ",
"6": "χ",
"7": "ĉ",
"9": "ć"
},
"a64": {
"none": "d",
"1": "Δ",
"10": "ď",
"2": "đ",
"6": "δ"
},
"a65": {
"none": "e",
"10": "ě",
"2": "ē",
"3": "è",
"5": "ė",
"6": "ε",
"7": "ê",
"8": "ë",
"9": "é"
},
"a66": {
"none": "f",
"1": "ƒ",
"6": "φ"
},
"a67": {
"none": "g",
"1": "⊂",
"10": "ǧ",
"2": "ḡ",
"5": "ġ",
"6": "γ",
"7": "ĝ",
"9": "ǵ"
},
"a68": {
"none": "h",
"1": "⊄",
"10": "ȟ",
"2": "ħ",
"4": "←",
"6": "θ",
"7": "ĥ",
"8": "ḧ"
},
"a69": {
"none": "i",
"1": "∞",
"10": "ǐ",
"11": "ĩ",
"2": "ī",
"3": "ì",
"4": "↗",
"6": "η",
"7": "î",
"8": "ï",
"9": "í"
},
"a7": {
"none": "(",
"6": "⁹"
},
"a70": {
"none": "j",
"10": "ǰ",
"4": "↓",
"6": "ι",
"7": "ĵ"
},
"a71": {
"none": "k",
"1": "∋",
"10": "ǩ",
"4": "↑",
"6": "κ",
"9": "ḱ"
},
"a72": {
"none": "l",
"1": "∥",
"10": "ľ",
"2": "ḻ",
"4": "→",
"6": "λ",
"9": "ł"
},
"a73": {
"none": "m",
"1": "∈",
"4": "↘",
"6": "μ",
"9": "ḿ"
},
"a74": {
"none": "n",
"1": "ⁿ",
"10": "ň",
"11": "ñ",
"4": "↙",
"6": "ν",
"9": "ń"
},
"a75": {
"none": "o",
"1": "∘",
"10": "ǒ",
"11": "õ",
"2": "ō",
"3": "ò",
"6": "ο",
"7": "ô",
"8": "ö",
"9": "ó"
},
"a76": {
"none": "p",
"1": "∂",
"4": "℗",
"6": "π",
"9": "ṕ"
},
"a77": {
"none": "q",
"6": "ω"
},
"a78": {
"none": "r",
"1": "√",
"10": "ř",
"4": "®",
"6": "ρ",
"9": "ŕ"
},
"a79": {
"none": "s",
"1": "∩",
"10": "š",
"4": "§",
"6": "σ",
"7": "ŝ",
"9": "ś"
},
"a8": {
"none": ")",
"6": "⁰"
},
"a80": {
"none": " ",
"1": "√",
"10": "ˇ",
"11": "~",
"2": "¯",
"3": "`",
"4": "¬",
"5": "˚",
"7": "^",
"8": "¨",
"9": "´"
},
"a81": {
"none": "t",
"10": "ť",
"2": "ŧ",
"4": "™",
"6": "τ",
"8": "ẗ"
},
"a82": {
"none": "u",
"1": "",
"10": "ǔ",
"11": "ũ",
"2": "ū",
"3": "ù",
"4": "↖",
"5": "ů",
"6": "ω",
"7": "û",
"8": "ü",
"9": "ú"
},
"a83": {
"none": "v",
"6": "β"
},
"a84": {
"none": "w",
"5": "ẘ",
"6": "ψ",
"7": "ŵ",
"8": "ẅ",
"9": "ẃ"
},
"a85": {
"none": "x",
"6": "ξ",
"8": "ẍ"
},
"a86": {
"none": "y",
"11": "ỹ",
"2": "ȳ",
"5": "ẙ",
"6": "υ",
"7": "ŷ",
"8": "ÿ",
"9": "ý"
},
"a87": {
"none": "z",
"1": "↯",
"10": "ž",
"5": "ż",
"6": "ζ",
"9": "ź"
},
"a88": {
"none": "{",
"6": "₍"
},
"a89": {
"none": "|",
"1": ""
},
"a9": {
"none": "*",
"1": "⊗",
"6": "⁸"
},
"a90": {
"none": "}",
"6": "₎"
},
"a91": {
"none": "~",
"1": "≈"
},
"a92": {
"next": "11"
},
"a93": {
"next": "8"
},
"a94": {
"next": "4"
},
"a95": {
"next": "2"
},
"a96": {
"next": "9"
},
"a97": {
"none": "Ä",
"3": "Ą"
},
"a98": {
"none": "Æ",
"2": "Ǣ",
"9": "Ǽ"
},
"a99": {
"none": "Ë",
"3": "Ę"
}
},
"terminators": {
"1": " ",
"10": "ˇ",
"11": "~",
"2": "¯",
"3": "`",
"4": "¬",
"5": "˚",
"6": "Ω",
"7": "^",
"8": "¨",
"9": "´"
},
"keyMaps": {
"0": {
"label": "Base",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"action": "a61",
"output": "a"
},
"1": {
"code": 1,
"keyName": "S",
"action": "a79",
"output": "s"
},
"2": {
"code": 2,
"keyName": "D",
"action": "a64",
"output": "d"
},
"3": {
"code": 3,
"keyName": "F",
"action": "a66",
"output": "f"
},
"4": {
"code": 4,
"keyName": "H",
"action": "a68",
"output": "h"
},
"5": {
"code": 5,
"keyName": "G",
"action": "a67",
"output": "g"
},
"6": {
"code": 6,
"keyName": "Z",
"action": "a87",
"output": "z"
},
"7": {
"code": 7,
"keyName": "X",
"action": "a85",
"output": "x"
},
"8": {
"code": 8,
"keyName": "C",
"action": "a63",
"output": "c"
},
"9": {
"code": 9,
"keyName": "V",
"action": "a83",
"output": "v"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "§"
},
"11": {
"code": 11,
"keyName": "B",
"action": "a62",
"output": "b"
},
"12": {
"code": 12,
"keyName": "Q",
"action": "a77",
"output": "q"
},
"13": {
"code": 13,
"keyName": "W",
"action": "a84",
"output": "w"
},
"14": {
"code": 14,
"keyName": "E",
"action": "a65",
"output": "e"
},
"15": {
"code": 15,
"keyName": "R",
"action": "a78",
"output": "r"
},
"16": {
"code": 16,
"keyName": "Y",
"action": "a86",
"output": "y"
},
"17": {
"code": 17,
"keyName": "T",
"action": "a81",
"output": "t"
},
"18": {
"code": 18,
"keyName": "1",
"action": "a14",
"output": "1"
},
"21": {
"code": 21,
"keyName": "4",
"action": "a17",
"output": "4"
},
"22": {
"code": 22,
"keyName": "6",
"action": "a19",
"output": "6"
},
"23": {
"code": 23,
"keyName": "5",
"action": "a18",
"output": "5"
},
"30": {
"code": 30,
"keyName": "]",
"output": "["
}
}
},
"1": {
"label": "Shift",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"action": "a30",
"output": "A"
},
"1": {
"code": 1,
"keyName": "S",
"action": "a48",
"output": "S"
},
"2": {
"code": 2,
"keyName": "D",
"action": "a33",
"output": "D"
},
"3": {
"code": 3,
"keyName": "F",
"action": "a35",
"output": "F"
},
"4": {
"code": 4,
"keyName": "H",
"action": "a37",
"output": "H"
},
"5": {
"code": 5,
"keyName": "G",
"action": "a36",
"output": "G"
},
"6": {
"code": 6,
"keyName": "Z",
"action": "a55",
"output": "Z"
},
"7": {
"code": 7,
"keyName": "X",
"action": "a53",
"output": "X"
},
"8": {
"code": 8,
"keyName": "C",
"action": "a32",
"output": "C"
},
"9": {
"code": 9,
"keyName": "V",
"action": "a51",
"output": "V"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "±"
},
"11": {
"code": 11,
"keyName": "B",
"action": "a31",
"output": "B"
},
"12": {
"code": 12,
"keyName": "Q",
"action": "a46",
"output": "Q"
},
"13": {
"code": 13,
"keyName": "W",
"action": "a52",
"output": "W"
},
"14": {
"code": 14,
"keyName": "E",
"action": "a34",
"output": "E"
},
"15": {
"code": 15,
"keyName": "R",
"action": "a47",
"output": "R"
},
"16": {
"code": 16,
"keyName": "Y",
"action": "a54",
"output": "Y"
},
"17": {
"code": 17,
"keyName": "T",
"action": "a49",
"output": "T"
},
"18": {
"code": 18,
"keyName": "1",
"action": "a0",
"output": "!"
},
"21": {
"code": 21,
"keyName": "4",
"action": "a3",
"output": "$"
},
"22": {
"code": 22,
"keyName": "6",
"output": "&"
},
"23": {
"code": 23,
"keyName": "5",
"action": "a4",
"output": "%"
},
"30": {
"code": 30,
"keyName": "]",
"output": "{"
}
}
},
"2": {
"label": "Caps",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"action": "a30",
"output": "A"
},
"1": {
"code": 1,
"keyName": "S",
"action": "a48",
"output": "S"
},
"2": {
"code": 2,
"keyName": "D",
"action": "a33",
"output": "D"
},
"3": {
"code": 3,
"keyName": "F",
"action": "a35",
"output": "F"
},
"4": {
"code": 4,
"keyName": "H",
"action": "a37",
"output": "H"
},
"5": {
"code": 5,
"keyName": "G",
"action": "a36",
"output": "G"
},
"6": {
"code": 6,
"keyName": "Z",
"action": "a55",
"output": "Z"
},
"7": {
"code": 7,
"keyName": "X",
"action": "a53",
"output": "X"
},
"8": {
"code": 8,
"keyName": "C",
"action": "a32",
"output": "C"
},
"9": {
"code": 9,
"keyName": "V",
"action": "a51",
"output": "V"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "ẞ"
},
"11": {
"code": 11,
"keyName": "B",
"action": "a31",
"output": "B"
},
"12": {
"code": 12,
"keyName": "Q",
"action": "a46",
"output": "Q"
},
"13": {
"code": 13,
"keyName": "W",
"action": "a52",
"output": "W"
},
"14": {
"code": 14,
"keyName": "E",
"action": "a34",
"output": "E"
},
"15": {
"code": 15,
"keyName": "R",
"action": "a47",
"output": "R"
},
"16": {
"code": 16,
"keyName": "Y",
"action": "a54",
"output": "Y"
},
"17": {
"code": 17,
"keyName": "T",
"action": "a49",
"output": "T"
},
"18": {
"code": 18,
"keyName": "1",
"action": "a14",
"output": "1"
},
"21": {
"code": 21,
"keyName": "4",
"action": "a17",
"output": "4"
},
"22": {
"code": 22,
"keyName": "6",
"action": "a19",
"output": "6"
},
"23": {
"code": 23,
"keyName": "5",
"action": "a18",
"output": "5"
},
"30": {
"code": 30,
"keyName": "]",
"output": "["
}
}
},
"3": {
"label": "Option",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"action": "a104",
"output": "ä"
},
"1": {
"code": 1,
"keyName": "S",
"output": "ß"
},
"2": {
"code": 2,
"keyName": "D",
"output": "đ"
},
"3": {
"code": 3,
"keyName": "F",
"output": "è"
},
"4": {
"code": 4,
"keyName": "H",
"output": "ù"
},
"5": {
"code": 5,
"keyName": "G",
"output": "é"
},
"6": {
"code": 6,
"keyName": "Z",
"output": "à"
},
"7": {
"code": 7,
"keyName": "X",
"output": "á"
},
"8": {
"code": 8,
"keyName": "C",
"output": "ç"
},
"9": {
"code": 9,
"keyName": "V",
"output": "ì"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "§"
},
"11": {
"code": 11,
"keyName": "B",
"output": "í"
},
"12": {
"code": 12,
"keyName": "Q",
"action": "a105",
"output": "æ"
},
"13": {
"code": 13,
"keyName": "W",
"output": "å"
},
"14": {
"code": 14,
"keyName": "E",
"action": "a106",
"output": "ë"
},
"15": {
"code": 15,
"keyName": "R",
"output": "ý"
},
"16": {
"code": 16,
"keyName": "Y",
"output": "ÿ"
},
"17": {
"code": 17,
"keyName": "T",
"output": "þ"
},
"18": {
"code": 18,
"keyName": "1",
"output": "¡"
},
"21": {
"code": 21,
"keyName": "4",
"output": "£"
},
"22": {
"code": 22,
"keyName": "6",
"action": "a20",
"deadKey": "7"
},
"23": {
"code": 23,
"keyName": "5",
"output": "€"
},
"30": {
"code": 30,
"keyName": "]",
"output": "»"
}
}
},
"4": {
"label": "Shift+Option",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"action": "a97",
"output": "Ä"
},
"1": {
"code": 1,
"keyName": "S",
"output": "ẞ"
},
"2": {
"code": 2,
"keyName": "D",
"output": "Đ"
},
"3": {
"code": 3,
"keyName": "F",
"output": "È"
},
"4": {
"code": 4,
"keyName": "H",
"output": "Ù"
},
"5": {
"code": 5,
"keyName": "G",
"output": "É"
},
"6": {
"code": 6,
"keyName": "Z",
"output": "À"
},
"7": {
"code": 7,
"keyName": "X",
"output": "Á"
},
"8": {
"code": 8,
"keyName": "C",
"output": "Ç"
},
"9": {
"code": 9,
"keyName": "V",
"output": "Ì"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "±"
},
"11": {
"code": 11,
"keyName": "B",
"output": "Í"
},
"12": {
"code": 12,
"keyName": "Q",
"action": "a98",
"output": "Æ"
},
"13": {
"code": 13,
"keyName": "W",
"output": "Å"
},
"14": {
"code": 14,
"keyName": "E",
"action": "a99",
"output": "Ë"
},
"15": {
"code": 15,
"keyName": "R",
"output": "Ý"
},
"16": {
"code": 16,
"keyName": "Y",
"output": "Ÿ"
},
"17": {
"code": 17,
"keyName": "T",
"output": "Þ"
},
"18": {
"code": 18,
"keyName": "1",
"output": "¹"
},
"21": {
"code": 21,
"keyName": "4",
"output": "¥"
},
"22": {
"code": 22,
"keyName": "6",
"action": "a111",
"deadKey": "10"
},
"23": {
"code": 23,
"keyName": "5",
"output": "¢"
},
"30": {
"code": 30,
"keyName": "]",
"output": ""
}
}
},
"5": {
"label": "Caps+Option",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"output": "Ä"
},
"1": {
"code": 1,
"keyName": "S",
"output": "ß"
},
"2": {
"code": 2,
"keyName": "D",
"output": "Ð"
},
"3": {
"code": 3,
"keyName": "F",
"output": "È"
},
"4": {
"code": 4,
"keyName": "H",
"output": "Ù"
},
"5": {
"code": 5,
"keyName": "G",
"output": "É"
},
"6": {
"code": 6,
"keyName": "Z",
"output": "À"
},
"7": {
"code": 7,
"keyName": "X",
"output": "Á"
},
"8": {
"code": 8,
"keyName": "C",
"output": "Ç"
},
"9": {
"code": 9,
"keyName": "V",
"output": "Ì"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "ẞ"
},
"11": {
"code": 11,
"keyName": "B",
"output": "Í"
},
"12": {
"code": 12,
"keyName": "Q",
"action": "a98",
"output": "Æ"
},
"13": {
"code": 13,
"keyName": "W",
"output": "Å"
},
"14": {
"code": 14,
"keyName": "E",
"output": "Ë"
},
"15": {
"code": 15,
"keyName": "R",
"output": "Ý"
},
"16": {
"code": 16,
"keyName": "Y",
"output": "Ÿ"
},
"17": {
"code": 17,
"keyName": "T",
"output": "Þ"
},
"18": {
"code": 18,
"keyName": "1",
"output": "¡"
},
"21": {
"code": 21,
"keyName": "4",
"output": "£"
},
"22": {
"code": 22,
"keyName": "6",
"action": "a58",
"output": "^"
},
"23": {
"code": 23,
"keyName": "5",
"output": "€"
},
"30": {
"code": 30,
"keyName": "]",
"output": "»"
}
}
},
"6": {
"label": "Command+Option",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"output": "å"
},
"1": {
"code": 1,
"keyName": "S",
"output": "ß"
},
"2": {
"code": 2,
"keyName": "D",
"output": "∂"
},
"3": {
"code": 3,
"keyName": "F",
"output": "ƒ"
},
"4": {
"code": 4,
"keyName": "H",
"output": "˙"
},
"5": {
"code": 5,
"keyName": "G",
"output": "©"
},
"6": {
"code": 6,
"keyName": "Z",
"output": "Ω"
},
"7": {
"code": 7,
"keyName": "X",
"output": "≈"
},
"8": {
"code": 8,
"keyName": "C",
"output": "ç"
},
"9": {
"code": 9,
"keyName": "V",
"output": "√"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "§"
},
"11": {
"code": 11,
"keyName": "B",
"output": "∫"
},
"12": {
"code": 12,
"keyName": "Q",
"output": "œ"
},
"13": {
"code": 13,
"keyName": "W",
"output": "∑"
},
"14": {
"code": 14,
"keyName": "E",
"output": "´"
},
"15": {
"code": 15,
"keyName": "R",
"output": "®"
},
"16": {
"code": 16,
"keyName": "Y",
"output": "¥"
},
"17": {
"code": 17,
"keyName": "T",
"output": "†"
},
"18": {
"code": 18,
"keyName": "1",
"output": "¡"
},
"21": {
"code": 21,
"keyName": "4",
"output": "¢"
},
"22": {
"code": 22,
"keyName": "6",
"output": "ẞ"
},
"23": {
"code": 23,
"keyName": "5",
"output": "∞"
},
"30": {
"code": 30,
"keyName": "]",
"output": ""
}
}
},
"7": {
"label": "Control",
"keys": {
"0": {
"code": 0,
"keyName": "A",
"output": "\u0001"
},
"1": {
"code": 1,
"keyName": "S",
"output": "\u0013"
},
"2": {
"code": 2,
"keyName": "D",
"output": "\u0004"
},
"3": {
"code": 3,
"keyName": "F",
"output": "\u0006"
},
"4": {
"code": 4,
"keyName": "H",
"output": "\b"
},
"5": {
"code": 5,
"keyName": "G",
"output": "\u0007"
},
"6": {
"code": 6,
"keyName": "Z",
"output": "\u001a"
},
"7": {
"code": 7,
"keyName": "X",
"output": "\u0018"
},
"8": {
"code": 8,
"keyName": "C",
"output": "\u0003"
},
"9": {
"code": 9,
"keyName": "V",
"output": "\u0016"
},
"10": {
"code": 10,
"keyName": "§/`",
"output": "0"
},
"11": {
"code": 11,
"keyName": "B",
"output": "\u0002"
},
"12": {
"code": 12,
"keyName": "Q",
"output": "\u0011"
},
"13": {
"code": 13,
"keyName": "W",
"output": "\u0017"
},
"14": {
"code": 14,
"keyName": "E",
"output": "\u0005"
},
"15": {
"code": 15,
"keyName": "R",
"output": "\u0012"
},
"16": {
"code": 16,
"keyName": "Y",
"output": "\u0019"
},
"17": {
"code": 17,
"keyName": "T",
"output": "\u0014"
},
"18": {
"code": 18,
"keyName": "1",
"output": "1"
},
"21": {
"code": 21,
"keyName": "4",
"output": "4"
},
"22": {
"code": 22,
"keyName": "6",
"output": "6"
},
"23": {
"code": 23,
"keyName": "5",
"output": "5"
},
"30": {
"code": 30,
"keyName": "]",
"output": "\u001d"
}
}
}
},
"deadKeys": {
"1": {
"terminator": " ",
"compositions": {
"a0": "≠",
"a1": "″",
"a10": "⊕",
"a11": "±",
"a12": "⋅",
"a16": "∛",
"a17": "∜",
"a21": "∡",
"a22": "∠",
"a23": "∟",
"a24": "∴",
"a25": "∵",
"a26": "≤",
"a27": "≝",
"a28": "≥",
"a30": "∀",
"a31": "⊇",
"a32": "",
"a33": "∇",
"a34": "∃",
"a35": "∎",
"a36": "⊃",
"a37": "⊅",
"a4": "‰",
"a40": "∌",
"a41": "∦",
"a42": "∉",
"a43": "",
"a44": "∅",
"a45": "",
"a46": "",
"a47": "",
"a48": "∫",
"a5": "∧",
"a50": "",
"a53": "∄",
"a55": "",
"a58": "℘",
"a6": "",
"a62": "⊆",
"a63": "∝",
"a64": "Δ",
"a66": "ƒ",
"a67": "⊂",
"a68": "⊄",
"a69": "∞",
"a71": "∋",
"a72": "∥",
"a73": "∈",
"a74": "ⁿ",
"a75": "∘",
"a76": "∂",
"a78": "√",
"a79": "∩",
"a80": "√",
"a82": "",
"a87": "↯",
"a89": "",
"a9": "⊗",
"a91": "≈"
}
},
"10": {
"terminator": "ˇ",
"compositions": {
"a103": "Ǚ",
"a110": "ǚ",
"a16": "ǯ",
"a18": "ˇ",
"a2": "Ǯ",
"a30": "Ǎ",
"a32": "Č",
"a33": "Ď",
"a34": "Ě",
"a36": "Ǧ",
"a37": "Ȟ",
"a38": "Ǐ",
"a40": "Ǩ",
"a41": "Ľ",
"a43": "Ň",
"a44": "Ǒ",
"a47": "Ř",
"a48": "Š",
"a49": "Ť",
"a50": "Ǔ",
"a55": "Ž",
"a61": "ǎ",
"a63": "č",
"a64": "ď",
"a65": "ě",
"a67": "ǧ",
"a68": "ȟ",
"a69": "ǐ",
"a70": "ǰ",
"a71": "ǩ",
"a72": "ľ",
"a74": "ň",
"a75": "ǒ",
"a78": "ř",
"a79": "š",
"a80": "ˇ",
"a81": "ť",
"a82": "ǔ",
"a87": "ž"
}
},
"11": {
"terminator": "~",
"compositions": {
"a30": "Ã",
"a38": "Ĩ",
"a43": "Ñ",
"a44": "Õ",
"a50": "Ũ",
"a54": "Ỹ",
"a61": "ã",
"a69": "ĩ",
"a74": "ñ",
"a75": "õ",
"a80": "~",
"a82": "ũ",
"a86": "ỹ"
}
},
"2": {
"terminator": "¯",
"compositions": {
"a105": "ǣ",
"a14": "",
"a15": "",
"a16": "—",
"a18": "¯",
"a30": "Ā",
"a31": "Ƀ",
"a33": "Đ",
"a34": "Ē",
"a36": "Ḡ",
"a37": "Ħ",
"a38": "Ī",
"a41": "Ḻ",
"a44": "Ō",
"a49": "Ŧ",
"a50": "Ū",
"a54": "Ȳ",
"a61": "ā",
"a62": "ƀ",
"a64": "đ",
"a65": "ē",
"a67": "ḡ",
"a68": "ħ",
"a69": "ī",
"a72": "ḻ",
"a75": "ō",
"a80": "¯",
"a81": "ŧ",
"a82": "ū",
"a86": "ȳ",
"a98": "Ǣ"
}
},
"3": {
"terminator": "`",
"compositions": {
"a100": "Į",
"a101": "Ǫ",
"a103": "Ų",
"a104": "ą",
"a106": "ę",
"a107": "į",
"a108": "ǫ",
"a110": "ų",
"a30": "À",
"a34": "È",
"a38": "Ì",
"a44": "Ò",
"a50": "Ù",
"a61": "à",
"a65": "è",
"a69": "ì",
"a75": "ò",
"a80": "`",
"a82": "ù",
"a97": "Ą",
"a99": "Ę"
}
},
"4": {
"terminator": "¬",
"compositions": {
"a10": "⇔",
"a14": "№",
"a15": "½",
"a16": "⅓",
"a17": "¼",
"a18": "⅔",
"a19": "¾",
"a27": "↔",
"a37": "⇐",
"a38": "⇗",
"a39": "⇓",
"a40": "⇑",
"a41": "⇒",
"a42": "⇘",
"a43": "⇙",
"a49": "℠",
"a50": "⇖",
"a63": "©",
"a68": "←",
"a69": "↗",
"a70": "↓",
"a71": "↑",
"a72": "→",
"a73": "↘",
"a74": "↙",
"a76": "℗",
"a78": "®",
"a79": "§",
"a80": "¬",
"a81": "™",
"a82": "↖"
}
},
"5": {
"terminator": "˚",
"compositions": {
"a18": "˚",
"a30": "Å",
"a32": "Ċ",
"a34": "Ė",
"a36": "Ġ",
"a38": "İ",
"a50": "Ů",
"a55": "Ż",
"a61": "å",
"a63": "ċ",
"a65": "ė",
"a67": "ġ",
"a80": "˚",
"a82": "ů",
"a84": "ẘ",
"a86": "ẙ",
"a87": "ż"
}
},
"6": {
"terminator": "Ω",
"compositions": {
"a0": "¹",
"a1": "₊",
"a10": "⁺",
"a11": "⁻",
"a13": "₀",
"a14": "₁",
"a15": "₂",
"a16": "₃",
"a17": "₄",
"a18": "₅",
"a19": "₆",
"a2": "³",
"a21": "₇",
"a22": "₈",
"a23": "₉",
"a25": "₋",
"a27": "⁼",
"a29": "²",
"a3": "⁴",
"a30": "Α",
"a31": "Β",
"a32": "Χ",
"a33": "Δ",
"a34": "Ε",
"a35": "Φ",
"a36": "Γ",
"a37": "Θ",
"a38": "Η",
"a39": "Ι",
"a4": "⁵",
"a40": "Κ",
"a41": "Λ",
"a42": "Μ",
"a43": "Ν",
"a44": "Ο",
"a45": "Π",
"a46": "Ω",
"a47": "Ρ",
"a48": "Σ",
"a49": "Τ",
"a5": "⁷",
"a50": "Ω",
"a51": "Β",
"a52": "Ψ",
"a53": "Ξ",
"a54": "Υ",
"a55": "Ζ",
"a56": "⁽",
"a57": "⁾",
"a58": "⁶",
"a6": "₌",
"a61": "α",
"a62": "β",
"a63": "χ",
"a64": "δ",
"a65": "ε",
"a66": "φ",
"a67": "γ",
"a68": "θ",
"a69": "η",
"a7": "⁹",
"a70": "ι",
"a71": "κ",
"a72": "λ",
"a73": "μ",
"a74": "ν",
"a75": "ο",
"a76": "π",
"a77": "ω",
"a78": "ρ",
"a79": "σ",
"a8": "⁰",
"a81": "τ",
"a82": "ω",
"a83": "β",
"a84": "ψ",
"a85": "ξ",
"a86": "υ",
"a87": "ζ",
"a88": "₍",
"a9": "⁸",
"a90": "₎"
}
},
"7": {
"terminator": "^",
"compositions": {
"a30": "Â",
"a32": "Ĉ",
"a34": "Ê",
"a36": "Ĝ",
"a37": "Ĥ",
"a38": "Î",
"a39": "Ĵ",
"a44": "Ô",
"a48": "Ŝ",
"a50": "Û",
"a52": "Ŵ",
"a54": "Ŷ",
"a61": "â",
"a63": "ĉ",
"a65": "ê",
"a67": "ĝ",
"a68": "ĥ",
"a69": "î",
"a70": "ĵ",
"a75": "ô",
"a79": "ŝ",
"a80": "^",
"a82": "û",
"a84": "ŵ",
"a86": "ŷ"
}
},
"8": {
"terminator": "¨",
"compositions": {
"a30": "Ä",
"a34": "Ë",
"a37": "Ḧ",
"a38": "Ï",
"a44": "Ö",
"a50": "Ü",
"a52": "Ẅ",
"a53": "Ẍ",
"a54": "Ÿ",
"a61": "ä",
"a65": "ë",
"a68": "ḧ",
"a69": "ï",
"a75": "ö",
"a80": "¨",
"a81": "ẗ",
"a82": "ü",
"a84": "ẅ",
"a85": "ẍ",
"a86": "ÿ"
}
},
"9": {
"terminator": "´",
"compositions": {
"a102": "Ǿ",
"a105": "ǽ",
"a109": "ǿ",
"a18": "´",
"a30": "Á",
"a31": "Ɓ",
"a32": "Ć",
"a34": "É",
"a36": "Ǵ",
"a38": "Í",
"a40": "Ḱ",
"a41": "Ł",
"a42": "Ḿ",
"a43": "Ń",
"a44": "Ó",
"a45": "Ṕ",
"a47": "Ŕ",
"a48": "Ś",
"a50": "Ú",
"a52": "Ẃ",
"a54": "Ý",
"a55": "Ź",
"a61": "á",
"a62": "ɓ",
"a63": "ć",
"a65": "é",
"a67": "ǵ",
"a69": "í",
"a71": "ḱ",
"a72": "ł",
"a73": "ḿ",
"a74": "ń",
"a75": "ó",
"a76": "ṕ",
"a78": "ŕ",
"a79": "ś",
"a80": "´",
"a82": "ú",
"a84": "ẃ",
"a86": "ý",
"a87": "ź",
"a98": "Ǽ"
}
}
}
}