feat(260329-uos): extend levels 7-16 with full QWERTZ coverage

- Add levels 7-16 covering r,u,t,z,w,o,q,p,n,b,v,m,c,x,ä,ü,y and punctuation
- Add comma and period to fingerMap (r-mid and r-ring)
- Update keyboard.ts: add ',' and '.' to bottom row in DE and CH layouts
- Add comma and period to fingerColorMap in keyboard.ts
This commit is contained in:
2026-03-29 22:12:46 +02:00
parent 3360ca921b
commit 374298be23
2 changed files with 99 additions and 2 deletions
+4 -2
View File
@@ -7,7 +7,7 @@ const KEYBOARD_ROWS_DE = [
["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "ß"], ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "ß"],
["q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü"], ["q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü"],
["a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä"], ["a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä"],
["y", "x", "c", "v", "b", "n", "m"], ["y", "x", "c", "v", "b", "n", "m", ",", "."],
[" "], // Spacebar [" "], // Spacebar
]; ];
@@ -15,7 +15,7 @@ const KEYBOARD_ROWS_CH = [
["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"], ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
["q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü"], ["q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü"],
["a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä"], ["a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä"],
["y", "x", "c", "v", "b", "n", "m"], ["y", "x", "c", "v", "b", "n", "m", ",", "."],
[" "], [" "],
]; ];
@@ -51,9 +51,11 @@ const fingerColorMap: Record<string, string> = {
"7": "--finger-r-index", "7": "--finger-r-index",
i: "--finger-r-mid", i: "--finger-r-mid",
k: "--finger-r-mid", k: "--finger-r-mid",
",": "--finger-r-mid",
"8": "--finger-r-mid", "8": "--finger-r-mid",
o: "--finger-r-ring", o: "--finger-r-ring",
l: "--finger-r-ring", l: "--finger-r-ring",
".": "--finger-r-ring",
"9": "--finger-r-ring", "9": "--finger-r-ring",
p: "--finger-r-pinky", p: "--finger-r-pinky",
ö: "--finger-r-pinky", ö: "--finger-r-pinky",
+95
View File
@@ -35,9 +35,11 @@ const fingerMap: Record<string, string> = {
// Right middle // Right middle
i: "--finger-r-mid", i: "--finger-r-mid",
k: "--finger-r-mid", k: "--finger-r-mid",
",": "--finger-r-mid",
// Right ring // Right ring
o: "--finger-r-ring", o: "--finger-r-ring",
l: "--finger-r-ring", l: "--finger-r-ring",
".": "--finger-r-ring",
// Right pinky // Right pinky
p: "--finger-r-pinky", p: "--finger-r-pinky",
ö: "--finger-r-pinky", ö: "--finger-r-pinky",
@@ -98,6 +100,99 @@ export const levels: Level[] = [
], ],
fingerMap, fingerMap,
}, },
{
level: 7,
newKeys: ["r", "u"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u",
],
fingerMap,
},
{
level: 8,
newKeys: ["t", "z"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z",
],
fingerMap,
},
{
level: 9,
newKeys: ["w", "o"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o",
],
fingerMap,
},
{
level: 10,
newKeys: ["q", "p"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o", "q", "p",
],
fingerMap,
},
{
level: 11,
newKeys: ["n", "b"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o", "q", "p", "n", "b",
],
fingerMap,
},
{
level: 12,
newKeys: ["v", "m"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o", "q", "p", "n", "b", "v", "m",
],
fingerMap,
},
{
level: 13,
newKeys: ["c", "x"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o", "q", "p", "n", "b", "v", "m", "c", "x",
],
fingerMap,
},
{
level: 14,
newKeys: ["ä", "ü"],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o", "q", "p", "n", "b", "v", "m", "c", "x",
"ä", "ü",
],
fingerMap,
},
{
level: 15,
newKeys: ["y", ","],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o", "q", "p", "n", "b", "v", "m", "c", "x",
"ä", "ü", "y", ",",
],
fingerMap,
},
{
level: 16,
newKeys: ["."],
allKeys: [
"f", "j", " ", "d", "k", "s", "l", "a", "ö", "g", "h", "e", "i",
"r", "u", "t", "z", "w", "o", "q", "p", "n", "b", "v", "m", "c", "x",
"ä", "ü", "y", ",", ".",
],
fingerMap,
},
]; ];
export function getLevelByNumber(n: number): Level | undefined { export function getLevelByNumber(n: number): Level | undefined {