Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/classes/sun/awt/ExtendedKeyCodes.java
38827 views
1
/*
2
* Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package sun.awt;
27
28
import java.util.Collections;
29
import java.util.HashMap;
30
import java.util.HashSet;
31
import java.awt.event.KeyEvent;
32
33
public class ExtendedKeyCodes {
34
/**
35
* ATTN: These are the readonly hashes with load factor == 1;
36
* adding a value, please set the inital capacity to exact number of items
37
* or higher.
38
*/
39
// Keycodes declared in KeyEvent.java with corresponding Unicode values.
40
private final static HashMap<Integer, Integer> regularKeyCodesMap =
41
new HashMap<Integer,Integer>(98, 1.0f);
42
43
// Keycodes derived from Unicode values. Here should be collected codes
44
// for characters appearing on the primary layer of at least one
45
// known keyboard layout. For instance, sterling sign is on the primary layer
46
// of the Mac Italian layout.
47
private final static HashSet<Integer> extendedKeyCodesSet =
48
new HashSet<Integer>(501, 1.0f);
49
final public static int getExtendedKeyCodeForChar( int c ) {
50
int uc = Character.toUpperCase( c );
51
int lc = Character.toLowerCase( c );
52
if (regularKeyCodesMap.containsKey( c )) {
53
if(regularKeyCodesMap.containsKey(uc)) {
54
return regularKeyCodesMap.get( uc );
55
}
56
return regularKeyCodesMap.get( c );
57
}
58
uc += 0x01000000;
59
lc += 0x01000000;
60
if (extendedKeyCodesSet.contains( uc )) {
61
return uc;
62
}else if (extendedKeyCodesSet.contains( lc )) {
63
return lc;
64
}
65
return KeyEvent.VK_UNDEFINED;
66
}
67
static {
68
regularKeyCodesMap.put(0x08, KeyEvent.VK_BACK_SPACE);
69
regularKeyCodesMap.put(0x09, KeyEvent.VK_TAB);
70
regularKeyCodesMap.put(0x0a, KeyEvent.VK_ENTER);
71
regularKeyCodesMap.put(0x1B, KeyEvent.VK_ESCAPE);
72
regularKeyCodesMap.put(0x20AC, KeyEvent.VK_EURO_SIGN);
73
regularKeyCodesMap.put(0x20, KeyEvent.VK_SPACE);
74
regularKeyCodesMap.put(0x21, KeyEvent.VK_EXCLAMATION_MARK);
75
regularKeyCodesMap.put(0x22, KeyEvent.VK_QUOTEDBL);
76
regularKeyCodesMap.put(0x23, KeyEvent.VK_NUMBER_SIGN);
77
regularKeyCodesMap.put(0x24, KeyEvent.VK_DOLLAR);
78
regularKeyCodesMap.put(0x26, KeyEvent.VK_AMPERSAND);
79
regularKeyCodesMap.put(0x27, KeyEvent.VK_QUOTE);
80
regularKeyCodesMap.put(0x28, KeyEvent.VK_LEFT_PARENTHESIS);
81
regularKeyCodesMap.put(0x29, KeyEvent.VK_RIGHT_PARENTHESIS);
82
regularKeyCodesMap.put(0x2A, KeyEvent.VK_ASTERISK);
83
regularKeyCodesMap.put(0x2B, KeyEvent.VK_PLUS);
84
regularKeyCodesMap.put(0x2C, KeyEvent.VK_COMMA);
85
regularKeyCodesMap.put(0x2D, KeyEvent.VK_MINUS);
86
regularKeyCodesMap.put(0x2E, KeyEvent.VK_PERIOD);
87
regularKeyCodesMap.put(0x2F, KeyEvent.VK_SLASH);
88
regularKeyCodesMap.put(0x30, KeyEvent.VK_0);
89
regularKeyCodesMap.put(0x31, KeyEvent.VK_1);
90
regularKeyCodesMap.put(0x32, KeyEvent.VK_2);
91
regularKeyCodesMap.put(0x33, KeyEvent.VK_3);
92
regularKeyCodesMap.put(0x34, KeyEvent.VK_4);
93
regularKeyCodesMap.put(0x35, KeyEvent.VK_5);
94
regularKeyCodesMap.put(0x36, KeyEvent.VK_6);
95
regularKeyCodesMap.put(0x37, KeyEvent.VK_7);
96
regularKeyCodesMap.put(0x38, KeyEvent.VK_8);
97
regularKeyCodesMap.put(0x39, KeyEvent.VK_9);
98
regularKeyCodesMap.put(0x3A, KeyEvent.VK_COLON);
99
regularKeyCodesMap.put(0x3B, KeyEvent.VK_SEMICOLON);
100
regularKeyCodesMap.put(0x3C, KeyEvent.VK_LESS);
101
regularKeyCodesMap.put(0x3D, KeyEvent.VK_EQUALS);
102
regularKeyCodesMap.put(0x3E, KeyEvent.VK_GREATER);
103
regularKeyCodesMap.put(0x40, KeyEvent.VK_AT);
104
regularKeyCodesMap.put(0x41, KeyEvent.VK_A);
105
regularKeyCodesMap.put(0x42, KeyEvent.VK_B);
106
regularKeyCodesMap.put(0x43, KeyEvent.VK_C);
107
regularKeyCodesMap.put(0x44, KeyEvent.VK_D);
108
regularKeyCodesMap.put(0x45, KeyEvent.VK_E);
109
regularKeyCodesMap.put(0x46, KeyEvent.VK_F);
110
regularKeyCodesMap.put(0x47, KeyEvent.VK_G);
111
regularKeyCodesMap.put(0x48, KeyEvent.VK_H);
112
regularKeyCodesMap.put(0x49, KeyEvent.VK_I);
113
regularKeyCodesMap.put(0x4A, KeyEvent.VK_J);
114
regularKeyCodesMap.put(0x4B, KeyEvent.VK_K);
115
regularKeyCodesMap.put(0x4C, KeyEvent.VK_L);
116
regularKeyCodesMap.put(0x4D, KeyEvent.VK_M);
117
regularKeyCodesMap.put(0x4E, KeyEvent.VK_N);
118
regularKeyCodesMap.put(0x4F, KeyEvent.VK_O);
119
regularKeyCodesMap.put(0x50, KeyEvent.VK_P);
120
regularKeyCodesMap.put(0x51, KeyEvent.VK_Q);
121
regularKeyCodesMap.put(0x52, KeyEvent.VK_R);
122
regularKeyCodesMap.put(0x53, KeyEvent.VK_S);
123
regularKeyCodesMap.put(0x54, KeyEvent.VK_T);
124
regularKeyCodesMap.put(0x55, KeyEvent.VK_U);
125
regularKeyCodesMap.put(0x56, KeyEvent.VK_V);
126
regularKeyCodesMap.put(0x57, KeyEvent.VK_W);
127
regularKeyCodesMap.put(0x58, KeyEvent.VK_X);
128
regularKeyCodesMap.put(0x59, KeyEvent.VK_Y);
129
regularKeyCodesMap.put(0x5A, KeyEvent.VK_Z);
130
regularKeyCodesMap.put(0x5B, KeyEvent.VK_OPEN_BRACKET);
131
regularKeyCodesMap.put(0x5C, KeyEvent.VK_BACK_SLASH);
132
regularKeyCodesMap.put(0x5D, KeyEvent.VK_CLOSE_BRACKET);
133
regularKeyCodesMap.put(0x5E, KeyEvent.VK_CIRCUMFLEX);
134
regularKeyCodesMap.put(0x5F, KeyEvent.VK_UNDERSCORE);
135
regularKeyCodesMap.put(0x60, KeyEvent.VK_BACK_QUOTE);
136
regularKeyCodesMap.put(0x61, KeyEvent.VK_A);
137
regularKeyCodesMap.put(0x62, KeyEvent.VK_B);
138
regularKeyCodesMap.put(0x63, KeyEvent.VK_C);
139
regularKeyCodesMap.put(0x64, KeyEvent.VK_D);
140
regularKeyCodesMap.put(0x65, KeyEvent.VK_E);
141
regularKeyCodesMap.put(0x66, KeyEvent.VK_F);
142
regularKeyCodesMap.put(0x67, KeyEvent.VK_G);
143
regularKeyCodesMap.put(0x68, KeyEvent.VK_H);
144
regularKeyCodesMap.put(0x69, KeyEvent.VK_I);
145
regularKeyCodesMap.put(0x6A, KeyEvent.VK_J);
146
regularKeyCodesMap.put(0x6B, KeyEvent.VK_K);
147
regularKeyCodesMap.put(0x6C, KeyEvent.VK_L);
148
regularKeyCodesMap.put(0x6D, KeyEvent.VK_M);
149
regularKeyCodesMap.put(0x6E, KeyEvent.VK_N);
150
regularKeyCodesMap.put(0x6F, KeyEvent.VK_O);
151
regularKeyCodesMap.put(0x70, KeyEvent.VK_P);
152
regularKeyCodesMap.put(0x71, KeyEvent.VK_Q);
153
regularKeyCodesMap.put(0x72, KeyEvent.VK_R);
154
regularKeyCodesMap.put(0x73, KeyEvent.VK_S);
155
regularKeyCodesMap.put(0x74, KeyEvent.VK_T);
156
regularKeyCodesMap.put(0x75, KeyEvent.VK_U);
157
regularKeyCodesMap.put(0x76, KeyEvent.VK_V);
158
regularKeyCodesMap.put(0x77, KeyEvent.VK_W);
159
regularKeyCodesMap.put(0x78, KeyEvent.VK_X);
160
regularKeyCodesMap.put(0x79, KeyEvent.VK_Y);
161
regularKeyCodesMap.put(0x7A, KeyEvent.VK_Z);
162
regularKeyCodesMap.put(0x7B, KeyEvent.VK_BRACELEFT);
163
regularKeyCodesMap.put(0x7D, KeyEvent.VK_BRACERIGHT);
164
regularKeyCodesMap.put(0x7F, KeyEvent.VK_DELETE);
165
regularKeyCodesMap.put(0xA1, KeyEvent.VK_INVERTED_EXCLAMATION_MARK);
166
167
extendedKeyCodesSet.add(0x01000000+0x0060);
168
extendedKeyCodesSet.add(0x01000000+0x007C);
169
extendedKeyCodesSet.add(0x01000000+0x007E);
170
extendedKeyCodesSet.add(0x01000000+0x00A2);
171
extendedKeyCodesSet.add(0x01000000+0x00A3);
172
extendedKeyCodesSet.add(0x01000000+0x00A5);
173
extendedKeyCodesSet.add(0x01000000+0x00A7);
174
extendedKeyCodesSet.add(0x01000000+0x00A8);
175
extendedKeyCodesSet.add(0x01000000+0x00AB);
176
extendedKeyCodesSet.add(0x01000000+0x00B0);
177
extendedKeyCodesSet.add(0x01000000+0x00B1);
178
extendedKeyCodesSet.add(0x01000000+0x00B2);
179
extendedKeyCodesSet.add(0x01000000+0x00B3);
180
extendedKeyCodesSet.add(0x01000000+0x00B4);
181
extendedKeyCodesSet.add(0x01000000+0x00B5);
182
extendedKeyCodesSet.add(0x01000000+0x00B6);
183
extendedKeyCodesSet.add(0x01000000+0x00B7);
184
extendedKeyCodesSet.add(0x01000000+0x00B9);
185
extendedKeyCodesSet.add(0x01000000+0x00BA);
186
extendedKeyCodesSet.add(0x01000000+0x00BB);
187
extendedKeyCodesSet.add(0x01000000+0x00BC);
188
extendedKeyCodesSet.add(0x01000000+0x00BD);
189
extendedKeyCodesSet.add(0x01000000+0x00BE);
190
extendedKeyCodesSet.add(0x01000000+0x00BF);
191
extendedKeyCodesSet.add(0x01000000+0x00C4);
192
extendedKeyCodesSet.add(0x01000000+0x00C5);
193
extendedKeyCodesSet.add(0x01000000+0x00C6);
194
extendedKeyCodesSet.add(0x01000000+0x00C7);
195
extendedKeyCodesSet.add(0x01000000+0x00D1);
196
extendedKeyCodesSet.add(0x01000000+0x00D6);
197
extendedKeyCodesSet.add(0x01000000+0x00D7);
198
extendedKeyCodesSet.add(0x01000000+0x00D8);
199
extendedKeyCodesSet.add(0x01000000+0x00DF);
200
extendedKeyCodesSet.add(0x01000000+0x00E0);
201
extendedKeyCodesSet.add(0x01000000+0x00E1);
202
extendedKeyCodesSet.add(0x01000000+0x00E2);
203
extendedKeyCodesSet.add(0x01000000+0x00E4);
204
extendedKeyCodesSet.add(0x01000000+0x00E5);
205
extendedKeyCodesSet.add(0x01000000+0x00E6);
206
extendedKeyCodesSet.add(0x01000000+0x00E7);
207
extendedKeyCodesSet.add(0x01000000+0x00E8);
208
extendedKeyCodesSet.add(0x01000000+0x00E9);
209
extendedKeyCodesSet.add(0x01000000+0x00EA);
210
extendedKeyCodesSet.add(0x01000000+0x00EB);
211
extendedKeyCodesSet.add(0x01000000+0x00EC);
212
extendedKeyCodesSet.add(0x01000000+0x00ED);
213
extendedKeyCodesSet.add(0x01000000+0x00EE);
214
extendedKeyCodesSet.add(0x01000000+0x00F0);
215
extendedKeyCodesSet.add(0x01000000+0x00F1);
216
extendedKeyCodesSet.add(0x01000000+0x00F2);
217
extendedKeyCodesSet.add(0x01000000+0x00F3);
218
extendedKeyCodesSet.add(0x01000000+0x00F4);
219
extendedKeyCodesSet.add(0x01000000+0x00F5);
220
extendedKeyCodesSet.add(0x01000000+0x00F6);
221
extendedKeyCodesSet.add(0x01000000+0x00F7);
222
extendedKeyCodesSet.add(0x01000000+0x00F8);
223
extendedKeyCodesSet.add(0x01000000+0x00F9);
224
extendedKeyCodesSet.add(0x01000000+0x00FA);
225
extendedKeyCodesSet.add(0x01000000+0x00FB);
226
extendedKeyCodesSet.add(0x01000000+0x00FC);
227
extendedKeyCodesSet.add(0x01000000+0x00FD);
228
extendedKeyCodesSet.add(0x01000000+0x00FE);
229
extendedKeyCodesSet.add(0x01000000+0x0105);
230
extendedKeyCodesSet.add(0x01000000+0x02DB);
231
extendedKeyCodesSet.add(0x01000000+0x0142);
232
extendedKeyCodesSet.add(0x01000000+0x013E);
233
extendedKeyCodesSet.add(0x01000000+0x015B);
234
extendedKeyCodesSet.add(0x01000000+0x0161);
235
extendedKeyCodesSet.add(0x01000000+0x015F);
236
extendedKeyCodesSet.add(0x01000000+0x0165);
237
extendedKeyCodesSet.add(0x01000000+0x017E);
238
extendedKeyCodesSet.add(0x01000000+0x017C);
239
extendedKeyCodesSet.add(0x01000000+0x0103);
240
extendedKeyCodesSet.add(0x01000000+0x0107);
241
extendedKeyCodesSet.add(0x01000000+0x010D);
242
extendedKeyCodesSet.add(0x01000000+0x0119);
243
extendedKeyCodesSet.add(0x01000000+0x011B);
244
extendedKeyCodesSet.add(0x01000000+0x0111);
245
extendedKeyCodesSet.add(0x01000000+0x0148);
246
extendedKeyCodesSet.add(0x01000000+0x0151);
247
extendedKeyCodesSet.add(0x01000000+0x0171);
248
extendedKeyCodesSet.add(0x01000000+0x0159);
249
extendedKeyCodesSet.add(0x01000000+0x016F);
250
extendedKeyCodesSet.add(0x01000000+0x0163);
251
extendedKeyCodesSet.add(0x01000000+0x02D9);
252
extendedKeyCodesSet.add(0x01000000+0x0130);
253
extendedKeyCodesSet.add(0x01000000+0x0127);
254
extendedKeyCodesSet.add(0x01000000+0x0125);
255
extendedKeyCodesSet.add(0x01000000+0x0131);
256
extendedKeyCodesSet.add(0x01000000+0x011F);
257
extendedKeyCodesSet.add(0x01000000+0x0135);
258
extendedKeyCodesSet.add(0x01000000+0x010B);
259
extendedKeyCodesSet.add(0x01000000+0x0109);
260
extendedKeyCodesSet.add(0x01000000+0x0121);
261
extendedKeyCodesSet.add(0x01000000+0x011D);
262
extendedKeyCodesSet.add(0x01000000+0x016D);
263
extendedKeyCodesSet.add(0x01000000+0x015D);
264
extendedKeyCodesSet.add(0x01000000+0x0138);
265
extendedKeyCodesSet.add(0x01000000+0x0157);
266
extendedKeyCodesSet.add(0x01000000+0x013C);
267
extendedKeyCodesSet.add(0x01000000+0x0113);
268
extendedKeyCodesSet.add(0x01000000+0x0123);
269
extendedKeyCodesSet.add(0x01000000+0x0167);
270
extendedKeyCodesSet.add(0x01000000+0x014B);
271
extendedKeyCodesSet.add(0x01000000+0x0101);
272
extendedKeyCodesSet.add(0x01000000+0x012F);
273
extendedKeyCodesSet.add(0x01000000+0x0117);
274
extendedKeyCodesSet.add(0x01000000+0x012B);
275
extendedKeyCodesSet.add(0x01000000+0x0146);
276
extendedKeyCodesSet.add(0x01000000+0x014D);
277
extendedKeyCodesSet.add(0x01000000+0x0137);
278
extendedKeyCodesSet.add(0x01000000+0x0173);
279
extendedKeyCodesSet.add(0x01000000+0x016B);
280
extendedKeyCodesSet.add(0x01000000+0x0153);
281
extendedKeyCodesSet.add(0x01000000+0x30FC);
282
extendedKeyCodesSet.add(0x01000000+0x30A2);
283
extendedKeyCodesSet.add(0x01000000+0x30A4);
284
extendedKeyCodesSet.add(0x01000000+0x30A6);
285
extendedKeyCodesSet.add(0x01000000+0x30A8);
286
extendedKeyCodesSet.add(0x01000000+0x30AA);
287
extendedKeyCodesSet.add(0x01000000+0x30AB);
288
extendedKeyCodesSet.add(0x01000000+0x30AD);
289
extendedKeyCodesSet.add(0x01000000+0x30AF);
290
extendedKeyCodesSet.add(0x01000000+0x30B1);
291
extendedKeyCodesSet.add(0x01000000+0x30B3);
292
extendedKeyCodesSet.add(0x01000000+0x30B5);
293
extendedKeyCodesSet.add(0x01000000+0x30B7);
294
extendedKeyCodesSet.add(0x01000000+0x30B9);
295
extendedKeyCodesSet.add(0x01000000+0x30BB);
296
extendedKeyCodesSet.add(0x01000000+0x30BD);
297
extendedKeyCodesSet.add(0x01000000+0x30BF);
298
extendedKeyCodesSet.add(0x01000000+0x30C1);
299
extendedKeyCodesSet.add(0x01000000+0x30C4);
300
extendedKeyCodesSet.add(0x01000000+0x30C6);
301
extendedKeyCodesSet.add(0x01000000+0x30C8);
302
extendedKeyCodesSet.add(0x01000000+0x30CA);
303
extendedKeyCodesSet.add(0x01000000+0x30CB);
304
extendedKeyCodesSet.add(0x01000000+0x30CC);
305
extendedKeyCodesSet.add(0x01000000+0x30CD);
306
extendedKeyCodesSet.add(0x01000000+0x30CE);
307
extendedKeyCodesSet.add(0x01000000+0x30CF);
308
extendedKeyCodesSet.add(0x01000000+0x30D2);
309
extendedKeyCodesSet.add(0x01000000+0x30D5);
310
extendedKeyCodesSet.add(0x01000000+0x30D8);
311
extendedKeyCodesSet.add(0x01000000+0x30DB);
312
extendedKeyCodesSet.add(0x01000000+0x30DE);
313
extendedKeyCodesSet.add(0x01000000+0x30DF);
314
extendedKeyCodesSet.add(0x01000000+0x30E0);
315
extendedKeyCodesSet.add(0x01000000+0x30E1);
316
extendedKeyCodesSet.add(0x01000000+0x30E2);
317
extendedKeyCodesSet.add(0x01000000+0x30E4);
318
extendedKeyCodesSet.add(0x01000000+0x30E6);
319
extendedKeyCodesSet.add(0x01000000+0x30E8);
320
extendedKeyCodesSet.add(0x01000000+0x30E9);
321
extendedKeyCodesSet.add(0x01000000+0x30EA);
322
extendedKeyCodesSet.add(0x01000000+0x30EB);
323
extendedKeyCodesSet.add(0x01000000+0x30EC);
324
extendedKeyCodesSet.add(0x01000000+0x30ED);
325
extendedKeyCodesSet.add(0x01000000+0x30EF);
326
extendedKeyCodesSet.add(0x01000000+0x30F3);
327
extendedKeyCodesSet.add(0x01000000+0x309B);
328
extendedKeyCodesSet.add(0x01000000+0x309C);
329
extendedKeyCodesSet.add(0x01000000+0x06F0);
330
extendedKeyCodesSet.add(0x01000000+0x06F1);
331
extendedKeyCodesSet.add(0x01000000+0x06F2);
332
extendedKeyCodesSet.add(0x01000000+0x06F3);
333
extendedKeyCodesSet.add(0x01000000+0x06F4);
334
extendedKeyCodesSet.add(0x01000000+0x06F5);
335
extendedKeyCodesSet.add(0x01000000+0x06F6);
336
extendedKeyCodesSet.add(0x01000000+0x06F7);
337
extendedKeyCodesSet.add(0x01000000+0x06F8);
338
extendedKeyCodesSet.add(0x01000000+0x06F9);
339
extendedKeyCodesSet.add(0x01000000+0x0670);
340
extendedKeyCodesSet.add(0x01000000+0x067E);
341
extendedKeyCodesSet.add(0x01000000+0x0686);
342
extendedKeyCodesSet.add(0x01000000+0x060C);
343
extendedKeyCodesSet.add(0x01000000+0x06D4);
344
extendedKeyCodesSet.add(0x01000000+0x0660);
345
extendedKeyCodesSet.add(0x01000000+0x0661);
346
extendedKeyCodesSet.add(0x01000000+0x0662);
347
extendedKeyCodesSet.add(0x01000000+0x0663);
348
extendedKeyCodesSet.add(0x01000000+0x0664);
349
extendedKeyCodesSet.add(0x01000000+0x0665);
350
extendedKeyCodesSet.add(0x01000000+0x0666);
351
extendedKeyCodesSet.add(0x01000000+0x0667);
352
extendedKeyCodesSet.add(0x01000000+0x0668);
353
extendedKeyCodesSet.add(0x01000000+0x0669);
354
extendedKeyCodesSet.add(0x01000000+0x061B);
355
extendedKeyCodesSet.add(0x01000000+0x0621);
356
extendedKeyCodesSet.add(0x01000000+0x0624);
357
extendedKeyCodesSet.add(0x01000000+0x0626);
358
extendedKeyCodesSet.add(0x01000000+0x0627);
359
extendedKeyCodesSet.add(0x01000000+0x0628);
360
extendedKeyCodesSet.add(0x01000000+0x0629);
361
extendedKeyCodesSet.add(0x01000000+0x062A);
362
extendedKeyCodesSet.add(0x01000000+0x062B);
363
extendedKeyCodesSet.add(0x01000000+0x062C);
364
extendedKeyCodesSet.add(0x01000000+0x062D);
365
extendedKeyCodesSet.add(0x01000000+0x062E);
366
extendedKeyCodesSet.add(0x01000000+0x062F);
367
extendedKeyCodesSet.add(0x01000000+0x0630);
368
extendedKeyCodesSet.add(0x01000000+0x0631);
369
extendedKeyCodesSet.add(0x01000000+0x0632);
370
extendedKeyCodesSet.add(0x01000000+0x0633);
371
extendedKeyCodesSet.add(0x01000000+0x0634);
372
extendedKeyCodesSet.add(0x01000000+0x0635);
373
extendedKeyCodesSet.add(0x01000000+0x0636);
374
extendedKeyCodesSet.add(0x01000000+0x0637);
375
extendedKeyCodesSet.add(0x01000000+0x0638);
376
extendedKeyCodesSet.add(0x01000000+0x0639);
377
extendedKeyCodesSet.add(0x01000000+0x063A);
378
extendedKeyCodesSet.add(0x01000000+0x0641);
379
extendedKeyCodesSet.add(0x01000000+0x0642);
380
extendedKeyCodesSet.add(0x01000000+0x0643);
381
extendedKeyCodesSet.add(0x01000000+0x0644);
382
extendedKeyCodesSet.add(0x01000000+0x0645);
383
extendedKeyCodesSet.add(0x01000000+0x0646);
384
extendedKeyCodesSet.add(0x01000000+0x0647);
385
extendedKeyCodesSet.add(0x01000000+0x0648);
386
extendedKeyCodesSet.add(0x01000000+0x0649);
387
extendedKeyCodesSet.add(0x01000000+0x064A);
388
extendedKeyCodesSet.add(0x01000000+0x064E);
389
extendedKeyCodesSet.add(0x01000000+0x064F);
390
extendedKeyCodesSet.add(0x01000000+0x0650);
391
extendedKeyCodesSet.add(0x01000000+0x0652);
392
extendedKeyCodesSet.add(0x01000000+0x0698);
393
extendedKeyCodesSet.add(0x01000000+0x06A4);
394
extendedKeyCodesSet.add(0x01000000+0x06A9);
395
extendedKeyCodesSet.add(0x01000000+0x06AF);
396
extendedKeyCodesSet.add(0x01000000+0x06BE);
397
extendedKeyCodesSet.add(0x01000000+0x06CC);
398
extendedKeyCodesSet.add(0x01000000+0x06CC);
399
extendedKeyCodesSet.add(0x01000000+0x06D2);
400
extendedKeyCodesSet.add(0x01000000+0x0493);
401
extendedKeyCodesSet.add(0x01000000+0x0497);
402
extendedKeyCodesSet.add(0x01000000+0x049B);
403
extendedKeyCodesSet.add(0x01000000+0x049D);
404
extendedKeyCodesSet.add(0x01000000+0x04A3);
405
extendedKeyCodesSet.add(0x01000000+0x04AF);
406
extendedKeyCodesSet.add(0x01000000+0x04B1);
407
extendedKeyCodesSet.add(0x01000000+0x04B3);
408
extendedKeyCodesSet.add(0x01000000+0x04B9);
409
extendedKeyCodesSet.add(0x01000000+0x04BB);
410
extendedKeyCodesSet.add(0x01000000+0x04D9);
411
extendedKeyCodesSet.add(0x01000000+0x04E9);
412
extendedKeyCodesSet.add(0x01000000+0x0452);
413
extendedKeyCodesSet.add(0x01000000+0x0453);
414
extendedKeyCodesSet.add(0x01000000+0x0451);
415
extendedKeyCodesSet.add(0x01000000+0x0454);
416
extendedKeyCodesSet.add(0x01000000+0x0455);
417
extendedKeyCodesSet.add(0x01000000+0x0456);
418
extendedKeyCodesSet.add(0x01000000+0x0457);
419
extendedKeyCodesSet.add(0x01000000+0x0458);
420
extendedKeyCodesSet.add(0x01000000+0x0459);
421
extendedKeyCodesSet.add(0x01000000+0x045A);
422
extendedKeyCodesSet.add(0x01000000+0x045B);
423
extendedKeyCodesSet.add(0x01000000+0x045C);
424
extendedKeyCodesSet.add(0x01000000+0x0491);
425
extendedKeyCodesSet.add(0x01000000+0x045E);
426
extendedKeyCodesSet.add(0x01000000+0x045F);
427
extendedKeyCodesSet.add(0x01000000+0x2116);
428
extendedKeyCodesSet.add(0x01000000+0x044E);
429
extendedKeyCodesSet.add(0x01000000+0x0430);
430
extendedKeyCodesSet.add(0x01000000+0x0431);
431
extendedKeyCodesSet.add(0x01000000+0x0446);
432
extendedKeyCodesSet.add(0x01000000+0x0434);
433
extendedKeyCodesSet.add(0x01000000+0x0435);
434
extendedKeyCodesSet.add(0x01000000+0x0444);
435
extendedKeyCodesSet.add(0x01000000+0x0433);
436
extendedKeyCodesSet.add(0x01000000+0x0445);
437
extendedKeyCodesSet.add(0x01000000+0x0438);
438
extendedKeyCodesSet.add(0x01000000+0x0439);
439
extendedKeyCodesSet.add(0x01000000+0x043A);
440
extendedKeyCodesSet.add(0x01000000+0x043B);
441
extendedKeyCodesSet.add(0x01000000+0x043C);
442
extendedKeyCodesSet.add(0x01000000+0x043D);
443
extendedKeyCodesSet.add(0x01000000+0x043E);
444
extendedKeyCodesSet.add(0x01000000+0x043F);
445
extendedKeyCodesSet.add(0x01000000+0x044F);
446
extendedKeyCodesSet.add(0x01000000+0x0440);
447
extendedKeyCodesSet.add(0x01000000+0x0441);
448
extendedKeyCodesSet.add(0x01000000+0x0442);
449
extendedKeyCodesSet.add(0x01000000+0x0443);
450
extendedKeyCodesSet.add(0x01000000+0x0436);
451
extendedKeyCodesSet.add(0x01000000+0x0432);
452
extendedKeyCodesSet.add(0x01000000+0x044C);
453
extendedKeyCodesSet.add(0x01000000+0x044B);
454
extendedKeyCodesSet.add(0x01000000+0x0437);
455
extendedKeyCodesSet.add(0x01000000+0x0448);
456
extendedKeyCodesSet.add(0x01000000+0x044D);
457
extendedKeyCodesSet.add(0x01000000+0x0449);
458
extendedKeyCodesSet.add(0x01000000+0x0447);
459
extendedKeyCodesSet.add(0x01000000+0x044A);
460
extendedKeyCodesSet.add(0x01000000+0x2015);
461
extendedKeyCodesSet.add(0x01000000+0x03B1);
462
extendedKeyCodesSet.add(0x01000000+0x03B2);
463
extendedKeyCodesSet.add(0x01000000+0x03B3);
464
extendedKeyCodesSet.add(0x01000000+0x03B4);
465
extendedKeyCodesSet.add(0x01000000+0x03B5);
466
extendedKeyCodesSet.add(0x01000000+0x03B6);
467
extendedKeyCodesSet.add(0x01000000+0x03B7);
468
extendedKeyCodesSet.add(0x01000000+0x03B8);
469
extendedKeyCodesSet.add(0x01000000+0x03B9);
470
extendedKeyCodesSet.add(0x01000000+0x03BA);
471
extendedKeyCodesSet.add(0x01000000+0x03BB);
472
extendedKeyCodesSet.add(0x01000000+0x03BC);
473
extendedKeyCodesSet.add(0x01000000+0x03BD);
474
extendedKeyCodesSet.add(0x01000000+0x03BE);
475
extendedKeyCodesSet.add(0x01000000+0x03BF);
476
extendedKeyCodesSet.add(0x01000000+0x03C0);
477
extendedKeyCodesSet.add(0x01000000+0x03C1);
478
extendedKeyCodesSet.add(0x01000000+0x03C3);
479
extendedKeyCodesSet.add(0x01000000+0x03C2);
480
extendedKeyCodesSet.add(0x01000000+0x03C4);
481
extendedKeyCodesSet.add(0x01000000+0x03C5);
482
extendedKeyCodesSet.add(0x01000000+0x03C6);
483
extendedKeyCodesSet.add(0x01000000+0x03C7);
484
extendedKeyCodesSet.add(0x01000000+0x03C8);
485
extendedKeyCodesSet.add(0x01000000+0x03C9);
486
extendedKeyCodesSet.add(0x01000000+0x2190);
487
extendedKeyCodesSet.add(0x01000000+0x2192);
488
extendedKeyCodesSet.add(0x01000000+0x2193);
489
extendedKeyCodesSet.add(0x01000000+0x2013);
490
extendedKeyCodesSet.add(0x01000000+0x201C);
491
extendedKeyCodesSet.add(0x01000000+0x201D);
492
extendedKeyCodesSet.add(0x01000000+0x201E);
493
extendedKeyCodesSet.add(0x01000000+0x05D0);
494
extendedKeyCodesSet.add(0x01000000+0x05D1);
495
extendedKeyCodesSet.add(0x01000000+0x05D2);
496
extendedKeyCodesSet.add(0x01000000+0x05D3);
497
extendedKeyCodesSet.add(0x01000000+0x05D4);
498
extendedKeyCodesSet.add(0x01000000+0x05D5);
499
extendedKeyCodesSet.add(0x01000000+0x05D6);
500
extendedKeyCodesSet.add(0x01000000+0x05D7);
501
extendedKeyCodesSet.add(0x01000000+0x05D8);
502
extendedKeyCodesSet.add(0x01000000+0x05D9);
503
extendedKeyCodesSet.add(0x01000000+0x05DA);
504
extendedKeyCodesSet.add(0x01000000+0x05DB);
505
extendedKeyCodesSet.add(0x01000000+0x05DC);
506
extendedKeyCodesSet.add(0x01000000+0x05DD);
507
extendedKeyCodesSet.add(0x01000000+0x05DE);
508
extendedKeyCodesSet.add(0x01000000+0x05DF);
509
extendedKeyCodesSet.add(0x01000000+0x05E0);
510
extendedKeyCodesSet.add(0x01000000+0x05E1);
511
extendedKeyCodesSet.add(0x01000000+0x05E2);
512
extendedKeyCodesSet.add(0x01000000+0x05E3);
513
extendedKeyCodesSet.add(0x01000000+0x05E4);
514
extendedKeyCodesSet.add(0x01000000+0x05E5);
515
extendedKeyCodesSet.add(0x01000000+0x05E6);
516
extendedKeyCodesSet.add(0x01000000+0x05E7);
517
extendedKeyCodesSet.add(0x01000000+0x05E8);
518
extendedKeyCodesSet.add(0x01000000+0x05E9);
519
extendedKeyCodesSet.add(0x01000000+0x05EA);
520
extendedKeyCodesSet.add(0x01000000+0x0E01);
521
extendedKeyCodesSet.add(0x01000000+0x0E02);
522
extendedKeyCodesSet.add(0x01000000+0x0E03);
523
extendedKeyCodesSet.add(0x01000000+0x0E04);
524
extendedKeyCodesSet.add(0x01000000+0x0E05);
525
extendedKeyCodesSet.add(0x01000000+0x0E07);
526
extendedKeyCodesSet.add(0x01000000+0x0E08);
527
extendedKeyCodesSet.add(0x01000000+0x0E0A);
528
extendedKeyCodesSet.add(0x01000000+0x0E0C);
529
extendedKeyCodesSet.add(0x01000000+0x0E14);
530
extendedKeyCodesSet.add(0x01000000+0x0E15);
531
extendedKeyCodesSet.add(0x01000000+0x0E16);
532
extendedKeyCodesSet.add(0x01000000+0x0E17);
533
extendedKeyCodesSet.add(0x01000000+0x0E19);
534
extendedKeyCodesSet.add(0x01000000+0x0E1A);
535
extendedKeyCodesSet.add(0x01000000+0x0E1B);
536
extendedKeyCodesSet.add(0x01000000+0x0E1C);
537
extendedKeyCodesSet.add(0x01000000+0x0E1D);
538
extendedKeyCodesSet.add(0x01000000+0x0E1E);
539
extendedKeyCodesSet.add(0x01000000+0x0E1F);
540
extendedKeyCodesSet.add(0x01000000+0x0E20);
541
extendedKeyCodesSet.add(0x01000000+0x0E21);
542
extendedKeyCodesSet.add(0x01000000+0x0E22);
543
extendedKeyCodesSet.add(0x01000000+0x0E23);
544
extendedKeyCodesSet.add(0x01000000+0x0E25);
545
extendedKeyCodesSet.add(0x01000000+0x0E27);
546
extendedKeyCodesSet.add(0x01000000+0x0E2A);
547
extendedKeyCodesSet.add(0x01000000+0x0E2B);
548
extendedKeyCodesSet.add(0x01000000+0x0E2D);
549
extendedKeyCodesSet.add(0x01000000+0x0E30);
550
extendedKeyCodesSet.add(0x01000000+0x0E31);
551
extendedKeyCodesSet.add(0x01000000+0x0E32);
552
extendedKeyCodesSet.add(0x01000000+0x0E33);
553
extendedKeyCodesSet.add(0x01000000+0x0E34);
554
extendedKeyCodesSet.add(0x01000000+0x0E35);
555
extendedKeyCodesSet.add(0x01000000+0x0E36);
556
extendedKeyCodesSet.add(0x01000000+0x0E37);
557
extendedKeyCodesSet.add(0x01000000+0x0E38);
558
extendedKeyCodesSet.add(0x01000000+0x0E39);
559
extendedKeyCodesSet.add(0x01000000+0x0E3F);
560
extendedKeyCodesSet.add(0x01000000+0x0E40);
561
extendedKeyCodesSet.add(0x01000000+0x0E41);
562
extendedKeyCodesSet.add(0x01000000+0x0E43);
563
extendedKeyCodesSet.add(0x01000000+0x0E44);
564
extendedKeyCodesSet.add(0x01000000+0x0E45);
565
extendedKeyCodesSet.add(0x01000000+0x0E46);
566
extendedKeyCodesSet.add(0x01000000+0x0E47);
567
extendedKeyCodesSet.add(0x01000000+0x0E48);
568
extendedKeyCodesSet.add(0x01000000+0x0E49);
569
extendedKeyCodesSet.add(0x01000000+0x0E50);
570
extendedKeyCodesSet.add(0x01000000+0x0E51);
571
extendedKeyCodesSet.add(0x01000000+0x0E52);
572
extendedKeyCodesSet.add(0x01000000+0x0E53);
573
extendedKeyCodesSet.add(0x01000000+0x0E54);
574
extendedKeyCodesSet.add(0x01000000+0x0E55);
575
extendedKeyCodesSet.add(0x01000000+0x0E56);
576
extendedKeyCodesSet.add(0x01000000+0x0E57);
577
extendedKeyCodesSet.add(0x01000000+0x0E58);
578
extendedKeyCodesSet.add(0x01000000+0x0E59);
579
extendedKeyCodesSet.add(0x01000000+0x0587);
580
extendedKeyCodesSet.add(0x01000000+0x0589);
581
extendedKeyCodesSet.add(0x01000000+0x0589);
582
extendedKeyCodesSet.add(0x01000000+0x055D);
583
extendedKeyCodesSet.add(0x01000000+0x055D);
584
extendedKeyCodesSet.add(0x01000000+0x055B);
585
extendedKeyCodesSet.add(0x01000000+0x055B);
586
extendedKeyCodesSet.add(0x01000000+0x055E);
587
extendedKeyCodesSet.add(0x01000000+0x055E);
588
extendedKeyCodesSet.add(0x01000000+0x0561);
589
extendedKeyCodesSet.add(0x01000000+0x0562);
590
extendedKeyCodesSet.add(0x01000000+0x0563);
591
extendedKeyCodesSet.add(0x01000000+0x0564);
592
extendedKeyCodesSet.add(0x01000000+0x0565);
593
extendedKeyCodesSet.add(0x01000000+0x0566);
594
extendedKeyCodesSet.add(0x01000000+0x0567);
595
extendedKeyCodesSet.add(0x01000000+0x0568);
596
extendedKeyCodesSet.add(0x01000000+0x0569);
597
extendedKeyCodesSet.add(0x01000000+0x056A);
598
extendedKeyCodesSet.add(0x01000000+0x056B);
599
extendedKeyCodesSet.add(0x01000000+0x056C);
600
extendedKeyCodesSet.add(0x01000000+0x056D);
601
extendedKeyCodesSet.add(0x01000000+0x056E);
602
extendedKeyCodesSet.add(0x01000000+0x056F);
603
extendedKeyCodesSet.add(0x01000000+0x0570);
604
extendedKeyCodesSet.add(0x01000000+0x0571);
605
extendedKeyCodesSet.add(0x01000000+0x0572);
606
extendedKeyCodesSet.add(0x01000000+0x0573);
607
extendedKeyCodesSet.add(0x01000000+0x0574);
608
extendedKeyCodesSet.add(0x01000000+0x0575);
609
extendedKeyCodesSet.add(0x01000000+0x0576);
610
extendedKeyCodesSet.add(0x01000000+0x0577);
611
extendedKeyCodesSet.add(0x01000000+0x0578);
612
extendedKeyCodesSet.add(0x01000000+0x0579);
613
extendedKeyCodesSet.add(0x01000000+0x057A);
614
extendedKeyCodesSet.add(0x01000000+0x057B);
615
extendedKeyCodesSet.add(0x01000000+0x057C);
616
extendedKeyCodesSet.add(0x01000000+0x057D);
617
extendedKeyCodesSet.add(0x01000000+0x057E);
618
extendedKeyCodesSet.add(0x01000000+0x057F);
619
extendedKeyCodesSet.add(0x01000000+0x0580);
620
extendedKeyCodesSet.add(0x01000000+0x0581);
621
extendedKeyCodesSet.add(0x01000000+0x0582);
622
extendedKeyCodesSet.add(0x01000000+0x0583);
623
extendedKeyCodesSet.add(0x01000000+0x0584);
624
extendedKeyCodesSet.add(0x01000000+0x0585);
625
extendedKeyCodesSet.add(0x01000000+0x0586);
626
extendedKeyCodesSet.add(0x01000000+0x10D0);
627
extendedKeyCodesSet.add(0x01000000+0x10D1);
628
extendedKeyCodesSet.add(0x01000000+0x10D2);
629
extendedKeyCodesSet.add(0x01000000+0x10D3);
630
extendedKeyCodesSet.add(0x01000000+0x10D4);
631
extendedKeyCodesSet.add(0x01000000+0x10D5);
632
extendedKeyCodesSet.add(0x01000000+0x10D6);
633
extendedKeyCodesSet.add(0x01000000+0x10D7);
634
extendedKeyCodesSet.add(0x01000000+0x10D8);
635
extendedKeyCodesSet.add(0x01000000+0x10D9);
636
extendedKeyCodesSet.add(0x01000000+0x10DA);
637
extendedKeyCodesSet.add(0x01000000+0x10DB);
638
extendedKeyCodesSet.add(0x01000000+0x10DC);
639
extendedKeyCodesSet.add(0x01000000+0x10DD);
640
extendedKeyCodesSet.add(0x01000000+0x10DE);
641
extendedKeyCodesSet.add(0x01000000+0x10DF);
642
extendedKeyCodesSet.add(0x01000000+0x10E0);
643
extendedKeyCodesSet.add(0x01000000+0x10E1);
644
extendedKeyCodesSet.add(0x01000000+0x10E2);
645
extendedKeyCodesSet.add(0x01000000+0x10E3);
646
extendedKeyCodesSet.add(0x01000000+0x10E4);
647
extendedKeyCodesSet.add(0x01000000+0x10E5);
648
extendedKeyCodesSet.add(0x01000000+0x10E6);
649
extendedKeyCodesSet.add(0x01000000+0x10E7);
650
extendedKeyCodesSet.add(0x01000000+0x10E8);
651
extendedKeyCodesSet.add(0x01000000+0x10E9);
652
extendedKeyCodesSet.add(0x01000000+0x10EA);
653
extendedKeyCodesSet.add(0x01000000+0x10EB);
654
extendedKeyCodesSet.add(0x01000000+0x10EC);
655
extendedKeyCodesSet.add(0x01000000+0x10ED);
656
extendedKeyCodesSet.add(0x01000000+0x10EE);
657
extendedKeyCodesSet.add(0x01000000+0x10EF);
658
extendedKeyCodesSet.add(0x01000000+0x10F0);
659
extendedKeyCodesSet.add(0x01000000+0x01E7);
660
extendedKeyCodesSet.add(0x01000000+0x0259);
661
extendedKeyCodesSet.add(0x01000000+0x1EB9);
662
extendedKeyCodesSet.add(0x01000000+0x1ECB);
663
extendedKeyCodesSet.add(0x01000000+0x1ECD);
664
extendedKeyCodesSet.add(0x01000000+0x1EE5);
665
extendedKeyCodesSet.add(0x01000000+0x01A1);
666
extendedKeyCodesSet.add(0x01000000+0x01B0);
667
extendedKeyCodesSet.add(0x01000000+0x20AB);
668
}
669
}
670
671