Files
sloposk/layouts/template.json
T
ericek111andClaude Opus 5.5 5277ab16ff Fix double-space period, shift double-tap; settings; letters from system keymap
- Double-space replaced the space via a Backspace keysym, which clients
  apply after the commit: use delete_surrounding_text with the commit
- Tests use a shared FakeEngine that applies ops to a simulated field
- Double-tap shift locks at a sentence start; typing between taps doesn't
- Organization name set: config lives in ~/.config/sloposk/
- Settings (auto-capitalization, double-space period) with a ⚙ panel
- Letter rows come from the compositor's XKB keymap; other letters of the
  layout become long-press alternates; globe switches the system layout
  over org.kde.keyboard
- One JSON template for non-letter layers; stretch keys even out rows

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

109 lines
4.5 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": ["ž", "ź", "ż"]
},
"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"}
]
]
}
]
}