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