Skip to content

Commit 29f170d

Browse files
committed
Add German QWERTZ keyboard layout and lessons
- Add German locale detection (de_DE/de_AT -> de; de_CH kept on fallback) - Add German QWERTZ (DIN 2137 T1) keyboard layout - Add full 13-lesson German course adapted to QWERTZ (o umlaut home key, y/z swap, umlauts and eszett) - Add German UI translation (po/de.po)
1 parent 5145333 commit 29f170d

7 files changed

Lines changed: 2732 additions & 0 deletions

File tree

data/keyboard_layouts/de.json

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
{
2+
"name": "German QWERTZ",
3+
"keys": [
4+
[
5+
{"base": "^", "shift": "°", "altgr": "", "finger": "left_pinky"},
6+
{"base": "1", "shift": "!", "altgr": "", "finger": "left_pinky"},
7+
{"base": "2", "shift": "\"", "altgr": "²", "finger": "left_ring"},
8+
{"base": "3", "shift": "§", "altgr": "³", "finger": "left_middle"},
9+
{"base": "4", "shift": "$", "altgr": "", "finger": "left_index"},
10+
{"base": "5", "shift": "%", "altgr": "", "finger": "left_index"},
11+
{"base": "6", "shift": "&", "altgr": "", "finger": "right_index"},
12+
{"base": "7", "shift": "/", "altgr": "{", "finger": "right_index"},
13+
{"base": "8", "shift": "(", "altgr": "[", "finger": "right_middle"},
14+
{"base": "9", "shift": ")", "altgr": "]", "finger": "right_ring"},
15+
{"base": "0", "shift": "=", "altgr": "}", "finger": "right_pinky"},
16+
{"base": "ß", "shift": "?", "altgr": "\\", "finger": "right_pinky"},
17+
{"base": "´", "shift": "`", "altgr": "", "finger": "right_pinky"}
18+
],
19+
[
20+
{"base": "q", "shift": "Q", "altgr": "@", "finger": "left_pinky"},
21+
{"base": "w", "shift": "W", "altgr": "", "finger": "left_ring"},
22+
{"base": "e", "shift": "E", "altgr": "", "finger": "left_middle"},
23+
{"base": "r", "shift": "R", "altgr": "", "finger": "left_index"},
24+
{"base": "t", "shift": "T", "altgr": "", "finger": "left_index"},
25+
{"base": "z", "shift": "Z", "altgr": "", "finger": "right_index"},
26+
{"base": "u", "shift": "U", "altgr": "", "finger": "right_index"},
27+
{"base": "i", "shift": "I", "altgr": "", "finger": "right_middle"},
28+
{"base": "o", "shift": "O", "altgr": "", "finger": "right_ring"},
29+
{"base": "p", "shift": "P", "altgr": "", "finger": "right_pinky"},
30+
{"base": "ü", "shift": "Ü", "altgr": "", "finger": "right_pinky"},
31+
{"base": "+", "shift": "*", "altgr": "~", "finger": "right_pinky"}
32+
],
33+
[
34+
{"base": "a", "shift": "A", "altgr": "", "finger": "left_pinky"},
35+
{"base": "s", "shift": "S", "altgr": "", "finger": "left_ring"},
36+
{"base": "d", "shift": "D", "altgr": "", "finger": "left_middle"},
37+
{"base": "f", "shift": "F", "altgr": "", "finger": "left_index"},
38+
{"base": "g", "shift": "G", "altgr": "", "finger": "left_index"},
39+
{"base": "h", "shift": "H", "altgr": "", "finger": "right_index"},
40+
{"base": "j", "shift": "J", "altgr": "", "finger": "right_index"},
41+
{"base": "k", "shift": "K", "altgr": "", "finger": "right_middle"},
42+
{"base": "l", "shift": "L", "altgr": "", "finger": "right_ring"},
43+
{"base": "ö", "shift": "Ö", "altgr": "", "finger": "right_pinky"},
44+
{"base": "ä", "shift": "Ä", "altgr": "", "finger": "right_pinky"},
45+
{"base": "#", "shift": "'", "altgr": "", "finger": "right_pinky"}
46+
],
47+
[
48+
{"base": "<", "shift": ">", "altgr": "|", "finger": "left_pinky"},
49+
{"base": "y", "shift": "Y", "altgr": "", "finger": "left_pinky"},
50+
{"base": "x", "shift": "X", "altgr": "", "finger": "left_ring"},
51+
{"base": "c", "shift": "C", "altgr": "", "finger": "left_middle"},
52+
{"base": "v", "shift": "V", "altgr": "", "finger": "left_index"},
53+
{"base": "b", "shift": "B", "altgr": "", "finger": "left_index"},
54+
{"base": "n", "shift": "N", "altgr": "", "finger": "right_index"},
55+
{"base": "m", "shift": "M", "altgr": "µ", "finger": "right_index"},
56+
{"base": ",", "shift": ";", "altgr": "", "finger": "right_middle"},
57+
{"base": ".", "shift": ":", "altgr": "", "finger": "right_ring"},
58+
{"base": "-", "shift": "_", "altgr": "", "finger": "right_pinky"}
59+
]
60+
],
61+
"space": {"base": " ", "label": "Leertaste", "finger": "both_thumbs"},
62+
"modifiers": {
63+
"tab": {"label": "Tab", "finger": "left_pinky"},
64+
"caps_lock": {"label": "Feststell", "finger": "left_pinky"},
65+
"shift_left": {"label": "Umschalt", "finger": "left_pinky"},
66+
"shift_right": {"label": "Umschalt", "finger": "right_pinky"},
67+
"ctrl_left": {"label": "Strg", "finger": "left_pinky"},
68+
"ctrl_right": {"label": "Strg", "finger": "right_pinky"},
69+
"super_left": {"label": "Super", "finger": "left_thumb"},
70+
"super_right": {"label": "Super", "finger": "right_thumb"},
71+
"menu": {"label": "Menü", "finger": "right_pinky"},
72+
"alt_left": {"label": "Alt", "finger": "left_thumb"},
73+
"alt_right": {"label": "Alt Gr", "finger": "right_thumb"},
74+
"enter": {"label": "Eingabe", "finger": "right_pinky", "rows": [1, 2]},
75+
"backspace": {"label": "Rücktaste", "finger": "right_pinky"}
76+
}
77+
}

0 commit comments

Comments
 (0)