/
KeyboardLayout.kt
259 lines (257 loc) · 12.7 KB
/
KeyboardLayout.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
package com.dessalines.thumbkey.utils
import com.dessalines.thumbkey.keyboards.KB_BG_PHONETIC_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_BG_THUMBKEY_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_BR_FR_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_BY_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_BY_THUMBKEY_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_CA_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_CZ_PROG
import com.dessalines.thumbkey.keyboards.KB_DA_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_DE_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_DE_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_DE_NORDIC_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_DE_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_DE_THUMBKEY_MULTILINGUAL
import com.dessalines.thumbkey.keyboards.KB_DE_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_ENEO_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_CZ_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_DA_THUMBKEY_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_DE_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_DE_THUMBKEY_V2
import com.dessalines.thumbkey.keyboards.KB_EN_DOUBLE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_EE_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_EO_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_ES_CA_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_FR_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_HR_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_EN_IT_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_LA_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_EN_MESSAGEASE_COMPOSE
import com.dessalines.thumbkey.keyboards.KB_EN_MESSAGEASE_LEFT
import com.dessalines.thumbkey.keyboards.KB_EN_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_MESSAGEASE_SYMBOLS_LEFT
import com.dessalines.thumbkey.keyboards.KB_EN_MI_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_MI_THUMBKEY_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_NO_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_NO_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_NO_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_EN_PH_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_EN_PL_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_QWERTEASE
import com.dessalines.thumbkey.keyboards.KB_EN_QWERTYFOUR
import com.dessalines.thumbkey.keyboards.KB_EN_RO_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_SK_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EN_THUMBKEY_COMPOSE
import com.dessalines.thumbkey.keyboards.KB_EN_THUMBKEY_PROGRAMMER
import com.dessalines.thumbkey.keyboards.KB_EN_THUMBKEY_PROGRAMMER_WIDE
import com.dessalines.thumbkey.keyboards.KB_EN_THUMBKEY_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_THUMBKEY_WIDE
import com.dessalines.thumbkey.keyboards.KB_EN_TWO_HANDS
import com.dessalines.thumbkey.keyboards.KB_EN_TWO_HANDS_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_EN_TWO_HANDS_QWERTEASE
import com.dessalines.thumbkey.keyboards.KB_EN_TWO_HANDS_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_EN_TWO_HANDS_SYMBOLS_NUMBERS
import com.dessalines.thumbkey.keyboards.KB_EN_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_EOENDE_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EO_CYRILLIC_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_ES_CA_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_ES_CA_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_ES_EO_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_ES_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_ES_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_ES_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_EU_ES_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_EU_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_FA_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_FI_EE_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_FI_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_FI_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_FI_THUMBKEY_WIDE
import com.dessalines.thumbkey.keyboards.KB_FI_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_FR_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_FR_THUMBKEY_V1
import com.dessalines.thumbkey.keyboards.KB_FR_THUMBKEY_V2
import com.dessalines.thumbkey.keyboards.KB_FR_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_GR_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_HE_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_HE_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_HE_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_HR_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_HR_THUMBKEY_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_HR_TWO_HANDS
import com.dessalines.thumbkey.keyboards.KB_HU_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_HU_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_ID_THUMBKEY_SYMBOLS_NUMERIC_V1
import com.dessalines.thumbkey.keyboards.KB_ID_THUMBKEY_SYMBOLS_V1
import com.dessalines.thumbkey.keyboards.KB_ID_THUMBKEY_SYMBOLS_V2
import com.dessalines.thumbkey.keyboards.KB_IT_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_IT_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_IT_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_IT_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_JA_THUMBKEY_HIRAGANA
import com.dessalines.thumbkey.keyboards.KB_JA_THUMBKEY_KATAKANA
import com.dessalines.thumbkey.keyboards.KB_JA_TYPESPLIT_HIRAGANA
import com.dessalines.thumbkey.keyboards.KB_JA_TYPESPLIT_KATAKANA
import com.dessalines.thumbkey.keyboards.KB_KA_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_KZ_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_LT_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_LV_LTG_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_MATH_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_NL_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_NL_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_NO_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_PL_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_PL_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_PL_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_PL_TYPESPLIT_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_PT_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_PT_TYPESPLIT
import com.dessalines.thumbkey.keyboards.KB_RU_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_RU_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_RU_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_RU_THUMBKEY_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_SK_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_SK_THUMBKEY_V2
import com.dessalines.thumbkey.keyboards.KB_SL_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_SV_MESSAGEASE
import com.dessalines.thumbkey.keyboards.KB_SV_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_T9
import com.dessalines.thumbkey.keyboards.KB_TOK_SITELEN_EMOJI_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_TOK_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_TR_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_UK_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_UK_RU_MESSAGEASE_SYMBOLS
import com.dessalines.thumbkey.keyboards.KB_UK_THUMBKEY
import com.dessalines.thumbkey.keyboards.KB_VN_THUMBKEY
// Make sure new keyboards are added AT THE END of this list, and have a higher index.
// DO NOT put them in the middle of the list!
enum class KeyboardLayout(val keyboardDefinition: KeyboardDefinition) {
ENThumbKey(KB_EN_THUMBKEY),
ENThumbKeyProgrammer(KB_EN_THUMBKEY_PROGRAMMER),
DEThumbKey(KB_DE_THUMBKEY),
DAThumbKey(KB_DA_THUMBKEY),
ESThumbKey(KB_ES_THUMBKEY),
EUThumbKey(KB_EU_THUMBKEY),
FAThumbKey(KB_FA_THUMBKEY),
FIThumbKey(KB_FI_THUMBKEY),
FRThumbKeyV1(KB_FR_THUMBKEY_V1),
ITThumbKey(KB_IT_THUMBKEY),
NLThumbKey(KB_NL_THUMBKEY),
PLThumbKey(KB_PL_THUMBKEY),
PTThumbKey(KB_PT_THUMBKEY),
RUThumbKey(KB_RU_THUMBKEY),
UKThumbKey(KB_UK_THUMBKEY),
ENMessagEase(KB_EN_MESSAGEASE),
ENMessagEaseSymbols(KB_EN_MESSAGEASE_SYMBOLS),
HEMessagEase(KB_HE_MESSAGEASE),
RUThumbKeySymbols(KB_RU_THUMBKEY_SYMBOLS),
BYThumbKey(KB_BY_THUMBKEY),
BYThumbKeySymbols(KB_BY_THUMBKEY_SYMBOLS),
ENThumbKeySymbols(KB_EN_THUMBKEY_SYMBOLS),
FIThumbKeyWide(KB_FI_THUMBKEY_WIDE),
DEMessagEase(KB_DE_MESSAGEASE),
NOThumbKey(KB_NO_THUMBKEY),
DEThumbKeyMultiLingual(KB_DE_THUMBKEY_MULTILINGUAL),
KAThumbKey(KB_KA_THUMBKEY),
IDThumbKeySymbolsV1(KB_ID_THUMBKEY_SYMBOLS_V1),
FRMessagEase(KB_FR_MESSAGEASE),
RUMessagEaseSymbols(KB_RU_MESSAGEASE_SYMBOLS),
T9(KB_T9),
JAThumbKeyHiragana(KB_JA_THUMBKEY_HIRAGANA),
JAThumbKeyKatakana(KB_JA_THUMBKEY_KATAKANA),
FRThumbKeyV2(KB_FR_THUMBKEY_V2),
SVThumbKey(KB_SV_THUMBKEY),
TRThumbKey(KB_TR_THUMBKEY),
ENTypeSplit(KB_EN_TYPESPLIT),
ESTypeSplit(KB_ES_TYPESPLIT),
DETypeSplit(KB_DE_TYPESPLIT),
FRTypeSplit(KB_FR_TYPESPLIT),
ITTypeSplit(KB_IT_TYPESPLIT),
PTTypeSplit(KB_PT_TYPESPLIT),
PLTypeSplit(KB_PL_TYPESPLIT),
ENTwoHands(KB_EN_TWO_HANDS),
ENThumbKeyProgrammerWide(KB_EN_THUMBKEY_PROGRAMMER_WIDE),
HUThumbKey(KB_HU_THUMBKEY),
ESEOThumbKey(KB_ES_EO_THUMBKEY),
ITMessagEase(KB_IT_MESSAGEASE),
ENSKThumbKey(KB_EN_SK_THUMBKEY),
HEThumbKey(KB_HE_THUMBKEY),
EOENDEThumbKey(KB_EOENDE_THUMBKEY),
GRThumbKey(KB_GR_THUMBKEY),
ENCZThumbKey(KB_EN_CZ_THUMBKEY),
ESMessagEase(KB_ES_MESSAGEASE),
RUMessagEase(KB_RU_MESSAGEASE),
BGThumbKeySymbols(KB_BG_THUMBKEY_SYMBOLS),
HRTwoHands(KB_HR_TWO_HANDS),
HRThumbKey(KB_HR_THUMBKEY),
HRThumbKeySymbols(KB_HR_THUMBKEY_SYMBOLS),
FITypeSplit(KB_FI_TYPESPLIT),
LVLTGThumbKey(KB_LV_LTG_THUMBKEY),
LTThumbKey(KB_LT_THUMBKEY),
IDThumbKeySymbolsV2(KB_ID_THUMBKEY_SYMBOLS_V2),
IDThumbKeySymbolsNumeric(KB_ID_THUMBKEY_SYMBOLS_NUMERIC_V1),
ESCAThumbKey(KB_ES_CA_THUMBKEY),
ENITThumbKey(KB_EN_IT_THUMBKEY),
ENEOMessagEaseSymbols(KB_ENEO_MESSAGEASE_SYMBOLS),
UKRUMessagEaseSymbols(KB_UK_RU_MESSAGEASE_SYMBOLS),
DEMessagEaseSymbols(KB_DE_MESSAGEASE_SYMBOLS),
CAThumbKey(KB_CA_THUMBKEY),
MATHThumbKey(KB_MATH_THUMBKEY),
ENEEThumbKey(KB_EN_EE_THUMBKEY),
SKThumbKey(KB_SK_THUMBKEY),
ENNOTypeSplit(KB_EN_NO_TYPESPLIT),
ENThumbKeyCompose(KB_EN_THUMBKEY_COMPOSE),
ENNOThumbKey(KB_EN_NO_THUMBKEY),
ENTwoHandsSymbols(KB_EN_TWO_HANDS_SYMBOLS),
ENTwoHandsSymbolsNumbers(KB_EN_TWO_HANDS_SYMBOLS_NUMBERS),
JATypeSplitHiragana(KB_JA_TYPESPLIT_HIRAGANA),
JATypeSplitKatakana(KB_JA_TYPESPLIT_KATAKANA),
EUESThumbKey(KB_EU_ES_THUMBKEY),
ENQwertyFour(KB_EN_QWERTYFOUR),
KZThumbKey(KB_KZ_THUMBKEY),
ENMIThumbKey(KB_EN_MI_THUMBKEY),
ENMIThumbKeySymbols(KB_EN_MI_THUMBKEY_SYMBOLS),
ESCAMessagEase(KB_ES_CA_MESSAGEASE),
SVMessagEase(KB_SV_MESSAGEASE),
ENDoubleSymbols(KB_EN_DOUBLE_SYMBOLS),
FIMessagEase(KB_FI_MESSAGEASE),
ENDAThumbKeySymbols(KB_EN_DA_THUMBKEY_SYMBOLS),
FIEEMessagEase(KB_FI_EE_MESSAGEASE_SYMBOLS),
ENPLThumbkey(KB_EN_PL_THUMBKEY),
BGPhoneticMessagEaseSymbols(KB_BG_PHONETIC_MESSAGEASE_SYMBOLS),
UKMessagEaseSymbols(KB_UK_MESSAGEASE_SYMBOLS),
ENFRMessagEaseSymbols(KB_EN_FR_MESSAGEASE_SYMBOLS),
HEMessagEaseSymbols(KB_HE_MESSAGEASE_SYMBOLS),
ENNOMessagEaseSymbols(KB_EN_NO_MESSAGEASE_SYMBOLS),
SLMessagEaseSymbols(KB_SL_MESSAGEASE_SYMBOLS),
ENMessagEaseLeft(KB_EN_MESSAGEASE_LEFT),
ENMessagEaseSymbolsLeft(KB_EN_MESSAGEASE_SYMBOLS_LEFT),
ENEOThumbKey(KB_EN_EO_THUMBKEY),
ENPHMessagEase(KB_EN_PH_MESSAGEASE),
EOCyrillicThumbKey(KB_EO_CYRILLIC_THUMBKEY),
HUTypeSplit(KB_HU_TYPESPLIT),
ENROThumbKey(KB_EN_RO_THUMBKEY),
ENLAThumbKey(KB_EN_LA_THUMBKEY),
NLTypeSplit(KB_NL_TYPESPLIT),
PLMessagEase(KB_PL_MESSAGEASE),
ENMessagEaseCompose(KB_EN_MESSAGEASE_COMPOSE),
BRFRThumbKey(KB_BR_FR_THUMBKEY),
ENTwoHandsMessagEase(KB_EN_TWO_HANDS_MESSAGEASE),
ENDEThumbKey(KB_EN_DE_THUMBKEY),
ENHRMessagEase(KB_EN_HR_MESSAGEASE),
CZprogrammerMessagease(KB_CZ_PROG),
ENDEThumbKeyV2(KB_EN_DE_THUMBKEY_V2),
ENESCAThumbKey(KB_EN_ES_CA_THUMBKEY),
DENordicMessagEase(KB_DE_NORDIC_MESSAGEASE),
VNThumbKey(KB_VN_THUMBKEY),
TOKThumbKey(KB_TOK_THUMBKEY),
TOKSitelenEmojiThumbKey(KB_TOK_SITELEN_EMOJI_THUMBKEY),
PLTypeSplitSymbols(KB_PL_TYPESPLIT_SYMBOLS),
SKThumbKeyV3(KB_SK_THUMBKEY_V2),
ITMessagEaseSymbols(KB_IT_MESSAGEASE_SYMBOLS),
ENQwertease(KB_EN_QWERTEASE),
ENQTwoHandsQwertease(KB_EN_TWO_HANDS_QWERTEASE),
ENThumbKeyWide(KB_EN_THUMBKEY_WIDE),
}