1
+ import { KeyCombo } from "../keyboardLayouts"
2
+
3
+ const keyTrema = { key : "BracketRight" } // tréma (umlaut), two dots placed above a vowel
4
+ const keyAcute = { key : "Minus" , altRight : true } // accent aigu (acute accent), mark ´ placed above the letter
5
+ const keyHat = { key : "Equal" } // accent circonflexe (accent hat), mark ^ placed above the letter
6
+ const keyGrave = { key : "Equal" , shift : true } // accent grave, mark ` placed above the letter
7
+ const keyTilde = { key : "Equal" , altRight : true } // tilde, mark ~ placed above the letter
8
+
1
9
export const chars = {
2
10
A : { key : "KeyA" , shift : true } ,
3
- "Ä" : { key : "KeyA" , shift : true , trema : true } ,
11
+ "Ä" : { key : "KeyA" , shift : true , accentKey : keyTrema } ,
12
+ "Á" : { key : "KeyA" , shift : true , accentKey : keyAcute } ,
13
+ "Â" : { key : "KeyA" , shift : true , accentKey : keyHat } ,
14
+ "À" : { key : "KeyA" , shift : true , accentKey : keyGrave } ,
15
+ "Ã" : { key : "KeyA" , shift : true , accentKey : keyTilde } ,
16
+ "Æ" : { key : "KeyA" , shift : true , altRight : true } ,
4
17
B : { key : "KeyB" , shift : true } ,
5
18
C : { key : "KeyC" , shift : true } ,
6
19
D : { key : "KeyD" , shift : true } ,
7
20
E : { key : "KeyE" , shift : true } ,
21
+ "Ë" : { key : "KeyE" , shift : true , accentKey : keyTrema } ,
22
+ "É" : { key : "KeyE" , shift : true , accentKey : keyAcute } ,
23
+ "Ê" : { key : "KeyE" , shift : true , accentKey : keyHat } ,
24
+ "È" : { key : "KeyE" , shift : true , accentKey : keyGrave } ,
25
+ "Ẽ" : { key : "KeyE" , shift : true , accentKey : keyTilde } ,
8
26
F : { key : "KeyF" , shift : true } ,
9
27
G : { key : "KeyG" , shift : true } ,
10
28
H : { key : "KeyH" , shift : true } ,
11
29
I : { key : "KeyI" , shift : true } ,
30
+ "Ï" : { key : "KeyI" , shift : true , accentKey : keyTrema } ,
31
+ "Í" : { key : "KeyI" , shift : true , accentKey : keyAcute } ,
32
+ "Î" : { key : "KeyI" , shift : true , accentKey : keyHat } ,
33
+ "Ì" : { key : "KeyI" , shift : true , accentKey : keyGrave } ,
34
+ "Ĩ" : { key : "KeyI" , shift : true , accentKey : keyTilde } ,
12
35
J : { key : "KeyJ" , shift : true } ,
13
36
K : { key : "KeyK" , shift : true } ,
14
37
L : { key : "KeyL" , shift : true } ,
15
38
M : { key : "KeyM" , shift : true } ,
16
39
N : { key : "KeyN" , shift : true } ,
17
40
O : { key : "KeyO" , shift : true } ,
18
- "Ö" : { key : "KeyO" , shift : true , trema : true } ,
41
+ "Ö" : { key : "KeyO" , shift : true , accentKey : keyTrema } ,
42
+ "Ó" : { key : "KeyO" , shift : true , accentKey : keyAcute } ,
43
+ "Ô" : { key : "KeyO" , shift : true , accentKey : keyHat } ,
44
+ "Ò" : { key : "KeyO" , shift : true , accentKey : keyGrave } ,
45
+ "Õ" : { key : "KeyO" , shift : true , accentKey : keyTilde } ,
46
+ "Œ" : { key : "KeyO" , shift : true , altRight : true } ,
19
47
P : { key : "KeyP" , shift : true } ,
20
48
Q : { key : "KeyQ" , shift : true } ,
21
49
R : { key : "KeyR" , shift : true } ,
22
50
S : { key : "KeyS" , shift : true } ,
23
51
T : { key : "KeyT" , shift : true } ,
24
52
U : { key : "KeyU" , shift : true } ,
25
- "Ü" : { key : "KeyU" , shift : true , trema : true } ,
53
+ "Ü" : { key : "KeyU" , shift : true , accentKey : keyTrema } ,
54
+ "Ú" : { key : "KeyU" , shift : true , accentKey : keyAcute } ,
55
+ "Û" : { key : "KeyU" , shift : true , accentKey : keyHat } ,
56
+ "Ù" : { key : "KeyU" , shift : true , accentKey : keyGrave } ,
57
+ "Ũ" : { key : "KeyU" , shift : true , accentKey : keyTilde } ,
26
58
V : { key : "KeyV" , shift : true } ,
27
59
W : { key : "KeyW" , shift : true } ,
28
60
X : { key : "KeyX" , shift : true } ,
29
61
Y : { key : "KeyZ" , shift : true } ,
30
62
Z : { key : "KeyY" , shift : true } ,
31
63
a : { key : "KeyA" } ,
64
+ "á" : { key : "KeyA" , accentKey : keyAcute } ,
65
+ "â" : { key : "KeyA" , accentKey : keyHat } ,
66
+ "ã" : { key : "KeyA" , accentKey : keyTilde } ,
32
67
"æ" : { key : "KeyA" , altRight : true } ,
33
68
b : { key : "KeyB" } ,
34
69
c : { key : "KeyC" } ,
35
70
d : { key : "KeyD" } ,
36
71
"ð" : { key : "KeyD" , altRight : true } ,
37
72
e : { key : "KeyE" } ,
73
+ "ë" : { key : "KeyE" , accentKey : keyTrema } ,
74
+ "ê" : { key : "KeyE" , accentKey : keyHat } ,
75
+ "ẽ" : { key : "KeyE" , accentKey : keyTilde } ,
38
76
f : { key : "KeyF" } ,
39
77
"đ" : { key : "KeyF" , altRight : true } ,
40
78
g : { key : "KeyG" } ,
41
79
"ŋ" : { key : "KeyG" , altRight : true } ,
42
80
h : { key : "KeyH" } ,
43
81
"ħ" : { key : "KeyH" , altRight : true } ,
44
82
i : { key : "KeyI" } ,
83
+ "ï" : { key : "KeyI" , accentKey : keyTrema } ,
84
+ "í" : { key : "KeyI" , accentKey : keyAcute } ,
85
+ "î" : { key : "KeyI" , accentKey : keyHat } ,
86
+ "ì" : { key : "KeyI" , accentKey : keyGrave } ,
87
+ "ĩ" : { key : "KeyI" , accentKey : keyTilde } ,
45
88
"→" : { key : "KeyI" , altRight : true } ,
46
89
j : { key : "KeyJ" } ,
47
90
k : { key : "KeyK" } ,
@@ -52,6 +95,10 @@ export const chars = {
52
95
"µ" : { key : "KeyM" , altRight : true } ,
53
96
n : { key : "KeyN" } ,
54
97
o : { key : "KeyO" } ,
98
+ "ó" : { key : "KeyO" , accentKey : keyAcute } ,
99
+ "ô" : { key : "KeyO" , accentKey : keyHat } ,
100
+ "ò" : { key : "KeyO" , accentKey : keyGrave } ,
101
+ "õ" : { key : "KeyO" , accentKey : keyTilde } ,
55
102
"œ" : { key : "KeyO" , altRight : true } ,
56
103
p : { key : "KeyP" } ,
57
104
"þ" : { key : "KeyP" , altRight : true } ,
@@ -63,6 +110,10 @@ export const chars = {
63
110
t : { key : "KeyT" } ,
64
111
"ŧ" : { key : "KeyT" , altRight : true } ,
65
112
u : { key : "KeyU" } ,
113
+ "ú" : { key : "KeyU" , accentKey : keyAcute } ,
114
+ "û" : { key : "KeyU" , accentKey : keyHat } ,
115
+ "ù" : { key : "KeyU" , accentKey : keyGrave } ,
116
+ "ũ" : { key : "KeyU" , accentKey : keyTilde } ,
66
117
"↓" : { key : "KeyU" , altRight : true } ,
67
118
v : { key : "KeyV" } ,
68
119
"„" : { key : "KeyV" , altRight : true } ,
@@ -105,9 +156,9 @@ export const chars = {
105
156
"=" : { key : "Digit0" , shift : true } ,
106
157
"'" : { key : "Minus" } ,
107
158
"?" : { key : "Minus" , shift : true } ,
108
- "^" : { key : "Equal" , space : true } , // dead key
159
+ "^" : { key : "Equal" , deadKey : true } ,
109
160
"`" : { key : "Equal" , shift : true } ,
110
- "~" : { key : "Equal" , altRight : true , space : true } , // dead key
161
+ "~" : { key : "Equal" , altRight : true , deadKey : true } ,
111
162
"ü" : { key : "BracketLeft" } ,
112
163
"è" : { key : "BracketLeft" , shift : true } ,
113
164
"[" : { key : "BracketLeft" , altRight : true } ,
@@ -137,4 +188,4 @@ export const chars = {
137
188
"\n" : { key : "Enter" } ,
138
189
Enter : { key : "Enter" } ,
139
190
Tab : { key : "Tab" } ,
140
- } as Record < string , { key : string | number ; shift ?: boolean , altRight ?: boolean , space ?: boolean , capsLock ?: boolean , trema ?: boolean } >
191
+ } as Record < string , KeyCombo > ;
0 commit comments