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