mirror of https://github.com/jetkvm/kvm.git
Compare commits
5 Commits
842fd22072
...
aeaed88af5
Author | SHA1 | Date |
---|---|---|
|
aeaed88af5 | |
|
e4ddc952d1 | |
|
2f048ef38f | |
|
7c2b91a9c4 | |
|
435746f35e |
|
@ -18,7 +18,7 @@ const hidKeyboardPayload = (keys: number[], modifier: number) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const modifierCode = (shift?: boolean, altRight?: boolean) => {
|
const modifierCode = (shift?: boolean, altRight?: boolean) => {
|
||||||
return shift ? modifiers["ShiftLeft"] : 0
|
return (shift ? modifiers["ShiftLeft"] : 0)
|
||||||
| (altRight ? modifiers["AltRight"] : 0)
|
| (altRight ? modifiers["AltRight"] : 0)
|
||||||
}
|
}
|
||||||
const noModifier = 0
|
const noModifier = 0
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
|
import { chars as chars_cs_CZ } from "@/keyboardLayouts/cs_CZ"
|
||||||
import { chars as chars_en_UK } from "@/keyboardLayouts/en_UK"
|
import { chars as chars_en_UK } from "@/keyboardLayouts/en_UK"
|
||||||
import { chars as chars_en_US } from "@/keyboardLayouts/en_US"
|
import { chars as chars_en_US } from "@/keyboardLayouts/en_US"
|
||||||
import { chars as chars_fr_FR } from "@/keyboardLayouts/fr_FR"
|
import { chars as chars_fr_FR } from "@/keyboardLayouts/fr_FR"
|
||||||
import { chars as chars_de_DE } from "@/keyboardLayouts/de_DE"
|
import { chars as chars_de_DE } from "@/keyboardLayouts/de_DE"
|
||||||
|
import { chars as chars_it_IT } from "@/keyboardLayouts/it_IT"
|
||||||
|
import { chars as chars_nb_NO } from "@/keyboardLayouts/nb_NO"
|
||||||
import { chars as chars_es_ES } from "@/keyboardLayouts/es_ES"
|
import { chars as chars_es_ES } from "@/keyboardLayouts/es_ES"
|
||||||
import { chars as chars_sv_SE } from "@/keyboardLayouts/sv_SE"
|
import { chars as chars_sv_SE } from "@/keyboardLayouts/sv_SE"
|
||||||
import { chars as chars_fr_CH } from "@/keyboardLayouts/fr_CH"
|
import { chars as chars_fr_CH } from "@/keyboardLayouts/fr_CH"
|
||||||
|
@ -11,10 +14,13 @@ type KeyInfo = { key: string | number; shift?: boolean, altRight?: boolean }
|
||||||
export type KeyCombo = KeyInfo & { deadKey?: boolean, accentKey?: KeyInfo }
|
export type KeyCombo = KeyInfo & { deadKey?: boolean, accentKey?: KeyInfo }
|
||||||
|
|
||||||
export const layouts = {
|
export const layouts = {
|
||||||
|
"cs_CZ": "Czech",
|
||||||
"en_UK": "English (UK)",
|
"en_UK": "English (UK)",
|
||||||
"en_US": "English (US)",
|
"en_US": "English (US)",
|
||||||
"fr_FR": "French",
|
"fr_FR": "French",
|
||||||
"de_DE": "German",
|
"de_DE": "German",
|
||||||
|
"it_IT": "Italian",
|
||||||
|
"nb_NO": "Norwegian",
|
||||||
"es_ES": "Spanish",
|
"es_ES": "Spanish",
|
||||||
"sv_SE": "Swedish",
|
"sv_SE": "Swedish",
|
||||||
"fr_CH": "Swiss French",
|
"fr_CH": "Swiss French",
|
||||||
|
@ -22,10 +28,13 @@ export const layouts = {
|
||||||
} as Record<string, string>;
|
} as Record<string, string>;
|
||||||
|
|
||||||
export const chars = {
|
export const chars = {
|
||||||
|
"cs_CZ": chars_cs_CZ,
|
||||||
"en_UK": chars_en_UK,
|
"en_UK": chars_en_UK,
|
||||||
"en_US": chars_en_US,
|
"en_US": chars_en_US,
|
||||||
"fr_FR": chars_fr_FR,
|
"fr_FR": chars_fr_FR,
|
||||||
"de_DE": chars_de_DE,
|
"de_DE": chars_de_DE,
|
||||||
|
"it_IT": chars_it_IT,
|
||||||
|
"nb_NO": chars_nb_NO,
|
||||||
"es_ES": chars_es_ES,
|
"es_ES": chars_es_ES,
|
||||||
"sv_SE": chars_sv_SE,
|
"sv_SE": chars_sv_SE,
|
||||||
"fr_CH": chars_fr_CH,
|
"fr_CH": chars_fr_CH,
|
||||||
|
|
|
@ -0,0 +1,242 @@
|
||||||
|
import { KeyCombo } from "../keyboardLayouts"
|
||||||
|
|
||||||
|
const keyTrema = { key: "Backslash" } // tréma (umlaut), two dots placed above a vowel
|
||||||
|
const keyAcute = { key: "Equal" } // accent aigu (acute accent), mark ´ placed above the letter
|
||||||
|
const keyHat = { key: "Digit3", shift: true, altRight: true } // accent circonflexe (accent hat), mark ^ placed above the letter
|
||||||
|
const keyCaron = { key: "Equal", shift: true } // caron or haček (inverted hat), mark ˇ placed above the letter
|
||||||
|
const keyGrave = { key: "Digit7", shift: true, altRight: true } // accent grave, mark ` placed above the letter
|
||||||
|
const keyTilde = { key: "Digit1", shift: true, altRight: true } // tilde, mark ~ placed above the letter
|
||||||
|
const keyRing = { key: "Backquote", shift: true } // kroužek (little ring), mark ° placed above the letter
|
||||||
|
const keyOverdot = { key: "Digit8", shift: true, altRight: true } // overdot (dot above), mark ˙ placed above the letter
|
||||||
|
const keyHook = { key: "Digit6", shift: true, altRight: true } // ogonoek (little hook), mark ˛ placed beneath a letter
|
||||||
|
const keyCedille = { key: "Equal", shift: true, altRight: true } // accent cedille (cedilla), mark ¸ placed beneath a letter
|
||||||
|
|
||||||
|
export const chars = {
|
||||||
|
A: { key: "KeyA", shift: true },
|
||||||
|
"Ä": { key: "KeyA", shift: true, accentKey: keyTrema },
|
||||||
|
"Á": { key: "KeyA", shift: true, accentKey: keyAcute },
|
||||||
|
"Â": { key: "KeyA", shift: true, accentKey: keyHat },
|
||||||
|
"À": { key: "KeyA", shift: true, accentKey: keyGrave },
|
||||||
|
"Ã": { key: "KeyA", shift: true, accentKey: keyTilde },
|
||||||
|
"Ȧ": { key: "KeyA", shift: true, accentKey: keyOverdot },
|
||||||
|
"Ą": { key: "KeyA", shift: true, accentKey: keyHook },
|
||||||
|
B: { key: "KeyB", shift: true },
|
||||||
|
"Ḃ": { key: "KeyB", shift: true, accentKEy: keyOverdot },
|
||||||
|
C: { key: "KeyC", shift: true },
|
||||||
|
"Č": { key: "KeyC", shift: true, accentKey: keyCaron },
|
||||||
|
"Ċ": { key: "KeyC", shift: true, accentKey: keyOverdot },
|
||||||
|
"Ç": { key: "KeyC", shift: true, accentKey: keyCedille },
|
||||||
|
D: { key: "KeyD", shift: true },
|
||||||
|
"Ď": { key: "KeyD", shift: true, accentKey: keyCaron },
|
||||||
|
"Ḋ": { key: "KeyD", shift: true, accentKey: keyOverdot },
|
||||||
|
E: { key: "KeyE", shift: true },
|
||||||
|
"Ë": { key: "KeyE", shift: true, accentKey: keyTrema },
|
||||||
|
"É": { key: "KeyE", shift: true, accentKey: keyAcute },
|
||||||
|
"Ê": { key: "KeyE", shift: true, accentKey: keyHat },
|
||||||
|
"Ě": { key: "KeyE", shift: true, accentKey: keyCaron },
|
||||||
|
"È": { key: "KeyE", shift: true, accentKey: keyGrave },
|
||||||
|
"Ẽ": { key: "KeyE", shift: true, accentKey: keyTilde },
|
||||||
|
"Ė": { key: "KeyE", shift: true, accentKEy: keyOverdot },
|
||||||
|
"Ę": { key: "KeyE", shift: true, accentKey: keyHook },
|
||||||
|
F: { key: "KeyF", shift: true },
|
||||||
|
"Ḟ": { key: "KeyF", shift: true, accentKey: keyOverdot },
|
||||||
|
G: { key: "KeyG", shift: true },
|
||||||
|
"Ġ": { key: "KeyG", shift: true, accentKey: keyOverdot },
|
||||||
|
H: { key: "KeyH", shift: true },
|
||||||
|
"Ḣ": { key: "KeyH", shift: true, accentKey: keyOverdot },
|
||||||
|
I: { key: "KeyI", shift: true },
|
||||||
|
"Ï": { key: "KeyI", shift: true, accentKey: keyTrema },
|
||||||
|
"Í": { key: "KeyI", shift: true, accentKey: keyAcute },
|
||||||
|
"Î": { key: "KeyI", shift: true, accentKey: keyHat },
|
||||||
|
"Ì": { key: "KeyI", shift: true, accentKey: keyGrave },
|
||||||
|
"Ĩ": { key: "KeyI", shift: true, accentKey: keyTilde },
|
||||||
|
"İ": { key: "KeyI", shift: true, accentKey: keyOverdot },
|
||||||
|
"Į": { key: "KeyI", shift: true, accentKey: keyHook },
|
||||||
|
J: { key: "KeyJ", shift: true },
|
||||||
|
K: { key: "KeyK", shift: true },
|
||||||
|
L: { key: "KeyL", shift: true },
|
||||||
|
"Ŀ": { key: "KeyL", shift: true },
|
||||||
|
M: { key: "KeyM", shift: true },
|
||||||
|
"Ṁ": { key: "KeyM", shift: true },
|
||||||
|
N: { key: "KeyN", shift: true },
|
||||||
|
"Ň": { key: "KeyN", shift: true, accentKey: keyCaron },
|
||||||
|
"Ñ": { key: "KeyN", shift: true, accentKey: keyTilde },
|
||||||
|
"Ṅ": { key: "KeyN", shift: true, accentKEy: keyOverdot },
|
||||||
|
O: { key: "KeyO", shift: true },
|
||||||
|
"Ö": { key: "KeyO", shift: true, accentKey: keyTrema },
|
||||||
|
"Ó": { key: "KeyO", shift: true, accentKey: keyAcute },
|
||||||
|
"Ô": { key: "KeyO", shift: true, accentKey: keyHat },
|
||||||
|
"Ò": { key: "KeyO", shift: true, accentKey: keyGrave },
|
||||||
|
"Õ": { key: "KeyO", shift: true, accentKey: keyTilde },
|
||||||
|
"Ȯ": { key: "KeyO", shift: true, accentKey: keyOverdot },
|
||||||
|
"Ǫ": { key: "KeyO", shift: true, accentKey: keyHook },
|
||||||
|
P: { key: "KeyP", shift: true },
|
||||||
|
"Ṗ": { key: "KeyP", shift: true, accentKey: keyOverdot },
|
||||||
|
Q: { key: "KeyQ", shift: true },
|
||||||
|
R: { key: "KeyR", shift: true },
|
||||||
|
"Ř": { key: "KeyR", shift: true, accentKey: keyCaron },
|
||||||
|
"Ṙ": { key: "KeyR", shift: true, accentKey: keyOverdot },
|
||||||
|
S: { key: "KeyS", shift: true },
|
||||||
|
"Š": { key: "KeyS", shift: true, accentKey: keyCaron },
|
||||||
|
"Ṡ": { key: "KeyS", shift: true, accentKey: keyOverdot },
|
||||||
|
T: { key: "KeyT", shift: true },
|
||||||
|
"Ť": { key: "KeyT", shift: true, accentKey: keyCaron },
|
||||||
|
"Ṫ": { key: "KeyT", shift: true, accentKey: keyOverdot },
|
||||||
|
U: { key: "KeyU", shift: true },
|
||||||
|
"Ü": { key: "KeyU", shift: true, accentKey: keyTrema },
|
||||||
|
"Ú": { key: "KeyU", shift: true, accentKey: keyAcute },
|
||||||
|
"Û": { key: "KeyU", shift: true, accentKey: keyHat },
|
||||||
|
"Ù": { key: "KeyU", shift: true, accentKey: keyGrave },
|
||||||
|
"Ũ": { key: "KeyU", shift: true, accentKey: keyTilde },
|
||||||
|
"Ů": { key: "KeyU", shift: true, accentKey: keyRing },
|
||||||
|
"Ų": { key: "KeyU", shift: true, accentKey: keyHook },
|
||||||
|
V: { key: "KeyV", shift: true },
|
||||||
|
W: { key: "KeyW", shift: true },
|
||||||
|
"Ẇ": { key: "KeyW", shift: true, accentKey: keyOverdot },
|
||||||
|
X: { key: "KeyX", shift: true },
|
||||||
|
"Ẋ": { key: "KeyX", shift: true, accentKey: keyOverdot },
|
||||||
|
Y: { key: "KeyY", shift: true },
|
||||||
|
"Ý": { key: "KeyY", shift: true, accentKey: keyAcute },
|
||||||
|
"Ẏ": { key: "KeyY", shift: true, accentKey: keyOverdot },
|
||||||
|
Z: { key: "KeyZ", shift: true },
|
||||||
|
"Ż": { key: "KeyZ", shift: true, accentKey: keyOverdot },
|
||||||
|
a: { key: "KeyA" },
|
||||||
|
"ä": { key: "KeyA", accentKey: keyTrema },
|
||||||
|
"â": { key: "KeyA", accentKey: keyHat },
|
||||||
|
"à": { key: "KeyA", accentKey: keyGrave },
|
||||||
|
"ã": { key: "KeyA", accentKey: keyTilde },
|
||||||
|
"ȧ": { key: "KeyA", accentKey: keyOverdot },
|
||||||
|
"ą": { key: "KeyA", accentKey: keyHook },
|
||||||
|
b: { key: "KeyB" },
|
||||||
|
"{": { key: "KeyB", altRight: true },
|
||||||
|
"ḃ": { key: "KeyB", accentKey: keyOverdot },
|
||||||
|
c: { key: "KeyC" },
|
||||||
|
"&": { key: "KeyC", altRight: true },
|
||||||
|
"ç": { key: "KeyC", accentKey: keyCedille },
|
||||||
|
"ċ": { key: "KeyC", accentKey: keyOverdot },
|
||||||
|
d: { key: "KeyD" },
|
||||||
|
"ď": { key: "KeyD", accentKey: keyCaron },
|
||||||
|
"ḋ": { key: "KeyD", accentKey: keyOverdot },
|
||||||
|
"Đ": { key: "KeyD", altRight: true },
|
||||||
|
e: { key: "KeyE" },
|
||||||
|
"ë": { key: "KeyE", accentKey: keyTrema },
|
||||||
|
"ê": { key: "KeyE", accentKey: keyHat },
|
||||||
|
"ẽ": { key: "KeyE", accentKey: keyTilde },
|
||||||
|
"è": { key: "KeyE", accentKey: keyGrave },
|
||||||
|
"ė": { key: "KeyE", accentKey: keyOverdot },
|
||||||
|
"ę": { key: "KeyE", accentKey: keyHook },
|
||||||
|
"€": { key: "KeyE", altRight: true },
|
||||||
|
f: { key: "KeyF" },
|
||||||
|
"ḟ": { key: "KeyF", accentKey: keyOverdot },
|
||||||
|
"[": { key: "KeyF", altRight: true },
|
||||||
|
g: { key: "KeyG" },
|
||||||
|
"ġ": { key: "KeyG", accentKey: keyOverdot },
|
||||||
|
"]": { key: "KeyF", altRight: true },
|
||||||
|
h: { key: "KeyH" },
|
||||||
|
"ḣ": { key: "KeyH", accentKey: keyOverdot },
|
||||||
|
i: { key: "KeyI" },
|
||||||
|
"ï": { key: "KeyI", accentKey: keyTrema },
|
||||||
|
"î": { key: "KeyI", accentKey: keyHat },
|
||||||
|
"ì": { key: "KeyI", accentKey: keyGrave },
|
||||||
|
"ĩ": { key: "KeyI", accentKey: keyTilde },
|
||||||
|
"ı": { key: "KeyI", accentKey: keyOverdot },
|
||||||
|
"į": { key: "KeyI", accentKey: keyHook },
|
||||||
|
j: { key: "KeyJ" },
|
||||||
|
"ȷ": { key: "KeyJ", accentKey: keyOverdot },
|
||||||
|
k: { key: "KeyK" },
|
||||||
|
"ł": { key: "KeyK", altRight: true },
|
||||||
|
l: { key: "KeyL" },
|
||||||
|
"ŀ": { key: "KeyL", accentKey: keyOverdot },
|
||||||
|
"Ł": { key: "KeyL", altRight: true },
|
||||||
|
m: { key: "KeyM" },
|
||||||
|
"ṁ": { key: "KeyM", accentKey: keyOverdot },
|
||||||
|
n: { key: "KeyN" },
|
||||||
|
"}": { key: "KeyN", altRight: true },
|
||||||
|
"ň": { key: "KeyN", accentKey: keyCaron },
|
||||||
|
"ñ": { key: "KeyN", accentKey: keyTilde },
|
||||||
|
"ṅ": { key: "KeyN", accentKey: keyOverdot },
|
||||||
|
o: { key: "KeyO" },
|
||||||
|
"ö": { key: "Key0", accentKey: keyTrema },
|
||||||
|
"ó": { key: "KeyO", accentKey: keyAcute },
|
||||||
|
"ô": { key: "KeyO", accentKey: keyHat },
|
||||||
|
"ò": { key: "KeyO", accentKey: keyGrave },
|
||||||
|
"õ": { key: "KeyO", accentKey: keyTilde },
|
||||||
|
"ȯ": { key: "KeyO", accentKey: keyOverdot },
|
||||||
|
"ǫ": { key: "KeyO", accentKey: keyHook },
|
||||||
|
p: { key: "KeyP" },
|
||||||
|
"ṗ": { key: "KeyP", accentKey: keyOverdot },
|
||||||
|
q: { key: "KeyQ" },
|
||||||
|
r: { key: "KeyR" },
|
||||||
|
"ṙ": { key: "KeyR", accentKey: keyOverdot },
|
||||||
|
s: { key: "KeyS" },
|
||||||
|
"ṡ": { key: "KeyS", accentKey: keyOverdot },
|
||||||
|
"đ": { key: "KeyS", altRight: true },
|
||||||
|
t: { key: "KeyT" },
|
||||||
|
"ť": { key: "KeyT", accentKey: keyCaron },
|
||||||
|
"ṫ": { key: "KeyT", accentKey: keyOverdot },
|
||||||
|
u: { key: "KeyU" },
|
||||||
|
"ü": { key: "KeyU", accentKey: keyTrema },
|
||||||
|
"û": { key: "KeyU", accentKey: keyHat },
|
||||||
|
"ù": { key: "KeyU", accentKey: keyGrave },
|
||||||
|
"ũ": { key: "KeyU", accentKey: keyTilde },
|
||||||
|
"ų": { key: "KeyU", accentKey: keyHook },
|
||||||
|
v: { key: "KeyV" },
|
||||||
|
"@": { key: "KeyV", altRight: true },
|
||||||
|
w: { key: "KeyW" },
|
||||||
|
"ẇ": { key: "KeyW", accentKey: keyOverdot },
|
||||||
|
x: { key: "KeyX" },
|
||||||
|
"#": { key: "KeyX", altRight: true },
|
||||||
|
"ẋ": { key: "KeyX", accentKey: keyOverdot },
|
||||||
|
y: { key: "KeyY" },
|
||||||
|
"ẏ": { key: "KeyY", accentKey: keyOverdot },
|
||||||
|
z: { key: "KeyZ" },
|
||||||
|
"ż": { key: "KeyZ", accentKey: keyOverdot },
|
||||||
|
";": { key: "Backquote" },
|
||||||
|
"°": { key: "Backquote", shift: true, deadKey: true },
|
||||||
|
"+": { key: "Digit1" },
|
||||||
|
1: { key: "Digit1", shift: true },
|
||||||
|
"ě": { key: "Digit2" },
|
||||||
|
2: { key: "Digit2", shift: true },
|
||||||
|
"š": { key: "Digit3" },
|
||||||
|
3: { key: "Digit3", shift: true },
|
||||||
|
"č": { key: "Digit4" },
|
||||||
|
4: { key: "Digit4", shift: true },
|
||||||
|
"ř": { key: "Digit5" },
|
||||||
|
5: { key: "Digit5", shift: true },
|
||||||
|
"ž": { key: "Digit6" },
|
||||||
|
6: { key: "Digit6", shift: true },
|
||||||
|
"ý": { key: "Digit7" },
|
||||||
|
7: { key: "Digit7", shift: true },
|
||||||
|
"á": { key: "Digit8" },
|
||||||
|
8: { key: "Digit8", shift: true },
|
||||||
|
"í": { key: "Digit9" },
|
||||||
|
9: { key: "Digit9", shift: true },
|
||||||
|
"é": { key: "Digit0" },
|
||||||
|
0: { key: "Digit0", shift: true },
|
||||||
|
"=": { key: "Minus" },
|
||||||
|
"%": { key: "Minus", shift: true },
|
||||||
|
"ú": { key: "BracketLeft" },
|
||||||
|
"/": { key: "BracketLeft", shift: true },
|
||||||
|
")": { key: "BracketRight" },
|
||||||
|
"(": { key: "BracketRight", shift: true },
|
||||||
|
"ů": { key: "Semicolon" },
|
||||||
|
"\"": { key: "Semicolon", shift: true },
|
||||||
|
"§": { key: "Quote" },
|
||||||
|
"!": { key: "Quote", shift: true },
|
||||||
|
"'": { key: "Backslash", shift: true },
|
||||||
|
",": { key: "Comma" },
|
||||||
|
"?": { key: "Comma", shift: true },
|
||||||
|
"<": { key: "Comma", altRight: true },
|
||||||
|
".": { key: "Period" },
|
||||||
|
":": { key: "Period", shift: true },
|
||||||
|
">": { key: "Period", altRight: true },
|
||||||
|
"-": { key: "Slash" },
|
||||||
|
"_": { key: "Slash", shift: true },
|
||||||
|
"*": { key: "Slash", altRight: true },
|
||||||
|
"\\": { key: "IntlBackslash" },
|
||||||
|
"|": { key: "IntlBackslash", shift: true },
|
||||||
|
" ": { key: "Space" },
|
||||||
|
"\n": { key: "Enter" },
|
||||||
|
Enter: { key: "Enter" },
|
||||||
|
Tab: { key: "Tab" },
|
||||||
|
} as Record<string, KeyCombo>;
|
|
@ -27,78 +27,78 @@ export const chars = {
|
||||||
X: { key: "KeyX", shift: true },
|
X: { key: "KeyX", shift: true },
|
||||||
Y: { key: "KeyY", shift: true },
|
Y: { key: "KeyY", shift: true },
|
||||||
Z: { key: "KeyZ", shift: true },
|
Z: { key: "KeyZ", shift: true },
|
||||||
a: { key: "KeyA", shift: false },
|
a: { key: "KeyA" },
|
||||||
b: { key: "KeyB", shift: false },
|
b: { key: "KeyB" },
|
||||||
c: { key: "KeyC", shift: false },
|
c: { key: "KeyC" },
|
||||||
d: { key: "KeyD", shift: false },
|
d: { key: "KeyD" },
|
||||||
e: { key: "KeyE", shift: false },
|
e: { key: "KeyE" },
|
||||||
f: { key: "KeyF", shift: false },
|
f: { key: "KeyF" },
|
||||||
g: { key: "KeyG", shift: false },
|
g: { key: "KeyG" },
|
||||||
h: { key: "KeyH", shift: false },
|
h: { key: "KeyH" },
|
||||||
i: { key: "KeyI", shift: false },
|
i: { key: "KeyI" },
|
||||||
j: { key: "KeyJ", shift: false },
|
j: { key: "KeyJ" },
|
||||||
k: { key: "KeyK", shift: false },
|
k: { key: "KeyK" },
|
||||||
l: { key: "KeyL", shift: false },
|
l: { key: "KeyL" },
|
||||||
m: { key: "KeyM", shift: false },
|
m: { key: "KeyM" },
|
||||||
n: { key: "KeyN", shift: false },
|
n: { key: "KeyN" },
|
||||||
o: { key: "KeyO", shift: false },
|
o: { key: "KeyO" },
|
||||||
p: { key: "KeyP", shift: false },
|
p: { key: "KeyP" },
|
||||||
q: { key: "KeyQ", shift: false },
|
q: { key: "KeyQ" },
|
||||||
r: { key: "KeyR", shift: false },
|
r: { key: "KeyR" },
|
||||||
s: { key: "KeyS", shift: false },
|
s: { key: "KeyS" },
|
||||||
t: { key: "KeyT", shift: false },
|
t: { key: "KeyT" },
|
||||||
u: { key: "KeyU", shift: false },
|
u: { key: "KeyU" },
|
||||||
v: { key: "KeyV", shift: false },
|
v: { key: "KeyV" },
|
||||||
w: { key: "KeyW", shift: false },
|
w: { key: "KeyW" },
|
||||||
x: { key: "KeyX", shift: false },
|
x: { key: "KeyX" },
|
||||||
y: { key: "KeyY", shift: false },
|
y: { key: "KeyY" },
|
||||||
z: { key: "KeyZ", shift: false },
|
z: { key: "KeyZ" },
|
||||||
1: { key: "Digit1", shift: false },
|
1: { key: "Digit1" },
|
||||||
"!": { key: "Digit1", shift: true },
|
"!": { key: "Digit1", shift: true },
|
||||||
2: { key: "Digit2", shift: false },
|
2: { key: "Digit2" },
|
||||||
"@": { key: "Digit2", shift: true },
|
"@": { key: "Digit2", shift: true },
|
||||||
3: { key: "Digit3", shift: false },
|
3: { key: "Digit3" },
|
||||||
"#": { key: "Digit3", shift: true },
|
"#": { key: "Digit3", shift: true },
|
||||||
4: { key: "Digit4", shift: false },
|
4: { key: "Digit4" },
|
||||||
$: { key: "Digit4", shift: true },
|
$: { key: "Digit4", shift: true },
|
||||||
"%": { key: "Digit5", shift: true },
|
"%": { key: "Digit5", shift: true },
|
||||||
5: { key: "Digit5", shift: false },
|
5: { key: "Digit5" },
|
||||||
"^": { key: "Digit6", shift: true },
|
"^": { key: "Digit6", shift: true },
|
||||||
6: { key: "Digit6", shift: false },
|
6: { key: "Digit6" },
|
||||||
"&": { key: "Digit7", shift: true },
|
"&": { key: "Digit7", shift: true },
|
||||||
7: { key: "Digit7", shift: false },
|
7: { key: "Digit7" },
|
||||||
"*": { key: "Digit8", shift: true },
|
"*": { key: "Digit8", shift: true },
|
||||||
8: { key: "Digit8", shift: false },
|
8: { key: "Digit8" },
|
||||||
"(": { key: "Digit9", shift: true },
|
"(": { key: "Digit9", shift: true },
|
||||||
9: { key: "Digit9", shift: false },
|
9: { key: "Digit9" },
|
||||||
")": { key: "Digit0", shift: true },
|
")": { key: "Digit0", shift: true },
|
||||||
0: { key: "Digit0", shift: false },
|
0: { key: "Digit0" },
|
||||||
"-": { key: "Minus", shift: false },
|
"-": { key: "Minus" },
|
||||||
_: { key: "Minus", shift: true },
|
_: { key: "Minus", shift: true },
|
||||||
"=": { key: "Equal", shift: false },
|
"=": { key: "Equal" },
|
||||||
"+": { key: "Equal", shift: true },
|
"+": { key: "Equal", shift: true },
|
||||||
"'": { key: "Quote", shift: false },
|
"'": { key: "Quote" },
|
||||||
'"': { key: "Quote", shift: true },
|
'"': { key: "Quote", shift: true },
|
||||||
",": { key: "Comma", shift: false },
|
",": { key: "Comma" },
|
||||||
"<": { key: "Comma", shift: true },
|
"<": { key: "Comma", shift: true },
|
||||||
"/": { key: "Slash", shift: false },
|
"/": { key: "Slash" },
|
||||||
"?": { key: "Slash", shift: true },
|
"?": { key: "Slash", shift: true },
|
||||||
".": { key: "Period", shift: false },
|
".": { key: "Period" },
|
||||||
">": { key: "Period", shift: true },
|
">": { key: "Period", shift: true },
|
||||||
";": { key: "Semicolon", shift: false },
|
";": { key: "Semicolon" },
|
||||||
":": { key: "Semicolon", shift: true },
|
":": { key: "Semicolon", shift: true },
|
||||||
"[": { key: "BracketLeft", shift: false },
|
"[": { key: "BracketLeft" },
|
||||||
"{": { key: "BracketLeft", shift: true },
|
"{": { key: "BracketLeft", shift: true },
|
||||||
"]": { key: "BracketRight", shift: false },
|
"]": { key: "BracketRight" },
|
||||||
"}": { key: "BracketRight", shift: true },
|
"}": { key: "BracketRight", shift: true },
|
||||||
"\\": { key: "Backslash", shift: false },
|
"\\": { key: "Backslash" },
|
||||||
"|": { key: "Backslash", shift: true },
|
"|": { key: "Backslash", shift: true },
|
||||||
"`": { key: "Backquote", shift: false },
|
"`": { key: "Backquote" },
|
||||||
"~": { key: "Backquote", shift: true },
|
"~": { key: "Backquote", shift: true },
|
||||||
"§": { key: "IntlBackslash", shift: false },
|
"§": { key: "IntlBackslash" },
|
||||||
"±": { key: "IntlBackslash", shift: true },
|
"±": { key: "IntlBackslash", shift: true },
|
||||||
" ": { key: "Space", shift: false },
|
" ": { key: "Space" },
|
||||||
"\n": { key: "Enter", shift: false },
|
"\n": { key: "Enter" },
|
||||||
Enter: { key: "Enter", shift: false },
|
Enter: { key: "Enter" },
|
||||||
Tab: { key: "Tab", shift: false },
|
Tab: { key: "Tab" },
|
||||||
} as Record<string, KeyCombo>
|
} as Record<string, KeyCombo>
|
||||||
|
|
|
@ -0,0 +1,111 @@
|
||||||
|
import { KeyCombo } from "../keyboardLayouts"
|
||||||
|
|
||||||
|
export const chars = {
|
||||||
|
A: { key: "KeyA", shift: true },
|
||||||
|
B: { key: "KeyB", shift: true },
|
||||||
|
C: { key: "KeyC", shift: true },
|
||||||
|
D: { key: "KeyD", shift: true },
|
||||||
|
E: { key: "KeyE", shift: true },
|
||||||
|
F: { key: "KeyF", shift: true },
|
||||||
|
G: { key: "KeyG", shift: true },
|
||||||
|
H: { key: "KeyH", shift: true },
|
||||||
|
I: { key: "KeyI", shift: true },
|
||||||
|
J: { key: "KeyJ", shift: true },
|
||||||
|
K: { key: "KeyK", shift: true },
|
||||||
|
L: { key: "KeyL", shift: true },
|
||||||
|
M: { key: "KeyM", shift: true },
|
||||||
|
N: { key: "KeyN", shift: true },
|
||||||
|
O: { key: "KeyO", shift: true },
|
||||||
|
P: { key: "KeyP", shift: true },
|
||||||
|
Q: { key: "KeyQ", shift: true },
|
||||||
|
R: { key: "KeyR", shift: true },
|
||||||
|
S: { key: "KeyS", shift: true },
|
||||||
|
T: { key: "KeyT", shift: true },
|
||||||
|
U: { key: "KeyU", shift: true },
|
||||||
|
V: { key: "KeyV", shift: true },
|
||||||
|
W: { key: "KeyW", shift: true },
|
||||||
|
X: { key: "KeyX", shift: true },
|
||||||
|
Y: { key: "KeyY", shift: true },
|
||||||
|
Z: { key: "KeyZ", shift: true },
|
||||||
|
a: { key: "KeyA" },
|
||||||
|
b: { key: "KeyB" },
|
||||||
|
c: { key: "KeyC" },
|
||||||
|
d: { key: "KeyD" },
|
||||||
|
e: { key: "KeyE" },
|
||||||
|
"€": { key: "KeyE", altRight: true },
|
||||||
|
f: { key: "KeyF" },
|
||||||
|
g: { key: "KeyG" },
|
||||||
|
h: { key: "KeyH" },
|
||||||
|
i: { key: "KeyI" },
|
||||||
|
j: { key: "KeyJ" },
|
||||||
|
k: { key: "KeyK" },
|
||||||
|
l: { key: "KeyL" },
|
||||||
|
m: { key: "KeyM" },
|
||||||
|
n: { key: "KeyN" },
|
||||||
|
o: { key: "KeyO" },
|
||||||
|
p: { key: "KeyP" },
|
||||||
|
q: { key: "KeyQ" },
|
||||||
|
r: { key: "KeyR" },
|
||||||
|
s: { key: "KeyS" },
|
||||||
|
t: { key: "KeyT" },
|
||||||
|
u: { key: "KeyU" },
|
||||||
|
v: { key: "KeyV" },
|
||||||
|
w: { key: "KeyW" },
|
||||||
|
x: { key: "KeyX" },
|
||||||
|
y: { key: "KeyY" },
|
||||||
|
z: { key: "KeyZ" },
|
||||||
|
"\\": { key: "Backquote" },
|
||||||
|
"|": { key: "Backquote", shift: true },
|
||||||
|
1: { key: "Digit1" },
|
||||||
|
"!": { key: "Digit1", shift: true },
|
||||||
|
2: { key: "Digit2" },
|
||||||
|
"\"": { key: "Digit2", shift: true },
|
||||||
|
3: { key: "Digit3" },
|
||||||
|
"£": { key: "Digit3", shift: true },
|
||||||
|
4: { key: "Digit4" },
|
||||||
|
"$": { key: "Digit4", shift: true },
|
||||||
|
5: { key: "Digit5" },
|
||||||
|
"%": { key: "Digit5", shift: true },
|
||||||
|
6: { key: "Digit6" },
|
||||||
|
"&": { key: "Digit6", shift: true },
|
||||||
|
7: { key: "Digit7" },
|
||||||
|
"/": { key: "Digit7", shift: true },
|
||||||
|
8: { key: "Digit8" },
|
||||||
|
"(": { key: "Digit8", shift: true },
|
||||||
|
9: { key: "Digit9" },
|
||||||
|
")": { key: "Digit9", shift: true },
|
||||||
|
0: { key: "Digit0" },
|
||||||
|
"=": { key: "Digit0", shift: true },
|
||||||
|
"'": { key: "Minus" },
|
||||||
|
"?": { key: "Minus", shift: true },
|
||||||
|
"ì": { key: "Equal" },
|
||||||
|
"^": { key: "Equal", shift: true },
|
||||||
|
"è": { key: "BracketLeft" },
|
||||||
|
"é": { key: "BracketLeft", shift: true },
|
||||||
|
"[": { key: "BracketLeft", altRight: true },
|
||||||
|
"{": { key: "BracketLeft", shift: true, altRight: true },
|
||||||
|
"+": { key: "BracketRight" },
|
||||||
|
"*": { key: "BracketRight", shift: true },
|
||||||
|
"]": { key: "BracketRight", altRight: true },
|
||||||
|
"}": { key: "BracketRight", shift: true, altRight: true },
|
||||||
|
"ò": { key: "Semicolon" },
|
||||||
|
"ç": { key: "Semicolon", shift: true },
|
||||||
|
"@": { key: "Semicolon", altRight: true },
|
||||||
|
"à": { key: "Quote" },
|
||||||
|
"°": { key: "Quote", shift: true },
|
||||||
|
"#": { key: "Quote", altRight: true },
|
||||||
|
"ù": { key: "Backslash" },
|
||||||
|
"§": { key: "Backslash", shift: true },
|
||||||
|
",": { key: "Comma" },
|
||||||
|
";": { key: "Comma", shift: true },
|
||||||
|
".": { key: "Period" },
|
||||||
|
":": { key: "Period", shift: true },
|
||||||
|
"-": { key: "Slash" },
|
||||||
|
"_": { key: "Slash", shift: true },
|
||||||
|
"<": { key: "IntlBackslash" },
|
||||||
|
">": { key: "IntlBackslash", shift: true },
|
||||||
|
" ": { key: "Space" },
|
||||||
|
"\n": { key: "Enter" },
|
||||||
|
Enter: { key: "Enter" },
|
||||||
|
Tab: { key: "Tab" },
|
||||||
|
} as Record<string, KeyCombo>;
|
|
@ -0,0 +1,165 @@
|
||||||
|
import { KeyCombo } from "../keyboardLayouts"
|
||||||
|
|
||||||
|
const keyTrema = { key: "BracketRight" } // tréma (umlaut), two dots placed above a vowel
|
||||||
|
const keyAcute = { key: "Equal", altRight: true } // accent aigu (acute accent), mark ´ placed above the letter
|
||||||
|
const keyHat = { key: "BracketRight", shift: true } // accent circonflexe (accent hat), mark ^ placed above the letter
|
||||||
|
const keyGrave = { key: "Equal", shift: true } // accent grave, mark ` placed above the letter
|
||||||
|
const keyTilde = { key: "BracketRight", altRight: true } // tilde, mark ~ placed above the letter
|
||||||
|
|
||||||
|
export const chars = {
|
||||||
|
A: { key: "KeyA", shift: true },
|
||||||
|
"Ä": { key: "KeyA", shift: true, accentKey: keyTrema },
|
||||||
|
"Á": { key: "KeyA", shift: true, accentKey: keyAcute },
|
||||||
|
"Â": { key: "KeyA", shift: true, accentKey: keyHat },
|
||||||
|
"À": { key: "KeyA", shift: true, accentKey: keyGrave },
|
||||||
|
"Ã": { key: "KeyA", 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: keyAcute },
|
||||||
|
"Ê": { key: "KeyE", shift: true, accentKey: keyHat },
|
||||||
|
"È": { 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: keyAcute },
|
||||||
|
"Î": { key: "KeyI", shift: true, accentKey: keyHat },
|
||||||
|
"Ì": { 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: "KeyM", shift: true },
|
||||||
|
N: { key: "KeyN", shift: true },
|
||||||
|
O: { key: "KeyO", shift: true },
|
||||||
|
"Ö": { key: "KeyO", shift: true, accentKey: keyTrema },
|
||||||
|
"Ó": { key: "KeyO", shift: true, accentKey: keyAcute },
|
||||||
|
"Ô": { key: "KeyO", shift: true, accentKey: keyHat },
|
||||||
|
"Ò": { key: "KeyO", shift: true, accentKey: keyGrave },
|
||||||
|
"Õ": { key: "KeyO", shift: true, accentKey: keyTilde },
|
||||||
|
P: { key: "KeyP", shift: true },
|
||||||
|
Q: { key: "KeyQ", 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: keyAcute },
|
||||||
|
"Û": { key: "KeyU", shift: true, accentKey: keyHat },
|
||||||
|
"Ù": { 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: "KeyA" },
|
||||||
|
"ä": { key: "KeyA", accentKey: keyTrema },
|
||||||
|
"á": { key: "KeyA", accentKey: keyAcute },
|
||||||
|
"â": { key: "KeyA", accentKey: keyHat },
|
||||||
|
"à": { key: "KeyA", accentKey: keyGrave },
|
||||||
|
"ã": { key: "KeyA", accentKey: keyTilde },
|
||||||
|
b: { key: "KeyB" },
|
||||||
|
c: { key: "KeyC" },
|
||||||
|
d: { key: "KeyD" },
|
||||||
|
e: { key: "KeyE" },
|
||||||
|
"ë": { key: "KeyE", accentKey: keyTrema },
|
||||||
|
"é": { key: "KeyE", accentKey: keyAcute },
|
||||||
|
"ê": { key: "KeyE", accentKey: keyHat },
|
||||||
|
"è": { key: "KeyE", accentKey: keyGrave },
|
||||||
|
"ẽ": { 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: keyAcute },
|
||||||
|
"î": { key: "KeyI", accentKey: keyHat },
|
||||||
|
"ì": { key: "KeyI", accentKey: keyGrave },
|
||||||
|
"ĩ": { key: "KeyI", accentKey: keyTilde },
|
||||||
|
j: { key: "KeyJ" },
|
||||||
|
k: { key: "KeyK" },
|
||||||
|
l: { key: "KeyL" },
|
||||||
|
m: { key: "KeyM" },
|
||||||
|
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: "KeyQ" },
|
||||||
|
r: { key: "KeyR" },
|
||||||
|
s: { key: "KeyS" },
|
||||||
|
t: { key: "KeyT" },
|
||||||
|
u: { key: "KeyU" },
|
||||||
|
"ü": { key: "KeyU", accentKey: keyTrema },
|
||||||
|
"ú": { key: "KeyU", accentKey: keyAcute },
|
||||||
|
"û": { key: "KeyU", accentKey: keyHat },
|
||||||
|
"ù": { key: "KeyU", accentKey: keyGrave },
|
||||||
|
"ũ": { 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 },
|
||||||
|
1: { key: "Digit1" },
|
||||||
|
"!": { key: "Digit1", shift: true },
|
||||||
|
2: { key: "Digit2" },
|
||||||
|
"\"": { key: "Digit2", shift: true },
|
||||||
|
"@": { key: "Digit2", altRight: true },
|
||||||
|
3: { key: "Digit3" },
|
||||||
|
"#": { key: "Digit3", shift: true },
|
||||||
|
"£": { key: "Digit3", altRight: true },
|
||||||
|
4: { key: "Digit4" },
|
||||||
|
"¤": { key: "Digit4", shift: true },
|
||||||
|
"$": { key: "Digit4", altRight: true },
|
||||||
|
5: { key: "Digit5" },
|
||||||
|
"%": { key: "Digit5", shift: true },
|
||||||
|
6: { key: "Digit6" },
|
||||||
|
"&": { key: "Digit6", shift: true },
|
||||||
|
7: { key: "Digit7" },
|
||||||
|
"/": { key: "Digit7", shift: true },
|
||||||
|
"{": { key: "Digit7", altRight: true },
|
||||||
|
8: { key: "Digit8" },
|
||||||
|
"(": { key: "Digit8", shift: true },
|
||||||
|
"[": { key: "Digit8", altRight: true },
|
||||||
|
9: { key: "Digit9" },
|
||||||
|
")": { key: "Digit9", shift: true },
|
||||||
|
"]": { key: "Digit9", altRight: true },
|
||||||
|
0: { key: "Digit0" },
|
||||||
|
"=": { key: "Digit0", shift: true },
|
||||||
|
"}": { key: "Digit0", altRight: true },
|
||||||
|
"+": { key: "Minus" },
|
||||||
|
"?": { key: "Minus", shift: true },
|
||||||
|
"\\": { key: "Equal" },
|
||||||
|
"å": { key: "BracketLeft" },
|
||||||
|
"Å": { key: "BracketLeft", shift: true },
|
||||||
|
"ø": { key: "Semicolon" },
|
||||||
|
"Ø": { key: "Semicolon", shift: true },
|
||||||
|
"æ": { key: "Quote" },
|
||||||
|
"Æ": { key: "Quote", shift: true },
|
||||||
|
"'": { key: "Backslash" },
|
||||||
|
"*": { key: "Backslash", shift: true },
|
||||||
|
",": { key: "Comma" },
|
||||||
|
";": { key: "Comma", shift: true },
|
||||||
|
".": { key: "Period" },
|
||||||
|
":": { key: "Period", shift: true },
|
||||||
|
"-": { key: "Slash" },
|
||||||
|
"_": { key: "Slash", shift: true },
|
||||||
|
"<": { key: "IntlBackslash" },
|
||||||
|
">": { key: "IntlBackslash", shift: true },
|
||||||
|
" ": { key: "Space" },
|
||||||
|
"\n": { key: "Enter" },
|
||||||
|
Enter: { key: "Enter" },
|
||||||
|
Tab: { key: "Tab" },
|
||||||
|
} as Record<string, KeyCombo>;
|
Loading…
Reference in New Issue