Files
sloposk/layouts/template.json
T
ericek111andClaude Opus 5.5 88338fde22 Optional PC key blocks: function row, navigation, numeric keypad
- Template sections placed above or to the right of the typing keys;
  the user picks any mix in settings, typing keys included
- keysym keys send XKB keysyms on press, optionally repeating
- Geometry lays blocks side by side with one key unit; stretch keys are
  resolved at layout time so composed blocks line up
- Toggling a block resizes the window so keys keep their size

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:18:10 +02:00

167 lines
7.3 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.
{
"id": "template",
"name": "Template",
"alternates": {
"a": ["á", "à", "â", "ä", "æ", "ã", "å", "ā"],
"c": ["ç", "ć", "č"],
"d": ["ð"],
"e": ["é", "è", "ê", "ë", "ē", "ė", "ę"],
"i": ["í", "ì", "î", "ï", "ī", "į"],
"l": ["ł"],
"n": ["ñ", "ń"],
"o": ["ó", "ò", "ô", "ö", "õ", "ø", "œ", "ō"],
"s": ["ß", "ś", "š"],
"t": ["þ"],
"u": ["ú", "ù", "û", "ü", "ū"],
"y": ["ý", "ÿ"],
"z": ["ž", "ź", "ż"]
},
"sections": [
{
"id": "function",
"name": "Function keys",
"placement": "above",
"rows": [[
{"type": "keysym", "keysym": "Escape", "label": "esc", "stretch": true},
{"type": "keysym", "keysym": "F1", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F2", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F3", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F4", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F5", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F6", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F7", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F8", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F9", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F10", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F11", "width": 0.75, "stretch": true},
{"type": "keysym", "keysym": "F12", "width": 0.75, "stretch": true}
]]
},
{
"id": "navigation",
"name": "Navigation keys",
"rows": [
[
{"type": "keysym", "keysym": "Insert", "label": "ins"},
{"type": "keysym", "keysym": "Home", "label": "home"},
{"type": "keysym", "keysym": "Prior", "label": "pg up", "repeat": true}
],
[
{"type": "keysym", "keysym": "Delete", "label": "del", "repeat": true},
{"type": "keysym", "keysym": "End", "label": "end"},
{"type": "keysym", "keysym": "Next", "label": "pg dn", "repeat": true}
],
[
{"type": "spacer"},
{"type": "keysym", "keysym": "Up", "label": "↑", "repeat": true},
{"type": "spacer"}
],
[
{"type": "keysym", "keysym": "Left", "label": "←", "repeat": true},
{"type": "keysym", "keysym": "Down", "label": "↓", "repeat": true},
{"type": "keysym", "keysym": "Right", "label": "→", "repeat": true}
]
]
},
{
"id": "numpad",
"name": "Numeric keypad",
"rows": [
["7", "8", "9", "/", {"type": "backspace"}],
["4", "5", "6", "*", "-"],
["1", "2", "3", "+", {"type": "enter"}],
[{"label": "0", "width": 2}, ".", ",", "="]
]
}
],
"layers": [
{
"name": "letters",
"rows": [
[
{"type": "letters", "row": 0, "flicks": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]},
{"type": "backspace", "width": 1.5, "stretch": true}
],
[
{"type": "spacer", "width": 0.5},
{"type": "letters", "row": 1, "flicks": ["@", "#", "$", "&", "*", "(", ")", "'", "\""]},
{"type": "enter", "width": 2, "stretch": true}
],
[
{"type": "shift", "stretch": true},
{"type": "letters", "row": 2, "flicks": ["%", "-", "+", "=", "/", ";", ":"]},
{"label": ",", "flick": "!", "shifted": ","},
{"label": ".", "flick": "?", "shifted": ".", "alternates": ["…"]},
{"type": "shift", "width": 1.5, "stretch": true}
],
[
{"type": "layer", "label": ".?123", "target": "numbers", "width": 1.5},
{"type": "globe"},
{"type": "space", "width": 6.5, "stretch": true},
{"type": "layer", "label": ".?123", "target": "numbers", "width": 1.5},
{"type": "dismiss"}
]
]
},
{
"name": "numbers",
"rows": [
["1", "2", "3", "4", "5", "6", "7", "8", "9",
{"label": "0", "alternates": ["°"]},
{"type": "backspace", "width": 1.5}],
[
{"type": "spacer", "width": 0.5},
"@", "#",
{"label": "$", "alternates": ["€", "£", "¥", "₩", "₽", "¢"]},
{"label": "&", "alternates": ["§"]},
"*", "(", ")",
{"label": "'", "alternates": ["‘", "’", "`"]},
{"label": "\"", "alternates": ["“", "”", "„", "«", "»"]},
{"type": "enter", "width": 2}
],
[
{"type": "layer", "label": "#+=", "target": "symbols"},
"%",
{"label": "-", "alternates": ["–", "—", "•"]},
"+", "=",
{"label": "/", "alternates": ["\\"]},
";", ":", ",",
{"label": ".", "alternates": ["…"]},
{"type": "layer", "label": "#+=", "target": "symbols", "width": 1.5}
],
[
{"type": "layer", "label": "ABC", "target": "letters", "width": 1.5},
{"type": "globe"},
{"type": "space", "width": 6.5},
{"type": "layer", "label": "ABC", "target": "letters", "width": 1.5},
{"type": "dismiss"}
]
]
},
{
"name": "symbols",
"rows": [
["[", "]", "{", "}", "#", "%", "^", "*", "+", "=",
{"type": "backspace", "width": 1.5}],
[
{"type": "spacer", "width": 0.5},
"_", "\\", "|", "~", "<", ">", "€", "£", "¥",
{"type": "enter", "width": 2}
],
[
{"type": "layer", "label": "123", "target": "numbers"},
"•", "…", ".", ",", "?", "!", "'", "\"", "`",
{"type": "layer", "label": "123", "target": "numbers", "width": 1.5}
],
[
{"type": "layer", "label": "ABC", "target": "letters", "width": 1.5},
{"type": "globe"},
{"type": "space", "width": 6.5},
{"type": "layer", "label": "ABC", "target": "letters", "width": 1.5},
{"type": "dismiss"}
]
]
}
]
}