mirror of
https://github.com/luckfox-eng29/kvm.git
synced 2026-01-18 03:28:19 +01:00
Add missing keyboard mappings for most layouts Change pasteModel.tsx to use the new structure and vastly clarified the way that keys are emitted. Make each layout export just the KeyboardLayout object (which is a package of isoCode, name, and chars) Made keyboardLayouts.ts export a function to select keyboard by `isoCode`, export the keyboards as label . value pairs (for a select list) and the list of keyboards. Changed devices.$id.settings.keyboard.tsx use the exported keyboard option list.
173 lines
6.5 KiB
TypeScript
173 lines
6.5 KiB
TypeScript
import { KeyboardLayout, KeyCombo } from "../keyboardLayouts"
|
||
|
||
const name = "Belgisch Nederlands";
|
||
|
||
const keyTrema = { key: "BracketLeft", shift: true } // tréma (umlaut), two dots placed above a vowel
|
||
const keyHat = { key: "BracketLeft" } // accent circonflexe (accent hat), mark ^ placed above the letter
|
||
const keyAcute = { key: "Semicolon", altRight: true } // accent aigu (acute accent), mark ´ placed above the letter
|
||
const keyGrave = { key: "Quote", shift: true } // accent grave, mark ` placed above the letter
|
||
const keyTilde = { key: "Slash", altRight: true } // tilde, mark ~ placed above the letter
|
||
|
||
const chars = {
|
||
A: { key: "KeyQ", shift: true },
|
||
"Ä": { key: "KeyQ", shift: true, accentKey: keyTrema },
|
||
"Â": { key: "KeyQ", shift: true, accentKey: keyHat },
|
||
"Á": { key: "KeyQ", shift: true, accentKey: keyAcute },
|
||
"À": { key: "KeyQ", shift: true, accentKey: keyGrave },
|
||
"Ã": { key: "KeyQ", shift: true, accentKey: keyTilde },
|
||
B: { key: "KeyB", shift: true },
|
||
C: { key: "KeyC", shift: true },
|
||
D: { key: "KeyD", shift: true },
|
||
E: { key: "KeyE", shift: true },
|
||
"Ë": { key: "KeyE", shift: true, accentKey: keyTrema },
|
||
"Ê": { key: "KeyE", shift: true, accentKey: keyHat },
|
||
"É": { key: "KeyE", shift: true, accentKey: keyAcute },
|
||
"È": { key: "KeyE", shift: true, accentKey: keyGrave },
|
||
"Ẽ": { key: "KeyE", shift: true, accentKey: keyTilde },
|
||
F: { key: "KeyF", shift: true },
|
||
G: { key: "KeyG", shift: true },
|
||
H: { key: "KeyH", shift: true },
|
||
I: { key: "KeyI", shift: true },
|
||
"Ï": { key: "KeyI", shift: true, accentKey: keyTrema },
|
||
"Î": { key: "KeyI", shift: true, accentKey: keyHat },
|
||
"Í": { key: "KeyI", shift: true, accentKey: keyAcute },
|
||
"Ì": { key: "KeyI", shift: true, accentKey: keyGrave },
|
||
"Ĩ": { key: "KeyI", shift: true, accentKey: keyTilde },
|
||
J: { key: "KeyJ", shift: true },
|
||
K: { key: "KeyK", shift: true },
|
||
L: { key: "KeyL", shift: true },
|
||
M: { key: "Semicolon", shift: true },
|
||
N: { key: "KeyN", shift: true },
|
||
O: { key: "KeyO", shift: true },
|
||
"Ö": { key: "KeyO", shift: true, accentKey: keyTrema },
|
||
"Ô": { key: "KeyO", shift: true, accentKey: keyHat },
|
||
"Ó": { key: "KeyO", shift: true, accentKey: keyAcute },
|
||
"Ò": { key: "KeyO", shift: true, accentKey: keyGrave },
|
||
"Õ": { key: "KeyO", shift: true, accentKey: keyTilde },
|
||
P: { key: "KeyP", shift: true },
|
||
Q: { key: "KeyA", shift: true },
|
||
R: { key: "KeyR", shift: true },
|
||
S: { key: "KeyS", shift: true },
|
||
T: { key: "KeyT", shift: true },
|
||
U: { key: "KeyU", shift: true },
|
||
"Ü": { key: "KeyU", shift: true, accentKey: keyTrema },
|
||
"Û": { key: "KeyU", shift: true, accentKey: keyHat },
|
||
"Ú": { key: "KeyU", shift: true, accentKey: keyAcute },
|
||
"Ù": { key: "KeyU", shift: true, accentKey: keyGrave },
|
||
"Ũ": { key: "KeyU", shift: true, accentKey: keyTilde },
|
||
V: { key: "KeyV", shift: true },
|
||
W: { key: "KeyW", shift: true },
|
||
X: { key: "KeyX", shift: true },
|
||
Y: { key: "KeyZ", shift: true },
|
||
Z: { key: "KeyY", shift: true },
|
||
a: { key: "KeyQ" },
|
||
"ä": { key: "KeyQ", accentKey: keyTrema },
|
||
"â": { key: "KeyQ", accentKey: keyHat },
|
||
"á": { key: "KeyQ", accentKey: keyAcute },
|
||
"ã": { key: "KeyQ", accentKey: keyTilde },
|
||
b: { key: "KeyB" },
|
||
c: { key: "KeyC" },
|
||
d: { key: "KeyD" },
|
||
e: { key: "KeyE" },
|
||
"ë": { key: "KeyE", accentKey: keyTrema },
|
||
"ê": { key: "KeyE", accentKey: keyHat },
|
||
"ẽ": { key: "KeyE", accentKey: keyTilde },
|
||
"€": { key: "KeyE", altRight: true },
|
||
f: { key: "KeyF" },
|
||
g: { key: "KeyG" },
|
||
h: { key: "KeyH" },
|
||
i: { key: "KeyI" },
|
||
"ï": { key: "KeyI", accentKey: keyTrema },
|
||
"î": { key: "KeyI", accentKey: keyHat },
|
||
"í": { key: "KeyI", accentKey: keyAcute },
|
||
"ì": { key: "KeyI", accentKey: keyGrave },
|
||
"ĩ": { key: "KeyI", accentKey: keyTilde },
|
||
j: { key: "KeyJ" },
|
||
k: { key: "KeyK" },
|
||
l: { key: "KeyL" },
|
||
m: { key: "Semicolon" },
|
||
n: { key: "KeyN" },
|
||
o: { key: "KeyO" },
|
||
"ö": { key: "KeyO", accentKey: keyTrema },
|
||
"ó": { key: "KeyO", accentKey: keyAcute },
|
||
"ô": { key: "KeyO", accentKey: keyHat },
|
||
"ò": { key: "KeyO", accentKey: keyGrave },
|
||
"õ": { key: "KeyO", accentKey: keyTilde },
|
||
p: { key: "KeyP" },
|
||
q: { key: "KeyA" },
|
||
r: { key: "KeyR" },
|
||
s: { key: "KeyS" },
|
||
t: { key: "KeyT" },
|
||
u: { key: "KeyU" },
|
||
"ü": { key: "KeyU", accentKey: keyTrema },
|
||
"û": { key: "KeyU", accentKey: keyHat },
|
||
"ú": { key: "KeyU", accentKey: keyAcute },
|
||
"ũ": { key: "KeyU", accentKey: keyTilde },
|
||
v: { key: "KeyV" },
|
||
w: { key: "KeyW" },
|
||
x: { key: "KeyX" },
|
||
y: { key: "KeyZ" },
|
||
z: { key: "KeyY" },
|
||
"²": { key: "Backquote" },
|
||
"³": { key: "Backquote", shift: true },
|
||
"&": { key: "Digit1" },
|
||
1: { key: "Digit1", shift: true },
|
||
"|": { key: "Digit1", altRight: true },
|
||
"é": { key: "Digit2" },
|
||
2: { key: "Digit2", shift: true },
|
||
"@": { key: "Digit2", altRight: true },
|
||
"\"": { key: "Digit3" },
|
||
3: { key: "Digit3", shift: true },
|
||
"#": { key: "Digit3", altRight: true },
|
||
"'": { key: "Digit4" },
|
||
4: { key: "Digit4", shift: true },
|
||
"(": { key: "Digit5" },
|
||
5: { key: "Digit5", shift: true },
|
||
"§": { key: "Digit6" },
|
||
6: { key: "Digit6", shift: true },
|
||
"^": { key: "Digit6", altRight: true },
|
||
"è": { key: "Digit7" },
|
||
7: { key: "Digit7", shift: true },
|
||
"!": { key: "Digit8" },
|
||
8: { key: "Digit8", shift: true },
|
||
"ç": { key: "Digit9" },
|
||
9: { key: "Digit9", shift: true },
|
||
"{": { key: "Digit9", altRight: true },
|
||
"à": { key: "Digit0" },
|
||
0: { key: "Digit0", shift: true },
|
||
"}": { key: "Digit0", altRight: true },
|
||
")": { key: "Minus" },
|
||
"°": { key: "Minus", shift: true },
|
||
"-": { key: "Equal", deadKey: true },
|
||
"_": { key: "Equal", shift: true },
|
||
"[": { key: "BracketLeft", altRight: true },
|
||
"$": { key: "BracketRight" },
|
||
"*": { key: "BracketRight", altRight: true },
|
||
"]": { key: "BracketRight", altRight: true },
|
||
"ù": { key: "Quote" },
|
||
"%": { key: "Quote", shift: true },
|
||
"µ": { key: "Backslash" },
|
||
"£": { key: "Backslash", shift: true },
|
||
",": { key: "KeyM" },
|
||
"?": { key: "KeyM", shift: true },
|
||
";": { key: "Comma" },
|
||
".": { key: "Comma", shift: true },
|
||
":": { key: "Period" },
|
||
"/": { key: "Period", shift: true },
|
||
"=": { key: "Slash" },
|
||
"+": { key: "Slash", shift: true },
|
||
"~": { key: "Slash", deadKey: true },
|
||
"<": { key: "IntlBackslash" },
|
||
">": { key: "IntlBackslash", shift: true },
|
||
"\\": { key: "IntlBackslash", altRight: true },
|
||
" ": { key: "Space" },
|
||
"\n": { key: "Enter" },
|
||
Enter: { key: "Enter" },
|
||
Tab: { key: "Tab" },
|
||
} as Record<string, KeyCombo>;
|
||
|
||
export const fr_BE: KeyboardLayout = {
|
||
isoCode: "fr-BE",
|
||
name: name,
|
||
chars: chars
|
||
}; |