Files
sloposk/layouts/template.json
T
ericek111andClaude Opus 5.5 ac67ceac18 Full keyboard: stagger the letter rows like a hardware keyboard
- The ISO key left of Z takes its room from left shift (2.25 → 1.25 + 1),
  so ISO layouts no longer make the shift row the widest
- Caps lock and left shift keep their width; only right-hand keys stretch,
  so A no longer lines up with the key below it

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

198 lines
8.7 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",
"fillHeight": true,
"rows": [
["7", "8", "9", "/", {"type": "backspace"}],
["4", "5", "6", "*", "-"],
["1", "2", "3", "+", {"type": "enter"}],
[{"label": "0", "width": 2}, ".", ",", "="]
]
}
],
"layers": [
{
"name": "letters",
"full": [
[
{"type": "keys", "row": 0},
{"type": "backspace", "width": 1.5, "stretch": true}
],
[
{"type": "keysym", "keysym": "Tab", "label": "tab", "width": 1.5, "stretch": true},
{"type": "keys", "row": 1}
],
[
{"type": "capslock", "label": "caps lock", "width": 1.75},
{"type": "keys", "row": 2},
{"type": "enter", "width": 1.75, "stretch": true}
],
[
{"type": "shift", "width": 2.25},
{"type": "keys", "row": 3},
{"type": "shift", "width": 2.25, "stretch": true}
],
[
{"type": "modifier", "modifier": "ctrl", "label": "ctrl", "width": 1.25},
{"type": "modifier", "modifier": "super", "label": "super", "width": 1.25},
{"type": "modifier", "modifier": "alt", "label": "alt", "width": 1.25},
{"type": "globe"},
{"type": "space", "width": 6, "stretch": true},
{"type": "modifier", "modifier": "alt", "label": "alt", "width": 1.25},
{"type": "layer", "label": ".?123", "target": "numbers", "width": 1.25},
{"type": "dismiss"}
]
],
"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"}
]
]
}
]
}