History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/sun/awt/ExtendedKeyCodes.java (1 of 18352 files). Show all

Unified · Split

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