feat: data-driven virtual keyboard layouts

This commit is contained in:
Martin Prokoph
2025-05-19 16:20:46 +02:00
parent ecb7cfd888
commit 0dfd1994dc
13 changed files with 122 additions and 59 deletions

View File

@@ -1,16 +0,0 @@
{
"metadata": {
"name": "German (Quertz)",
"locale": "de-DE"
},
"letters": {
"row1": ["q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü"],
"row2": ["a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä"],
"row3": ["y", "x", "c", "v", "b", "n", "m", "ß"]
},
"symbols": {
"row1": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
"row2": ["@", "#", "$", "%", "&", "*", "-", "+", "(", ")"],
"row3": ["!", "\"", "'", ":", ";", ",", ".", "?", "/"]
}
}

View File

@@ -1,16 +0,0 @@
{
"metadata": {
"name": "US (Querty)",
"locale": "en-US"
},
"letters": {
"row1": ["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"],
"row2": ["a", "s", "d", "f", "g", "h", "j", "k", "l"],
"row3": ["z", "x", "c", "v", "b", "n", "m"]
},
"symbols": {
"row1": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
"row2": ["@", "#", "$", "%", "&", "*", "-", "+", "(", ")"],
"row3": ["!", "\"", "'", ":", ";", ",", ".", "?", "/"]
}
}

View File

@@ -0,0 +1,14 @@
{
"id": "de_DE:qwertz",
"letters": {
"row0": ["q", "w", "e", "r", "t", "z", "u", "i", "o", "p", "ü"],
"row1": ["a", "s", "d", "f", "g", "h", "j", "k", "l", "ö", "ä"],
"row2": ["y", "x", "c", "v", "b", "n", "m", "ß"]
},
"symbols": {
"row0": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
"row1": ["@", "#", "$", "%", "&", "*", "-", "+", "(", ")"],
"row2": ["!", "\"", "'", ":", ";", ",", ".", "?", "/"]
}
}

View File

@@ -0,0 +1,14 @@
{
"id": "en_US:qwerty",
"letters": {
"row0": ["q", "w", "e", "r", "t", "y", "u", "i", "o", "p"],
"row1": ["a", "s", "d", "f", "g", "h", "j", "k", "l"],
"row2": ["z", "x", "c", "v", "b", "n", "m"]
},
"symbols": {
"row0": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
"row1": ["@", "#", "$", "%", "&", "*", "-", "+", "(", ")"],
"row2": ["!", "\"", "'", ":", ";", ",", ".", "?", "/"]
}
}

View File

@@ -146,6 +146,10 @@
"midnightcontrols.menu.title.visual": "Visuelle Optionen",
"midnightcontrols.menu.unfocused_input": "Unfokussierte Eingabe",
"midnightcontrols.menu.unfocused_input.tooltip": "Erlaube Controllereingabe auch wenn das Fenster nicht fokussiert ist.",
"midnightcontrols.virtual_keyboard.screen": "Virtuelle Tastatur",
"midnightcontrols.virtual_keyboard.keyboard.space": "Leertaste",
"midnightcontrols.virtual_keyboard.layout.en_US.qwerty": "Englisch (Qwerty)",
"midnightcontrols.virtual_keyboard.layout.de_DE.qwertz": "Deutsch (Qwertz)",
"midnightcontrols.menu.virtual_mouse": "Virtuelle Maus",
"midnightcontrols.menu.virtual_mouse.tooltip": "Aktiviere die virtuelle Maus.",
"midnightcontrols.menu.virtual_mouse.skin": "Aussehen der Virtuellen Maus",

View File

@@ -217,15 +217,21 @@
"midnightcontrols.menu.touch_with_controller": "Touch in Controller mode",
"midnightcontrols.menu.unfocused_input": "Unfocused Input",
"midnightcontrols.menu.unfocused_input.tooltip": "Allows controller input when the window is not focused.",
"midnightcontrols.menu.virtual_keyboard": "Virtual Keyboard",
"midnightcontrols.menu.virtual_keyboard.tooltip": "Enables a virtual on-screen keyboard",
"midnightcontrols.menu.virtual_keyboard_layout": "Virtual Keyboard Layout",
"midnightcontrols.menu.virtual_keyboard_layout.tooltip": "Defines which layout the on-screen keyboard will follow.",
"midnightcontrols.menu.virtual_mouse": "Virtual Mouse",
"midnightcontrols.menu.virtual_mouse.tooltip": "Enables the virtual mouse, which is useful during splitscreen.",
"midnightcontrols.menu.virtual_mouse.skin": "Virtual Mouse Skin",
"midnightcontrols.menu.virtual_keyboard": "Virtual Keyboard",
"midnightcontrols.menu.virtual_keyboard.tooltip": "Enables a virtual on-screen keyboard",
"midnightcontrols.menu.hide_cursor": "Hide Normal Mouse Cursor",
"midnightcontrols.menu.hide_cursor.tooltip": "Hides the normal mouse cursor, leaving only the virtual mouse visible.",
"midnightcontrols.narrator.unbound": "Unbound %s",
"midnightcontrols.not_bound": "Not bound",
"midnightcontrols.virtual_keyboard.screen": "Virtual Keyboard",
"midnightcontrols.virtual_keyboard.keyboard.space": "Space",
"midnightcontrols.virtual_keyboard.layout.en_US.qwerty": "English (Qwerty)",
"midnightcontrols.virtual_keyboard.layout.de_DE.qwertz": "German (Qwertz)",
"midnightcontrols.virtual_mouse.skin.default_light": "Default Light",
"midnightcontrols.virtual_mouse.skin.default_dark": "Default Dark",
"midnightcontrols.virtual_mouse.skin.second_light": "Second Light",