c609ffe0b5
Have these defined in the JSON files themselves, instead of trying to add them from JS while minding the differences in number of levels and rows. This means more redundant data in the JSON files, but simplifies OSK layout creation significantly, and allows finer control over the appearance without quirks. As a result, importing data from CLDR is no longer as straightforward as running an script. After initial import, manual editions will be required to add missing keys, assign key widths, and so on. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2278>
987 lines
17 KiB
JSON
987 lines
17 KiB
JSON
{
|
||
"levels": [
|
||
{
|
||
"level": "",
|
||
"mode": "default",
|
||
"rows": [
|
||
[
|
||
{
|
||
"strings": [
|
||
"q"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"w"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"e"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"r"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"t"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"y"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"u",
|
||
"ü"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"i"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"o",
|
||
"ø",
|
||
"ô",
|
||
"ò",
|
||
"ó",
|
||
"õ",
|
||
"œ",
|
||
"ō"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"p"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"å"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "edit-clear-symbolic",
|
||
"keyval": "0xff08",
|
||
"width": 1.5
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"strings": [
|
||
"a",
|
||
"æ",
|
||
"à",
|
||
"á",
|
||
"â",
|
||
"ã",
|
||
"ā"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"s",
|
||
"š",
|
||
"ß",
|
||
"ś"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"d"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"f"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"g"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"h"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"j"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"k"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"l"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"ö",
|
||
"ø"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"ä",
|
||
"æ"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "keyboard-enter-symbolic",
|
||
"keyval": "0xff0d",
|
||
"width": 1.5
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"iconName": "keyboard-shift-symbolic",
|
||
"level": 1,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
"z",
|
||
"ž",
|
||
"ź",
|
||
"ż"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"x"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"c"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"v"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"b"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"n"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"m"
|
||
]
|
||
},
|
||
{
|
||
"action": "levelSwitch",
|
||
"iconName": "keyboard-shift-symbolic",
|
||
"level": 1,
|
||
"width": 4
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "?123",
|
||
"level": 2,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
","
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
" "
|
||
],
|
||
"width": 6
|
||
},
|
||
{
|
||
"strings": [
|
||
".",
|
||
"#",
|
||
"!",
|
||
",",
|
||
"?",
|
||
"-",
|
||
":",
|
||
"'",
|
||
"@"
|
||
]
|
||
},
|
||
{
|
||
"action": "emoji",
|
||
"iconName": "face-smile-symbolic"
|
||
},
|
||
{
|
||
"action": "languageMenu",
|
||
"iconName": "keyboard-layout-symbolic"
|
||
},
|
||
{
|
||
"action": "hide",
|
||
"iconName": "go-down-symbolic"
|
||
}
|
||
]
|
||
]
|
||
},
|
||
{
|
||
"level": "shift",
|
||
"mode": "latched",
|
||
"rows": [
|
||
[
|
||
{
|
||
"strings": [
|
||
"Q"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"W"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"E"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"R"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"T"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"Y"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"U",
|
||
"Ü"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"I"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"O",
|
||
"Ø",
|
||
"Ô",
|
||
"Ò",
|
||
"Ó",
|
||
"Õ",
|
||
"Œ",
|
||
"Ō"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"P"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"Å"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "edit-clear-symbolic",
|
||
"keyval": "0xff08",
|
||
"width": 1.5
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"strings": [
|
||
"A",
|
||
"Æ",
|
||
"À",
|
||
"Á",
|
||
"Â",
|
||
"Ã",
|
||
"Ā"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"S",
|
||
"Š",
|
||
"SS",
|
||
"Ś"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"D"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"F"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"G"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"H"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"J"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"K"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"L"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"Ö",
|
||
"Ø"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"Ä",
|
||
"Æ"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "keyboard-enter-symbolic",
|
||
"keyval": "0xff0d",
|
||
"width": 1.5
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"iconName": "keyboard-shift-symbolic",
|
||
"level": 0,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
"Z",
|
||
"Ž",
|
||
"Ź",
|
||
"Ż"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"X"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"C"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"V"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"B"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"N"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"M"
|
||
]
|
||
},
|
||
{
|
||
"action": "levelSwitch",
|
||
"iconName": "keyboard-shift-symbolic",
|
||
"level": 0,
|
||
"width": 4
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "?123",
|
||
"level": 2,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
","
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
" "
|
||
],
|
||
"width": 6
|
||
},
|
||
{
|
||
"strings": [
|
||
".",
|
||
"#",
|
||
"!",
|
||
",",
|
||
"?",
|
||
"-",
|
||
":",
|
||
"'",
|
||
"@"
|
||
]
|
||
},
|
||
{
|
||
"action": "emoji",
|
||
"iconName": "face-smile-symbolic"
|
||
},
|
||
{
|
||
"action": "languageMenu",
|
||
"iconName": "keyboard-layout-symbolic"
|
||
},
|
||
{
|
||
"action": "hide",
|
||
"iconName": "go-down-symbolic"
|
||
}
|
||
]
|
||
]
|
||
},
|
||
{
|
||
"level": "opt",
|
||
"mode": "locked",
|
||
"rows": [
|
||
[
|
||
{
|
||
"strings": [
|
||
"1",
|
||
"¹",
|
||
"½",
|
||
"⅓",
|
||
"¼",
|
||
"⅛"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"2",
|
||
"²",
|
||
"⅔"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"3",
|
||
"³",
|
||
"¾",
|
||
"⅜"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"4",
|
||
"⁴"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"5",
|
||
"⅝"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"6"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"7",
|
||
"⅞"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"8"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"9"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"0",
|
||
"ⁿ",
|
||
"∅"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "edit-clear-symbolic",
|
||
"keyval": "0xff08",
|
||
"width": 1.5
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"strings": [
|
||
"@"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"#"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"€",
|
||
"¢",
|
||
"£",
|
||
"$",
|
||
"¥",
|
||
"₱"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"%",
|
||
"‰"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"&"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"-",
|
||
"_",
|
||
"–",
|
||
"—",
|
||
"·"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"+",
|
||
"±"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"(",
|
||
"<",
|
||
"{",
|
||
"["
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
")",
|
||
">",
|
||
"}",
|
||
"]"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "keyboard-enter-symbolic",
|
||
"keyval": "0xff0d",
|
||
"width": 2
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "=/<",
|
||
"level": 3,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
"*",
|
||
"†",
|
||
"‡",
|
||
"★"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"\"",
|
||
"“",
|
||
"”",
|
||
"«",
|
||
"»"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"'",
|
||
"‘",
|
||
"’",
|
||
"‹",
|
||
"›"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
":"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
";"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"!",
|
||
"¡"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"?",
|
||
"¿"
|
||
]
|
||
},
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "=/<",
|
||
"level": 3,
|
||
"width": 3
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "ABC",
|
||
"level": 0,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
"_"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"/"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
" "
|
||
],
|
||
"width": 3
|
||
},
|
||
{
|
||
"strings": [
|
||
","
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
".",
|
||
"…"
|
||
]
|
||
},
|
||
{
|
||
"action": "emoji",
|
||
"iconName": "face-smile-symbolic"
|
||
},
|
||
{
|
||
"action": "languageMenu",
|
||
"iconName": "keyboard-layout-symbolic"
|
||
},
|
||
{
|
||
"action": "hide",
|
||
"iconName": "go-down-symbolic"
|
||
}
|
||
]
|
||
]
|
||
},
|
||
{
|
||
"level": "opt+shift",
|
||
"mode": "locked",
|
||
"rows": [
|
||
[
|
||
{
|
||
"strings": [
|
||
"~"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"`"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"|"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"•",
|
||
"♪",
|
||
"♥",
|
||
"♠",
|
||
"♦",
|
||
"♣"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"√"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"Π",
|
||
"π"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"÷"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"×"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"¶",
|
||
"§"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"∆"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "edit-clear-symbolic",
|
||
"keyval": "0xff08",
|
||
"width": 1.5
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"strings": [
|
||
"£"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"¥"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"$",
|
||
"¢"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"¢"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"^",
|
||
"↑",
|
||
"↓",
|
||
"←",
|
||
"→"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"°",
|
||
"′",
|
||
"″"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"=",
|
||
"≠",
|
||
"≈",
|
||
"∞"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"{"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"}"
|
||
]
|
||
},
|
||
{
|
||
"iconName": "keyboard-enter-symbolic",
|
||
"keyval": "0xff0d",
|
||
"width": 2
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "?123",
|
||
"level": 2,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
"\\"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"©"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"®"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"™"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"℅"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"["
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
"]"
|
||
]
|
||
},
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "?123",
|
||
"level": 2,
|
||
"width": 3
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"action": "levelSwitch",
|
||
"label": "ABC",
|
||
"level": 0,
|
||
"width": 1.5
|
||
},
|
||
{
|
||
"strings": [
|
||
"<",
|
||
"‹",
|
||
"≤",
|
||
"«"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
">",
|
||
"›",
|
||
"≥",
|
||
"»"
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
" "
|
||
],
|
||
"width": 3
|
||
},
|
||
{
|
||
"strings": [
|
||
","
|
||
]
|
||
},
|
||
{
|
||
"strings": [
|
||
".",
|
||
"…"
|
||
]
|
||
},
|
||
{
|
||
"action": "emoji",
|
||
"iconName": "face-smile-symbolic"
|
||
},
|
||
{
|
||
"action": "languageMenu",
|
||
"iconName": "keyboard-layout-symbolic"
|
||
},
|
||
{
|
||
"action": "hide",
|
||
"iconName": "go-down-symbolic"
|
||
}
|
||
]
|
||
]
|
||
}
|
||
],
|
||
"locale": "fi",
|
||
"name": "Finnish"
|
||
}
|