0001: // This is a generated file: do not edit! Edit keysym2ucs.h if necessary.
0002:
0003: /*
0004: * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
0005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0006: *
0007: * This code is free software; you can redistribute it and/or modify it
0008: * under the terms of the GNU General Public License version 2 only, as
0009: * published by the Free Software Foundation. Sun designates this
0010: * particular file as subject to the "Classpath" exception as provided
0011: * by Sun in the LICENSE file that accompanied this code.
0012: *
0013: * This code is distributed in the hope that it will be useful, but WITHOUT
0014: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0015: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0016: * version 2 for more details (a copy is included in the LICENSE file that
0017: * accompanied this code).
0018: *
0019: * You should have received a copy of the GNU General Public License version
0020: * 2 along with this work; if not, write to the Free Software Foundation,
0021: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0022: *
0023: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
0024: * CA 95054 USA or visit www.sun.com if you need additional information or
0025: * have any questions.
0026: */
0027:
0028: package sun.awt.X11;
0029:
0030: import java.util.Hashtable;
0031: import sun.misc.Unsafe;
0032:
0033: public class XKeysym {
0034:
0035: public static void main(String args[]) {
0036: System.out.println("Cyrillc zhe:" + convertKeysym(0x06d6, 0));
0037: System.out.println("Arabic sheen:" + convertKeysym(0x05d4, 0));
0038: System.out.println("Latin a breve:" + convertKeysym(0x01e3, 0));
0039: System.out.println("Latin f:" + convertKeysym(0x066, 0));
0040: System.out.println("Backspace:"
0041: + Integer.toHexString(convertKeysym(0xff08, 0)));
0042: System.out.println("Ctrl+f:"
0043: + Integer.toHexString(convertKeysym(0x066,
0044: XConstants.ControlMask)));
0045: }
0046:
0047: private XKeysym() {
0048: }
0049:
0050: static class Keysym2JavaKeycode {
0051: int jkeycode;
0052: int keyLocation;
0053:
0054: int getJavaKeycode() {
0055: return jkeycode;
0056: }
0057:
0058: int getKeyLocation() {
0059: return keyLocation;
0060: }
0061:
0062: Keysym2JavaKeycode(int jk, int loc) {
0063: jkeycode = jk;
0064: keyLocation = loc;
0065: }
0066: };
0067:
0068: private static Unsafe unsafe = XlibWrapper.unsafe;
0069: static Hashtable<Long, Keysym2JavaKeycode> keysym2JavaKeycodeHash = new Hashtable<Long, Keysym2JavaKeycode>();
0070: static Hashtable<Long, Character> keysym2UCSHash = new Hashtable<Long, Character>();
0071: static Hashtable<Long, Long> uppercaseHash = new Hashtable<Long, Long>();
0072: // TODO: or not to do: add reverse lookup javakeycode2keysym,
0073: // for robot only it seems to me. After that, we can remove lookup table
0074: // from XWindow.c altogether.
0075: static long keysym_lowercase = unsafe.allocateMemory(Native
0076: .getLongSize());
0077: static long keysym_uppercase = unsafe.allocateMemory(Native
0078: .getLongSize());
0079:
0080: public static char convertKeysym(long ks, int state) {
0081:
0082: /* First check for Latin-1 characters (1:1 mapping) */
0083: if ((ks >= 0x0020 && ks <= 0x007e)
0084: || (ks >= 0x00a0 && ks <= 0x00ff)) {
0085: if ((state & XConstants.ControlMask) != 0) {
0086: if ((ks >= 'A' && ks <= ']') || (ks == '_')
0087: || (ks >= 'a' && ks <= 'z')) {
0088: ks &= 0x1F;
0089: }
0090: }
0091: return (char) ks;
0092: }
0093:
0094: /* XXX: Also check for directly encoded 24-bit UCS characters:
0095: */
0096: if ((ks & 0xff000000) == 0x01000000)
0097: return (char) (ks & 0x00ffffff);
0098:
0099: Character ch = keysym2UCSHash.get(ks);
0100: return ch == null ? (char) 0 : ch.charValue();
0101: }
0102:
0103: static long xkeycode2keysym(XKeyEvent ev, int ndx) {
0104: XToolkit.awtLock();
0105: try {
0106: return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev
0107: .get_keycode(), ndx);
0108: } finally {
0109: XToolkit.awtUnlock();
0110: }
0111: }
0112:
0113: public static boolean isKPEvent(XKeyEvent ev) {
0114: // Xsun without XKB uses keysymarray[2] keysym to determine if it is KP event.
0115: // Otherwise, it is [1].
0116: int ndx = XToolkit.isXsunServer() && !XToolkit.isXKBenabled() ? 2
0117: : 1;
0118: XToolkit.awtLock();
0119: try {
0120: return XlibWrapper.IsKeypadKey(XlibWrapper
0121: .XKeycodeToKeysym(ev.get_display(), ev
0122: .get_keycode(), ndx));
0123: } finally {
0124: XToolkit.awtUnlock();
0125: }
0126: }
0127:
0128: /**
0129: Return uppercase keysym correspondent to a given keysym.
0130: If input keysym does not belong to any lower/uppercase pair, return -1.
0131: */
0132: public static long getUppercaseAlphabetic(long keysym) {
0133: long lc = -1;
0134: long uc = -1;
0135: Long stored = uppercaseHash.get(keysym);
0136: if (stored != null) {
0137: return stored.longValue();
0138: }
0139: XToolkit.awtLock();
0140: try {
0141: XlibWrapper.XConvertCase(keysym, keysym_lowercase,
0142: keysym_uppercase);
0143: lc = Native.getLong(keysym_lowercase);
0144: uc = Native.getLong(keysym_uppercase);
0145: if (lc == uc) {
0146: //not applicable
0147: uc = -1;
0148: }
0149: uppercaseHash.put(keysym, uc);
0150: } finally {
0151: XToolkit.awtUnlock();
0152: }
0153: return uc;
0154: }
0155:
0156: /**
0157: Get a keypad keysym derived from a keycode.
0158: I do not check if this is a keypad event, I just presume it.
0159: */
0160: private static long getKeypadKeysym(XKeyEvent ev) {
0161: int ndx = 0;
0162: long keysym = XConstants.NoSymbol;
0163: if (XToolkit.isXsunServer() && !XToolkit.isXKBenabled()) {
0164: if ((ev.get_state() & XConstants.ShiftMask) != 0) { // shift modifier is on
0165: ndx = 3;
0166: keysym = xkeycode2keysym(ev, ndx);
0167: } else {
0168: ndx = 2;
0169: keysym = xkeycode2keysym(ev, ndx);
0170: }
0171: } else {
0172: if ((ev.get_state() & XConstants.ShiftMask) != 0 || // shift modifier is on
0173: ((ev.get_state() & XConstants.LockMask) != 0 && // lock modifier is on
0174: (XToolkit.modLockIsShiftLock != 0))) { // it is interpreted as ShiftLock
0175: ndx = 0;
0176: keysym = xkeycode2keysym(ev, ndx);
0177: } else {
0178: ndx = 1;
0179: keysym = xkeycode2keysym(ev, ndx);
0180: }
0181: }
0182: return keysym;
0183: }
0184:
0185: /**
0186: Return java.awt.KeyEvent constant meaning (Java) keycode, derived from X Window KeyEvent.
0187: Algorithm is, extract via XKeycodeToKeysym a proper keysym according to Xlib spec rules and
0188: err exceptions, then search a java keycode in a table.
0189: Some keysyms maps to more than one keycode, these would require extra processing. If someone
0190: points me to such a keysym.
0191: */
0192: static Keysym2JavaKeycode getJavaKeycode(XKeyEvent ev) {
0193: // get from keysym2JavaKeycodeHash.
0194: long keysym = XConstants.NoSymbol;
0195: int ndx = 0;
0196: if ((ev.get_state() & XToolkit.numLockMask) != 0
0197: && isKPEvent(ev)) {
0198: keysym = getKeypadKeysym(ev);
0199: } else {
0200: // we only need primary-layer keysym to derive a java keycode.
0201: ndx = 0;
0202: keysym = xkeycode2keysym(ev, ndx);
0203: }
0204:
0205: Keysym2JavaKeycode jkc = keysym2JavaKeycodeHash.get(keysym);
0206: return jkc;
0207: }
0208:
0209: static int getJavaKeycodeOnly(XKeyEvent ev) {
0210: Keysym2JavaKeycode jkc = getJavaKeycode(ev);
0211: return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc
0212: .getJavaKeycode();
0213: }
0214:
0215: /**
0216: Return keysym derived from a keycode and modifiers.
0217: Usually an input method does this. However non-system input methods (e.g. Java IMs) do not.
0218: For rules, see "Xlib - C Language X Interface",
0219: MIT X Consortium Standard
0220: X Version 11, Release 6
0221: Ch. 12.7
0222: XXX TODO: or maybe not to do: process Mode Lock and therefore
0223: not only 0-th and 1-st but 2-nd and 3-rd keysyms for a keystroke.
0224: */
0225: static long getKeysym(XKeyEvent ev) {
0226: long keysym = XConstants.NoSymbol;
0227: long uppercaseKeysym = XConstants.NoSymbol;
0228: int ndx = 0;
0229: boolean getUppercase = false;
0230: if ((ev.get_state() & XToolkit.numLockMask) != 0
0231: && isKPEvent(ev)) {
0232: keysym = getKeypadKeysym(ev);
0233: } else {
0234: // XXX: at this point, anything in keysym[23] is ignored.
0235: //
0236: // Shift & Lock are off ===> ndx = 0;
0237: // Shift off & Lock on & Lock is CapsLock ===> ndx = 0;
0238: // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used.
0239: // Shift on & Lock on & Lock is CapsLock ===> ndx == 1;
0240: // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used.
0241: // Shift on || (Lock on & Lock is ShiftLock) ===> ndx = 1.
0242: if ((ev.get_state() & XConstants.ShiftMask) == 0) { // shift is off
0243: if ((ev.get_state() & XConstants.LockMask) == 0) { // lock is off
0244: ndx = 0;
0245: getUppercase = false;
0246: } else if ((ev.get_state() & XConstants.LockMask) != 0
0247: && // lock is on
0248: (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock
0249: ndx = 0;
0250: getUppercase = true;
0251: } else if ((ev.get_state() & XConstants.LockMask) != 0
0252: && // lock is on
0253: (XToolkit.modLockIsShiftLock != 0)) { // lock is shift lock
0254: ndx = 1;
0255: getUppercase = false;
0256: }
0257: } else { // shift on
0258: if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on
0259: (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock
0260: ndx = 1;
0261: getUppercase = true;
0262: } else {
0263: ndx = 1;
0264: getUppercase = false;
0265: }
0266: }
0267: keysym = xkeycode2keysym(ev, ndx);
0268: if (getUppercase
0269: && (uppercaseKeysym = getUppercaseAlphabetic(keysym)) != -1) {
0270: keysym = uppercaseKeysym;
0271: }
0272: }
0273: return keysym;
0274: }
0275:
0276: static {
0277: keysym2UCSHash.put((long) 0xFF08, (char) 0x0008); // XK_BackSpace --> <control>
0278: keysym2UCSHash.put((long) 0xFF09, (char) 0x0009); // XK_Tab --> <control>
0279: keysym2UCSHash.put((long) 0xFF0A, (char) 0x000a); // XK_Linefeed --> <control>
0280: keysym2UCSHash.put((long) 0xFF0B, (char) 0x000b); // XK_Clear --> <control>
0281: keysym2UCSHash.put((long) 0xFF0D, (char) 0x000a); // XK_Return --> <control>
0282: keysym2UCSHash.put((long) 0xFF1B, (char) 0x001B); // XK_Escape --> <control>
0283: keysym2UCSHash.put((long) 0xFFFF, (char) 0x007F); // XK_Delete --> <control>
0284: keysym2UCSHash.put((long) 0xFF80, (char) 0x0020); // XK_KP_Space --> SPACE
0285: keysym2UCSHash.put((long) 0xFF89, (char) 0x0009); // XK_KP_Tab --> <control>
0286: keysym2UCSHash.put((long) 0xFF8D, (char) 0x000A); // XK_KP_Enter --> <control>
0287: keysym2UCSHash.put((long) 0xFF9F, (char) 0x007F); // XK_KP_Delete --> <control>
0288: keysym2UCSHash.put((long) 0xFFBD, (char) 0x003d); // XK_KP_Equal --> EQUALS SIGN
0289: keysym2UCSHash.put((long) 0xFFAA, (char) 0x002a); // XK_KP_Multiply --> ASTERISK
0290: keysym2UCSHash.put((long) 0xFFAB, (char) 0x002b); // XK_KP_Add --> PLUS SIGN
0291: keysym2UCSHash.put((long) 0xFFAC, (char) 0x002c); // XK_KP_Separator --> COMMA
0292: keysym2UCSHash.put((long) 0xFFAD, (char) 0x002d); // XK_KP_Subtract --> HYPHEN-MINUS
0293: keysym2UCSHash.put((long) 0xFFAE, (char) 0x002e); // XK_KP_Decimal --> FULL STOP
0294: keysym2UCSHash.put((long) 0xFFAF, (char) 0x002f); // XK_KP_Divide --> SOLIDUS
0295: keysym2UCSHash.put((long) 0xFFB0, (char) 0x0030); // XK_KP_0 --> DIGIT ZERO
0296: keysym2UCSHash.put((long) 0xFFB1, (char) 0x0031); // XK_KP_1 --> DIGIT ONE
0297: keysym2UCSHash.put((long) 0xFFB2, (char) 0x0032); // XK_KP_2 --> DIGIT TWO
0298: keysym2UCSHash.put((long) 0xFFB3, (char) 0x0033); // XK_KP_3 --> DIGIT THREE
0299: keysym2UCSHash.put((long) 0xFFB4, (char) 0x0034); // XK_KP_4 --> DIGIT FOUR
0300: keysym2UCSHash.put((long) 0xFFB5, (char) 0x0035); // XK_KP_5 --> DIGIT FIVE
0301: keysym2UCSHash.put((long) 0xFFB6, (char) 0x0036); // XK_KP_6 --> DIGIT SIX
0302: keysym2UCSHash.put((long) 0xFFB7, (char) 0x0037); // XK_KP_7 --> DIGIT SEVEN
0303: keysym2UCSHash.put((long) 0xFFB8, (char) 0x0038); // XK_KP_8 --> DIGIT EIGHT
0304: keysym2UCSHash.put((long) 0xFFB9, (char) 0x0039); // XK_KP_9 --> DIGIT NINE
0305: keysym2UCSHash.put((long) 0x1a1, (char) 0x0104); // XK_Aogonek --> LATIN CAPITAL LETTER A WITH OGONEK
0306: keysym2UCSHash.put((long) 0x1a2, (char) 0x02d8); // XK_breve --> BREVE
0307: keysym2UCSHash.put((long) 0x1a3, (char) 0x0141); // XK_Lstroke --> LATIN CAPITAL LETTER L WITH STROKE
0308: keysym2UCSHash.put((long) 0x1a5, (char) 0x013d); // XK_Lcaron --> LATIN CAPITAL LETTER L WITH CARON
0309: keysym2UCSHash.put((long) 0x1a6, (char) 0x015a); // XK_Sacute --> LATIN CAPITAL LETTER S WITH ACUTE
0310: keysym2UCSHash.put((long) 0x1a9, (char) 0x0160); // XK_Scaron --> LATIN CAPITAL LETTER S WITH CARON
0311: keysym2UCSHash.put((long) 0x1aa, (char) 0x015e); // XK_Scedilla --> LATIN CAPITAL LETTER S WITH CEDILLA
0312: keysym2UCSHash.put((long) 0x1ab, (char) 0x0164); // XK_Tcaron --> LATIN CAPITAL LETTER T WITH CARON
0313: keysym2UCSHash.put((long) 0x1ac, (char) 0x0179); // XK_Zacute --> LATIN CAPITAL LETTER Z WITH ACUTE
0314: keysym2UCSHash.put((long) 0x1ae, (char) 0x017d); // XK_Zcaron --> LATIN CAPITAL LETTER Z WITH CARON
0315: keysym2UCSHash.put((long) 0x1af, (char) 0x017b); // XK_Zabovedot --> LATIN CAPITAL LETTER Z WITH DOT ABOVE
0316: keysym2UCSHash.put((long) 0x1b1, (char) 0x0105); // XK_aogonek --> LATIN SMALL LETTER A WITH OGONEK
0317: keysym2UCSHash.put((long) 0x1b2, (char) 0x02db); // XK_ogonek --> OGONEK
0318: keysym2UCSHash.put((long) 0x1b3, (char) 0x0142); // XK_lstroke --> LATIN SMALL LETTER L WITH STROKE
0319: keysym2UCSHash.put((long) 0x1b5, (char) 0x013e); // XK_lcaron --> LATIN SMALL LETTER L WITH CARON
0320: keysym2UCSHash.put((long) 0x1b6, (char) 0x015b); // XK_sacute --> LATIN SMALL LETTER S WITH ACUTE
0321: keysym2UCSHash.put((long) 0x1b7, (char) 0x02c7); // XK_caron --> CARON
0322: keysym2UCSHash.put((long) 0x1b9, (char) 0x0161); // XK_scaron --> LATIN SMALL LETTER S WITH CARON
0323: keysym2UCSHash.put((long) 0x1ba, (char) 0x015f); // XK_scedilla --> LATIN SMALL LETTER S WITH CEDILLA
0324: keysym2UCSHash.put((long) 0x1bb, (char) 0x0165); // XK_tcaron --> LATIN SMALL LETTER T WITH CARON
0325: keysym2UCSHash.put((long) 0x1bc, (char) 0x017a); // XK_zacute --> LATIN SMALL LETTER Z WITH ACUTE
0326: keysym2UCSHash.put((long) 0x1bd, (char) 0x02dd); // XK_doubleacute --> DOUBLE ACUTE ACCENT
0327: keysym2UCSHash.put((long) 0x1be, (char) 0x017e); // XK_zcaron --> LATIN SMALL LETTER Z WITH CARON
0328: keysym2UCSHash.put((long) 0x1bf, (char) 0x017c); // XK_zabovedot --> LATIN SMALL LETTER Z WITH DOT ABOVE
0329: keysym2UCSHash.put((long) 0x1c0, (char) 0x0154); // XK_Racute --> LATIN CAPITAL LETTER R WITH ACUTE
0330: keysym2UCSHash.put((long) 0x1c3, (char) 0x0102); // XK_Abreve --> LATIN CAPITAL LETTER A WITH BREVE
0331: keysym2UCSHash.put((long) 0x1c5, (char) 0x0139); // XK_Lacute --> LATIN CAPITAL LETTER L WITH ACUTE
0332: keysym2UCSHash.put((long) 0x1c6, (char) 0x0106); // XK_Cacute --> LATIN CAPITAL LETTER C WITH ACUTE
0333: keysym2UCSHash.put((long) 0x1c8, (char) 0x010c); // XK_Ccaron --> LATIN CAPITAL LETTER C WITH CARON
0334: keysym2UCSHash.put((long) 0x1ca, (char) 0x0118); // XK_Eogonek --> LATIN CAPITAL LETTER E WITH OGONEK
0335: keysym2UCSHash.put((long) 0x1cc, (char) 0x011a); // XK_Ecaron --> LATIN CAPITAL LETTER E WITH CARON
0336: keysym2UCSHash.put((long) 0x1cf, (char) 0x010e); // XK_Dcaron --> LATIN CAPITAL LETTER D WITH CARON
0337: keysym2UCSHash.put((long) 0x1d0, (char) 0x0110); // XK_Dstroke --> LATIN CAPITAL LETTER D WITH STROKE
0338: keysym2UCSHash.put((long) 0x1d1, (char) 0x0143); // XK_Nacute --> LATIN CAPITAL LETTER N WITH ACUTE
0339: keysym2UCSHash.put((long) 0x1d2, (char) 0x0147); // XK_Ncaron --> LATIN CAPITAL LETTER N WITH CARON
0340: keysym2UCSHash.put((long) 0x1d5, (char) 0x0150); // XK_Odoubleacute --> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
0341: keysym2UCSHash.put((long) 0x1d8, (char) 0x0158); // XK_Rcaron --> LATIN CAPITAL LETTER R WITH CARON
0342: keysym2UCSHash.put((long) 0x1d9, (char) 0x016e); // XK_Uring --> LATIN CAPITAL LETTER U WITH RING ABOVE
0343: keysym2UCSHash.put((long) 0x1db, (char) 0x0170); // XK_Udoubleacute --> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
0344: keysym2UCSHash.put((long) 0x1de, (char) 0x0162); // XK_Tcedilla --> LATIN CAPITAL LETTER T WITH CEDILLA
0345: keysym2UCSHash.put((long) 0x1e0, (char) 0x0155); // XK_racute --> LATIN SMALL LETTER R WITH ACUTE
0346: keysym2UCSHash.put((long) 0x1e3, (char) 0x0103); // XK_abreve --> LATIN SMALL LETTER A WITH BREVE
0347: keysym2UCSHash.put((long) 0x1e5, (char) 0x013a); // XK_lacute --> LATIN SMALL LETTER L WITH ACUTE
0348: keysym2UCSHash.put((long) 0x1e6, (char) 0x0107); // XK_cacute --> LATIN SMALL LETTER C WITH ACUTE
0349: keysym2UCSHash.put((long) 0x1e8, (char) 0x010d); // XK_ccaron --> LATIN SMALL LETTER C WITH CARON
0350: keysym2UCSHash.put((long) 0x1ea, (char) 0x0119); // XK_eogonek --> LATIN SMALL LETTER E WITH OGONEK
0351: keysym2UCSHash.put((long) 0x1ec, (char) 0x011b); // XK_ecaron --> LATIN SMALL LETTER E WITH CARON
0352: keysym2UCSHash.put((long) 0x1ef, (char) 0x010f); // XK_dcaron --> LATIN SMALL LETTER D WITH CARON
0353: keysym2UCSHash.put((long) 0x1f0, (char) 0x0111); // XK_dstroke --> LATIN SMALL LETTER D WITH STROKE
0354: keysym2UCSHash.put((long) 0x1f1, (char) 0x0144); // XK_nacute --> LATIN SMALL LETTER N WITH ACUTE
0355: keysym2UCSHash.put((long) 0x1f2, (char) 0x0148); // XK_ncaron --> LATIN SMALL LETTER N WITH CARON
0356: keysym2UCSHash.put((long) 0x1f5, (char) 0x0151); // XK_odoubleacute --> LATIN SMALL LETTER O WITH DOUBLE ACUTE
0357: keysym2UCSHash.put((long) 0x1fb, (char) 0x0171); // XK_udoubleacute --> LATIN SMALL LETTER U WITH DOUBLE ACUTE
0358: keysym2UCSHash.put((long) 0x1f8, (char) 0x0159); // XK_rcaron --> LATIN SMALL LETTER R WITH CARON
0359: keysym2UCSHash.put((long) 0x1f9, (char) 0x016f); // XK_uring --> LATIN SMALL LETTER U WITH RING ABOVE
0360: keysym2UCSHash.put((long) 0x1fe, (char) 0x0163); // XK_tcedilla --> LATIN SMALL LETTER T WITH CEDILLA
0361: keysym2UCSHash.put((long) 0x1ff, (char) 0x02d9); // XK_abovedot --> DOT ABOVE
0362: keysym2UCSHash.put((long) 0x2a1, (char) 0x0126); // XK_Hstroke --> LATIN CAPITAL LETTER H WITH STROKE
0363: keysym2UCSHash.put((long) 0x2a6, (char) 0x0124); // XK_Hcircumflex --> LATIN CAPITAL LETTER H WITH CIRCUMFLEX
0364: keysym2UCSHash.put((long) 0x2a9, (char) 0x0130); // XK_Iabovedot --> LATIN CAPITAL LETTER I WITH DOT ABOVE
0365: keysym2UCSHash.put((long) 0x2ab, (char) 0x011e); // XK_Gbreve --> LATIN CAPITAL LETTER G WITH BREVE
0366: keysym2UCSHash.put((long) 0x2ac, (char) 0x0134); // XK_Jcircumflex --> LATIN CAPITAL LETTER J WITH CIRCUMFLEX
0367: keysym2UCSHash.put((long) 0x2b1, (char) 0x0127); // XK_hstroke --> LATIN SMALL LETTER H WITH STROKE
0368: keysym2UCSHash.put((long) 0x2b6, (char) 0x0125); // XK_hcircumflex --> LATIN SMALL LETTER H WITH CIRCUMFLEX
0369: keysym2UCSHash.put((long) 0x2b9, (char) 0x0131); // XK_idotless --> LATIN SMALL LETTER DOTLESS I
0370: keysym2UCSHash.put((long) 0x2bb, (char) 0x011f); // XK_gbreve --> LATIN SMALL LETTER G WITH BREVE
0371: keysym2UCSHash.put((long) 0x2bc, (char) 0x0135); // XK_jcircumflex --> LATIN SMALL LETTER J WITH CIRCUMFLEX
0372: keysym2UCSHash.put((long) 0x2c5, (char) 0x010a); // XK_Cabovedot --> LATIN CAPITAL LETTER C WITH DOT ABOVE
0373: keysym2UCSHash.put((long) 0x2c6, (char) 0x0108); // XK_Ccircumflex --> LATIN CAPITAL LETTER C WITH CIRCUMFLEX
0374: keysym2UCSHash.put((long) 0x2d5, (char) 0x0120); // XK_Gabovedot --> LATIN CAPITAL LETTER G WITH DOT ABOVE
0375: keysym2UCSHash.put((long) 0x2d8, (char) 0x011c); // XK_Gcircumflex --> LATIN CAPITAL LETTER G WITH CIRCUMFLEX
0376: keysym2UCSHash.put((long) 0x2dd, (char) 0x016c); // XK_Ubreve --> LATIN CAPITAL LETTER U WITH BREVE
0377: keysym2UCSHash.put((long) 0x2de, (char) 0x015c); // XK_Scircumflex --> LATIN CAPITAL LETTER S WITH CIRCUMFLEX
0378: keysym2UCSHash.put((long) 0x2e5, (char) 0x010b); // XK_cabovedot --> LATIN SMALL LETTER C WITH DOT ABOVE
0379: keysym2UCSHash.put((long) 0x2e6, (char) 0x0109); // XK_ccircumflex --> LATIN SMALL LETTER C WITH CIRCUMFLEX
0380: keysym2UCSHash.put((long) 0x2f5, (char) 0x0121); // XK_gabovedot --> LATIN SMALL LETTER G WITH DOT ABOVE
0381: keysym2UCSHash.put((long) 0x2f8, (char) 0x011d); // XK_gcircumflex --> LATIN SMALL LETTER G WITH CIRCUMFLEX
0382: keysym2UCSHash.put((long) 0x2fd, (char) 0x016d); // XK_ubreve --> LATIN SMALL LETTER U WITH BREVE
0383: keysym2UCSHash.put((long) 0x2fe, (char) 0x015d); // XK_scircumflex --> LATIN SMALL LETTER S WITH CIRCUMFLEX
0384: keysym2UCSHash.put((long) 0x3a2, (char) 0x0138); // XK_kra --> LATIN SMALL LETTER KRA
0385: keysym2UCSHash.put((long) 0x3a3, (char) 0x0156); // XK_Rcedilla --> LATIN CAPITAL LETTER R WITH CEDILLA
0386: keysym2UCSHash.put((long) 0x3a5, (char) 0x0128); // XK_Itilde --> LATIN CAPITAL LETTER I WITH TILDE
0387: keysym2UCSHash.put((long) 0x3a6, (char) 0x013b); // XK_Lcedilla --> LATIN CAPITAL LETTER L WITH CEDILLA
0388: keysym2UCSHash.put((long) 0x3aa, (char) 0x0112); // XK_Emacron --> LATIN CAPITAL LETTER E WITH MACRON
0389: keysym2UCSHash.put((long) 0x3ab, (char) 0x0122); // XK_Gcedilla --> LATIN CAPITAL LETTER G WITH CEDILLA
0390: keysym2UCSHash.put((long) 0x3ac, (char) 0x0166); // XK_Tslash --> LATIN CAPITAL LETTER T WITH STROKE
0391: keysym2UCSHash.put((long) 0x3b3, (char) 0x0157); // XK_rcedilla --> LATIN SMALL LETTER R WITH CEDILLA
0392: keysym2UCSHash.put((long) 0x3b5, (char) 0x0129); // XK_itilde --> LATIN SMALL LETTER I WITH TILDE
0393: keysym2UCSHash.put((long) 0x3b6, (char) 0x013c); // XK_lcedilla --> LATIN SMALL LETTER L WITH CEDILLA
0394: keysym2UCSHash.put((long) 0x3ba, (char) 0x0113); // XK_emacron --> LATIN SMALL LETTER E WITH MACRON
0395: keysym2UCSHash.put((long) 0x3bb, (char) 0x0123); // XK_gcedilla --> LATIN SMALL LETTER G WITH CEDILLA
0396: keysym2UCSHash.put((long) 0x3bc, (char) 0x0167); // XK_tslash --> LATIN SMALL LETTER T WITH STROKE
0397: keysym2UCSHash.put((long) 0x3bd, (char) 0x014a); // XK_ENG --> LATIN CAPITAL LETTER ENG
0398: keysym2UCSHash.put((long) 0x3bf, (char) 0x014b); // XK_eng --> LATIN SMALL LETTER ENG
0399: keysym2UCSHash.put((long) 0x3c0, (char) 0x0100); // XK_Amacron --> LATIN CAPITAL LETTER A WITH MACRON
0400: keysym2UCSHash.put((long) 0x3c7, (char) 0x012e); // XK_Iogonek --> LATIN CAPITAL LETTER I WITH OGONEK
0401: keysym2UCSHash.put((long) 0x3cc, (char) 0x0116); // XK_Eabovedot --> LATIN CAPITAL LETTER E WITH DOT ABOVE
0402: keysym2UCSHash.put((long) 0x3cf, (char) 0x012a); // XK_Imacron --> LATIN CAPITAL LETTER I WITH MACRON
0403: keysym2UCSHash.put((long) 0x3d1, (char) 0x0145); // XK_Ncedilla --> LATIN CAPITAL LETTER N WITH CEDILLA
0404: keysym2UCSHash.put((long) 0x3d2, (char) 0x014c); // XK_Omacron --> LATIN CAPITAL LETTER O WITH MACRON
0405: keysym2UCSHash.put((long) 0x3d3, (char) 0x0136); // XK_Kcedilla --> LATIN CAPITAL LETTER K WITH CEDILLA
0406: keysym2UCSHash.put((long) 0x3d9, (char) 0x0172); // XK_Uogonek --> LATIN CAPITAL LETTER U WITH OGONEK
0407: keysym2UCSHash.put((long) 0x3dd, (char) 0x0168); // XK_Utilde --> LATIN CAPITAL LETTER U WITH TILDE
0408: keysym2UCSHash.put((long) 0x3de, (char) 0x016a); // XK_Umacron --> LATIN CAPITAL LETTER U WITH MACRON
0409: keysym2UCSHash.put((long) 0x3e0, (char) 0x0101); // XK_amacron --> LATIN SMALL LETTER A WITH MACRON
0410: keysym2UCSHash.put((long) 0x3e7, (char) 0x012f); // XK_iogonek --> LATIN SMALL LETTER I WITH OGONEK
0411: keysym2UCSHash.put((long) 0x3ec, (char) 0x0117); // XK_eabovedot --> LATIN SMALL LETTER E WITH DOT ABOVE
0412: keysym2UCSHash.put((long) 0x3ef, (char) 0x012b); // XK_imacron --> LATIN SMALL LETTER I WITH MACRON
0413: keysym2UCSHash.put((long) 0x3f1, (char) 0x0146); // XK_ncedilla --> LATIN SMALL LETTER N WITH CEDILLA
0414: keysym2UCSHash.put((long) 0x3f2, (char) 0x014d); // XK_omacron --> LATIN SMALL LETTER O WITH MACRON
0415: keysym2UCSHash.put((long) 0x3f3, (char) 0x0137); // XK_kcedilla --> LATIN SMALL LETTER K WITH CEDILLA
0416: keysym2UCSHash.put((long) 0x3f9, (char) 0x0173); // XK_uogonek --> LATIN SMALL LETTER U WITH OGONEK
0417: keysym2UCSHash.put((long) 0x3fd, (char) 0x0169); // XK_utilde --> LATIN SMALL LETTER U WITH TILDE
0418: keysym2UCSHash.put((long) 0x3fe, (char) 0x016b); // XK_umacron --> LATIN SMALL LETTER U WITH MACRON
0419: keysym2UCSHash.put((long) 0x12a1, (char) 0x1e02); // XK_Babovedot --> LATIN CAPITAL LETTER B WITH DOT ABOVE
0420: keysym2UCSHash.put((long) 0x12a2, (char) 0x1e03); // XK_babovedot --> LATIN SMALL LETTER B WITH DOT ABOVE
0421: keysym2UCSHash.put((long) 0x12a6, (char) 0x1e0a); // XK_Dabovedot --> LATIN CAPITAL LETTER D WITH DOT ABOVE
0422: keysym2UCSHash.put((long) 0x12a8, (char) 0x1e80); // XK_Wgrave --> LATIN CAPITAL LETTER W WITH GRAVE
0423: keysym2UCSHash.put((long) 0x12aa, (char) 0x1e82); // XK_Wacute --> LATIN CAPITAL LETTER W WITH ACUTE
0424: keysym2UCSHash.put((long) 0x12ab, (char) 0x1e0b); // XK_dabovedot --> LATIN SMALL LETTER D WITH DOT ABOVE
0425: keysym2UCSHash.put((long) 0x12ac, (char) 0x1ef2); // XK_Ygrave --> LATIN CAPITAL LETTER Y WITH GRAVE
0426: keysym2UCSHash.put((long) 0x12b0, (char) 0x1e1e); // XK_Fabovedot --> LATIN CAPITAL LETTER F WITH DOT ABOVE
0427: keysym2UCSHash.put((long) 0x12b1, (char) 0x1e1f); // XK_fabovedot --> LATIN SMALL LETTER F WITH DOT ABOVE
0428: keysym2UCSHash.put((long) 0x12b4, (char) 0x1e40); // XK_Mabovedot --> LATIN CAPITAL LETTER M WITH DOT ABOVE
0429: keysym2UCSHash.put((long) 0x12b5, (char) 0x1e41); // XK_mabovedot --> LATIN SMALL LETTER M WITH DOT ABOVE
0430: keysym2UCSHash.put((long) 0x12b7, (char) 0x1e56); // XK_Pabovedot --> LATIN CAPITAL LETTER P WITH DOT ABOVE
0431: keysym2UCSHash.put((long) 0x12b8, (char) 0x1e81); // XK_wgrave --> LATIN SMALL LETTER W WITH GRAVE
0432: keysym2UCSHash.put((long) 0x12b9, (char) 0x1e57); // XK_pabovedot --> LATIN SMALL LETTER P WITH DOT ABOVE
0433: keysym2UCSHash.put((long) 0x12ba, (char) 0x1e83); // XK_wacute --> LATIN SMALL LETTER W WITH ACUTE
0434: keysym2UCSHash.put((long) 0x12bb, (char) 0x1e60); // XK_Sabovedot --> LATIN CAPITAL LETTER S WITH DOT ABOVE
0435: keysym2UCSHash.put((long) 0x12bc, (char) 0x1ef3); // XK_ygrave --> LATIN SMALL LETTER Y WITH GRAVE
0436: keysym2UCSHash.put((long) 0x12bd, (char) 0x1e84); // XK_Wdiaeresis --> LATIN CAPITAL LETTER W WITH DIAERESIS
0437: keysym2UCSHash.put((long) 0x12be, (char) 0x1e85); // XK_wdiaeresis --> LATIN SMALL LETTER W WITH DIAERESIS
0438: keysym2UCSHash.put((long) 0x12bf, (char) 0x1e61); // XK_sabovedot --> LATIN SMALL LETTER S WITH DOT ABOVE
0439: keysym2UCSHash.put((long) 0x12d0, (char) 0x017); // XK_Wcircumflex -->
0440: keysym2UCSHash.put((long) 0x12d7, (char) 0x1e6a); // XK_Tabovedot --> LATIN CAPITAL LETTER T WITH DOT ABOVE
0441: keysym2UCSHash.put((long) 0x12de, (char) 0x0176); // XK_Ycircumflex --> LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
0442: keysym2UCSHash.put((long) 0x12f0, (char) 0x0175); // XK_wcircumflex --> LATIN SMALL LETTER W WITH CIRCUMFLEX
0443: keysym2UCSHash.put((long) 0x12f7, (char) 0x1e6b); // XK_tabovedot --> LATIN SMALL LETTER T WITH DOT ABOVE
0444: keysym2UCSHash.put((long) 0x12fe, (char) 0x0177); // XK_ycircumflex --> LATIN SMALL LETTER Y WITH CIRCUMFLEX
0445: keysym2UCSHash.put((long) 0x13bc, (char) 0x0152); // XK_OE --> LATIN CAPITAL LIGATURE OE
0446: keysym2UCSHash.put((long) 0x13bd, (char) 0x0153); // XK_oe --> LATIN SMALL LIGATURE OE
0447: keysym2UCSHash.put((long) 0x13be, (char) 0x0178); // XK_Ydiaeresis --> LATIN CAPITAL LETTER Y WITH DIAERESIS
0448: keysym2UCSHash.put((long) 0x47e, (char) 0x203e); // XK_overline --> OVERLINE
0449: keysym2UCSHash.put((long) 0x4a1, (char) 0x3002); // XK_kana_fullstop --> IDEOGRAPHIC FULL STOP
0450: keysym2UCSHash.put((long) 0x4a2, (char) 0x300c); // XK_kana_openingbracket --> LEFT CORNER BRACKET
0451: keysym2UCSHash.put((long) 0x4a3, (char) 0x300d); // XK_kana_closingbracket --> RIGHT CORNER BRACKET
0452: keysym2UCSHash.put((long) 0x4a4, (char) 0x3001); // XK_kana_comma --> IDEOGRAPHIC COMMA
0453: keysym2UCSHash.put((long) 0x4a5, (char) 0x30fb); // XK_kana_conjunctive --> KATAKANA MIDDLE DOT
0454: keysym2UCSHash.put((long) 0x4a6, (char) 0x30f2); // XK_kana_WO --> KATAKANA LETTER WO
0455: keysym2UCSHash.put((long) 0x4a7, (char) 0x30a1); // XK_kana_a --> KATAKANA LETTER SMALL A
0456: keysym2UCSHash.put((long) 0x4a8, (char) 0x30a3); // XK_kana_i --> KATAKANA LETTER SMALL I
0457: keysym2UCSHash.put((long) 0x4a9, (char) 0x30a5); // XK_kana_u --> KATAKANA LETTER SMALL U
0458: keysym2UCSHash.put((long) 0x4aa, (char) 0x30a7); // XK_kana_e --> KATAKANA LETTER SMALL E
0459: keysym2UCSHash.put((long) 0x4ab, (char) 0x30a9); // XK_kana_o --> KATAKANA LETTER SMALL O
0460: keysym2UCSHash.put((long) 0x4ac, (char) 0x30e3); // XK_kana_ya --> KATAKANA LETTER SMALL YA
0461: keysym2UCSHash.put((long) 0x4ad, (char) 0x30e5); // XK_kana_yu --> KATAKANA LETTER SMALL YU
0462: keysym2UCSHash.put((long) 0x4ae, (char) 0x30e7); // XK_kana_yo --> KATAKANA LETTER SMALL YO
0463: keysym2UCSHash.put((long) 0x4af, (char) 0x30c3); // XK_kana_tsu --> KATAKANA LETTER SMALL TU
0464: keysym2UCSHash.put((long) 0x4b0, (char) 0x30fc); // XK_prolongedsound --> KATAKANA-HIRAGANA PROLONGED SOUND MARK
0465: keysym2UCSHash.put((long) 0x4b1, (char) 0x30a2); // XK_kana_A --> KATAKANA LETTER A
0466: keysym2UCSHash.put((long) 0x4b2, (char) 0x30a4); // XK_kana_I --> KATAKANA LETTER I
0467: keysym2UCSHash.put((long) 0x4b3, (char) 0x30a6); // XK_kana_U --> KATAKANA LETTER U
0468: keysym2UCSHash.put((long) 0x4b4, (char) 0x30a8); // XK_kana_E --> KATAKANA LETTER E
0469: keysym2UCSHash.put((long) 0x4b5, (char) 0x30aa); // XK_kana_O --> KATAKANA LETTER O
0470: keysym2UCSHash.put((long) 0x4b6, (char) 0x30ab); // XK_kana_KA --> KATAKANA LETTER KA
0471: keysym2UCSHash.put((long) 0x4b7, (char) 0x30ad); // XK_kana_KI --> KATAKANA LETTER KI
0472: keysym2UCSHash.put((long) 0x4b8, (char) 0x30af); // XK_kana_KU --> KATAKANA LETTER KU
0473: keysym2UCSHash.put((long) 0x4b9, (char) 0x30b1); // XK_kana_KE --> KATAKANA LETTER KE
0474: keysym2UCSHash.put((long) 0x4ba, (char) 0x30b3); // XK_kana_KO --> KATAKANA LETTER KO
0475: keysym2UCSHash.put((long) 0x4bb, (char) 0x30b5); // XK_kana_SA --> KATAKANA LETTER SA
0476: keysym2UCSHash.put((long) 0x4bc, (char) 0x30b7); // XK_kana_SHI --> KATAKANA LETTER SI
0477: keysym2UCSHash.put((long) 0x4bd, (char) 0x30b9); // XK_kana_SU --> KATAKANA LETTER SU
0478: keysym2UCSHash.put((long) 0x4be, (char) 0x30bb); // XK_kana_SE --> KATAKANA LETTER SE
0479: keysym2UCSHash.put((long) 0x4bf, (char) 0x30bd); // XK_kana_SO --> KATAKANA LETTER SO
0480: keysym2UCSHash.put((long) 0x4c0, (char) 0x30bf); // XK_kana_TA --> KATAKANA LETTER TA
0481: keysym2UCSHash.put((long) 0x4c1, (char) 0x30c1); // XK_kana_CHI --> KATAKANA LETTER TI
0482: keysym2UCSHash.put((long) 0x4c2, (char) 0x30c4); // XK_kana_TSU --> KATAKANA LETTER TU
0483: keysym2UCSHash.put((long) 0x4c3, (char) 0x30c6); // XK_kana_TE --> KATAKANA LETTER TE
0484: keysym2UCSHash.put((long) 0x4c4, (char) 0x30c8); // XK_kana_TO --> KATAKANA LETTER TO
0485: keysym2UCSHash.put((long) 0x4c5, (char) 0x30ca); // XK_kana_NA --> KATAKANA LETTER NA
0486: keysym2UCSHash.put((long) 0x4c6, (char) 0x30cb); // XK_kana_NI --> KATAKANA LETTER NI
0487: keysym2UCSHash.put((long) 0x4c7, (char) 0x30cc); // XK_kana_NU --> KATAKANA LETTER NU
0488: keysym2UCSHash.put((long) 0x4c8, (char) 0x30cd); // XK_kana_NE --> KATAKANA LETTER NE
0489: keysym2UCSHash.put((long) 0x4c9, (char) 0x30ce); // XK_kana_NO --> KATAKANA LETTER NO
0490: keysym2UCSHash.put((long) 0x4ca, (char) 0x30cf); // XK_kana_HA --> KATAKANA LETTER HA
0491: keysym2UCSHash.put((long) 0x4cb, (char) 0x30d2); // XK_kana_HI --> KATAKANA LETTER HI
0492: keysym2UCSHash.put((long) 0x4cc, (char) 0x30d5); // XK_kana_FU --> KATAKANA LETTER HU
0493: keysym2UCSHash.put((long) 0x4cd, (char) 0x30d8); // XK_kana_HE --> KATAKANA LETTER HE
0494: keysym2UCSHash.put((long) 0x4ce, (char) 0x30db); // XK_kana_HO --> KATAKANA LETTER HO
0495: keysym2UCSHash.put((long) 0x4cf, (char) 0x30de); // XK_kana_MA --> KATAKANA LETTER MA
0496: keysym2UCSHash.put((long) 0x4d0, (char) 0x30df); // XK_kana_MI --> KATAKANA LETTER MI
0497: keysym2UCSHash.put((long) 0x4d1, (char) 0x30e0); // XK_kana_MU --> KATAKANA LETTER MU
0498: keysym2UCSHash.put((long) 0x4d2, (char) 0x30e1); // XK_kana_ME --> KATAKANA LETTER ME
0499: keysym2UCSHash.put((long) 0x4d3, (char) 0x30e2); // XK_kana_MO --> KATAKANA LETTER MO
0500: keysym2UCSHash.put((long) 0x4d4, (char) 0x30e4); // XK_kana_YA --> KATAKANA LETTER YA
0501: keysym2UCSHash.put((long) 0x4d5, (char) 0x30e6); // XK_kana_YU --> KATAKANA LETTER YU
0502: keysym2UCSHash.put((long) 0x4d6, (char) 0x30e8); // XK_kana_YO --> KATAKANA LETTER YO
0503: keysym2UCSHash.put((long) 0x4d7, (char) 0x30e9); // XK_kana_RA --> KATAKANA LETTER RA
0504: keysym2UCSHash.put((long) 0x4d8, (char) 0x30ea); // XK_kana_RI --> KATAKANA LETTER RI
0505: keysym2UCSHash.put((long) 0x4d9, (char) 0x30eb); // XK_kana_RU --> KATAKANA LETTER RU
0506: keysym2UCSHash.put((long) 0x4da, (char) 0x30ec); // XK_kana_RE --> KATAKANA LETTER RE
0507: keysym2UCSHash.put((long) 0x4db, (char) 0x30ed); // XK_kana_RO --> KATAKANA LETTER RO
0508: keysym2UCSHash.put((long) 0x4dc, (char) 0x30ef); // XK_kana_WA --> KATAKANA LETTER WA
0509: keysym2UCSHash.put((long) 0x4dd, (char) 0x30f3); // XK_kana_N --> KATAKANA LETTER N
0510: keysym2UCSHash.put((long) 0x4de, (char) 0x309b); // XK_voicedsound --> KATAKANA-HIRAGANA VOICED SOUND MARK
0511: keysym2UCSHash.put((long) 0x4df, (char) 0x309c); // XK_semivoicedsound --> KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
0512: keysym2UCSHash.put((long) 0x590, (char) 0x0670); // XK_Farsi_0 --> ARABIC LETTER SUPERSCRIPT ALEF
0513: keysym2UCSHash.put((long) 0x591, (char) 0x06f1); // XK_Farsi_1 --> EXTENDED ARABIC-INDIC DIGIT ONE
0514: keysym2UCSHash.put((long) 0x592, (char) 0x06f2); // XK_Farsi_2 --> EXTENDED ARABIC-INDIC DIGIT TWO
0515: keysym2UCSHash.put((long) 0x593, (char) 0x06f3); // XK_Farsi_3 --> EXTENDED ARABIC-INDIC DIGIT THREE
0516: keysym2UCSHash.put((long) 0x594, (char) 0x06f4); // XK_Farsi_4 --> EXTENDED ARABIC-INDIC DIGIT FOUR
0517: keysym2UCSHash.put((long) 0x595, (char) 0x06f5); // XK_Farsi_5 --> EXTENDED ARABIC-INDIC DIGIT FIVE
0518: keysym2UCSHash.put((long) 0x596, (char) 0x06f6); // XK_Farsi_6 --> EXTENDED ARABIC-INDIC DIGIT SIX
0519: keysym2UCSHash.put((long) 0x597, (char) 0x06f7); // XK_Farsi_7 --> EXTENDED ARABIC-INDIC DIGIT SEVEN
0520: keysym2UCSHash.put((long) 0x598, (char) 0x06f8); // XK_Farsi_8 --> EXTENDED ARABIC-INDIC DIGIT EIGHT
0521: keysym2UCSHash.put((long) 0x599, (char) 0x06f9); // XK_Farsi_9 --> EXTENDED ARABIC-INDIC DIGIT NINE
0522: keysym2UCSHash.put((long) 0x5a5, (char) 0x066a); // XK_Arabic_percent --> ARABIC PERCENT SIGN
0523: keysym2UCSHash.put((long) 0x5a6, (char) 0x0670); // XK_Arabic_superscript_alef --> ARABIC LETTER SUPERSCRIPT ALEF
0524: keysym2UCSHash.put((long) 0x5a7, (char) 0x0679); // XK_Arabic_tteh --> ARABIC LETTER TTEH
0525: keysym2UCSHash.put((long) 0x5a8, (char) 0x067e); // XK_Arabic_peh --> ARABIC LETTER PEH
0526: keysym2UCSHash.put((long) 0x5a9, (char) 0x0686); // XK_Arabic_tcheh --> ARABIC LETTER TCHEH
0527: keysym2UCSHash.put((long) 0x5aa, (char) 0x0688); // XK_Arabic_ddal --> ARABIC LETTER DDAL
0528: keysym2UCSHash.put((long) 0x5ab, (char) 0x0691); // XK_Arabic_rreh --> ARABIC LETTER RREH
0529: keysym2UCSHash.put((long) 0x5ac, (char) 0x060c); // XK_Arabic_comma --> ARABIC COMMA
0530: keysym2UCSHash.put((long) 0x5ae, (char) 0x06d4); // XK_Arabic_fullstop --> ARABIC FULL STOP
0531: keysym2UCSHash.put((long) 0x5b0, (char) 0x0660); // XK_Arabic_0 --> ARABIC-INDIC DIGIT ZERO
0532: keysym2UCSHash.put((long) 0x5b1, (char) 0x0661); // XK_Arabic_1 --> ARABIC-INDIC DIGIT ONE
0533: keysym2UCSHash.put((long) 0x5b2, (char) 0x0662); // XK_Arabic_2 --> ARABIC-INDIC DIGIT TWO
0534: keysym2UCSHash.put((long) 0x5b3, (char) 0x0663); // XK_Arabic_3 --> ARABIC-INDIC DIGIT THREE
0535: keysym2UCSHash.put((long) 0x5b4, (char) 0x0664); // XK_Arabic_4 --> ARABIC-INDIC DIGIT FOUR
0536: keysym2UCSHash.put((long) 0x5b5, (char) 0x0665); // XK_Arabic_5 --> ARABIC-INDIC DIGIT FIVE
0537: keysym2UCSHash.put((long) 0x5b6, (char) 0x0666); // XK_Arabic_6 --> ARABIC-INDIC DIGIT SIX
0538: keysym2UCSHash.put((long) 0x5b7, (char) 0x0667); // XK_Arabic_7 --> ARABIC-INDIC DIGIT SEVEN
0539: keysym2UCSHash.put((long) 0x5b8, (char) 0x0668); // XK_Arabic_8 --> ARABIC-INDIC DIGIT EIGHT
0540: keysym2UCSHash.put((long) 0x5b9, (char) 0x0669); // XK_Arabic_9 --> ARABIC-INDIC DIGIT NINE
0541: keysym2UCSHash.put((long) 0x5bb, (char) 0x061b); // XK_Arabic_semicolon --> ARABIC SEMICOLON
0542: keysym2UCSHash.put((long) 0x5bf, (char) 0x061f); // XK_Arabic_question_mark --> ARABIC QUESTION MARK
0543: keysym2UCSHash.put((long) 0x5c1, (char) 0x0621); // XK_Arabic_hamza --> ARABIC LETTER HAMZA
0544: keysym2UCSHash.put((long) 0x5c2, (char) 0x0622); // XK_Arabic_maddaonalef --> ARABIC LETTER ALEF WITH MADDA ABOVE
0545: keysym2UCSHash.put((long) 0x5c3, (char) 0x0623); // XK_Arabic_hamzaonalef --> ARABIC LETTER ALEF WITH HAMZA ABOVE
0546: keysym2UCSHash.put((long) 0x5c4, (char) 0x0624); // XK_Arabic_hamzaonwaw --> ARABIC LETTER WAW WITH HAMZA ABOVE
0547: keysym2UCSHash.put((long) 0x5c5, (char) 0x0625); // XK_Arabic_hamzaunderalef --> ARABIC LETTER ALEF WITH HAMZA BELOW
0548: keysym2UCSHash.put((long) 0x5c6, (char) 0x0626); // XK_Arabic_hamzaonyeh --> ARABIC LETTER YEH WITH HAMZA ABOVE
0549: keysym2UCSHash.put((long) 0x5c7, (char) 0x0627); // XK_Arabic_alef --> ARABIC LETTER ALEF
0550: keysym2UCSHash.put((long) 0x5c8, (char) 0x0628); // XK_Arabic_beh --> ARABIC LETTER BEH
0551: keysym2UCSHash.put((long) 0x5c9, (char) 0x0629); // XK_Arabic_tehmarbuta --> ARABIC LETTER TEH MARBUTA
0552: keysym2UCSHash.put((long) 0x5ca, (char) 0x062a); // XK_Arabic_teh --> ARABIC LETTER TEH
0553: keysym2UCSHash.put((long) 0x5cb, (char) 0x062b); // XK_Arabic_theh --> ARABIC LETTER THEH
0554: keysym2UCSHash.put((long) 0x5cc, (char) 0x062c); // XK_Arabic_jeem --> ARABIC LETTER JEEM
0555: keysym2UCSHash.put((long) 0x5cd, (char) 0x062d); // XK_Arabic_hah --> ARABIC LETTER HAH
0556: keysym2UCSHash.put((long) 0x5ce, (char) 0x062e); // XK_Arabic_khah --> ARABIC LETTER KHAH
0557: keysym2UCSHash.put((long) 0x5cf, (char) 0x062f); // XK_Arabic_dal --> ARABIC LETTER DAL
0558: keysym2UCSHash.put((long) 0x5d0, (char) 0x0630); // XK_Arabic_thal --> ARABIC LETTER THAL
0559: keysym2UCSHash.put((long) 0x5d1, (char) 0x0631); // XK_Arabic_ra --> ARABIC LETTER REH
0560: keysym2UCSHash.put((long) 0x5d2, (char) 0x0632); // XK_Arabic_zain --> ARABIC LETTER ZAIN
0561: keysym2UCSHash.put((long) 0x5d3, (char) 0x0633); // XK_Arabic_seen --> ARABIC LETTER SEEN
0562: keysym2UCSHash.put((long) 0x5d4, (char) 0x0634); // XK_Arabic_sheen --> ARABIC LETTER SHEEN
0563: keysym2UCSHash.put((long) 0x5d5, (char) 0x0635); // XK_Arabic_sad --> ARABIC LETTER SAD
0564: keysym2UCSHash.put((long) 0x5d6, (char) 0x0636); // XK_Arabic_dad --> ARABIC LETTER DAD
0565: keysym2UCSHash.put((long) 0x5d7, (char) 0x0637); // XK_Arabic_tah --> ARABIC LETTER TAH
0566: keysym2UCSHash.put((long) 0x5d8, (char) 0x0638); // XK_Arabic_zah --> ARABIC LETTER ZAH
0567: keysym2UCSHash.put((long) 0x5d9, (char) 0x0639); // XK_Arabic_ain --> ARABIC LETTER AIN
0568: keysym2UCSHash.put((long) 0x5da, (char) 0x063a); // XK_Arabic_ghain --> ARABIC LETTER GHAIN
0569: keysym2UCSHash.put((long) 0x5e0, (char) 0x0640); // XK_Arabic_tatweel --> ARABIC TATWEEL
0570: keysym2UCSHash.put((long) 0x5e1, (char) 0x0641); // XK_Arabic_feh --> ARABIC LETTER FEH
0571: keysym2UCSHash.put((long) 0x5e2, (char) 0x0642); // XK_Arabic_qaf --> ARABIC LETTER QAF
0572: keysym2UCSHash.put((long) 0x5e3, (char) 0x0643); // XK_Arabic_kaf --> ARABIC LETTER KAF
0573: keysym2UCSHash.put((long) 0x5e4, (char) 0x0644); // XK_Arabic_lam --> ARABIC LETTER LAM
0574: keysym2UCSHash.put((long) 0x5e5, (char) 0x0645); // XK_Arabic_meem --> ARABIC LETTER MEEM
0575: keysym2UCSHash.put((long) 0x5e6, (char) 0x0646); // XK_Arabic_noon --> ARABIC LETTER NOON
0576: keysym2UCSHash.put((long) 0x5e7, (char) 0x0647); // XK_Arabic_ha --> ARABIC LETTER HEH
0577: keysym2UCSHash.put((long) 0x5e8, (char) 0x0648); // XK_Arabic_waw --> ARABIC LETTER WAW
0578: keysym2UCSHash.put((long) 0x5e9, (char) 0x0649); // XK_Arabic_alefmaksura --> ARABIC LETTER ALEF MAKSURA
0579: keysym2UCSHash.put((long) 0x5ea, (char) 0x064a); // XK_Arabic_yeh --> ARABIC LETTER YEH
0580: keysym2UCSHash.put((long) 0x5eb, (char) 0x064b); // XK_Arabic_fathatan --> ARABIC FATHATAN
0581: keysym2UCSHash.put((long) 0x5ec, (char) 0x064c); // XK_Arabic_dammatan --> ARABIC DAMMATAN
0582: keysym2UCSHash.put((long) 0x5ed, (char) 0x064d); // XK_Arabic_kasratan --> ARABIC KASRATAN
0583: keysym2UCSHash.put((long) 0x5ee, (char) 0x064e); // XK_Arabic_fatha --> ARABIC FATHA
0584: keysym2UCSHash.put((long) 0x5ef, (char) 0x064f); // XK_Arabic_damma --> ARABIC DAMMA
0585: keysym2UCSHash.put((long) 0x5f0, (char) 0x0650); // XK_Arabic_kasra --> ARABIC KASRA
0586: keysym2UCSHash.put((long) 0x5f1, (char) 0x0651); // XK_Arabic_shadda --> ARABIC SHADDA
0587: keysym2UCSHash.put((long) 0x5f2, (char) 0x0652); // XK_Arabic_sukun --> ARABIC SUKUN
0588: keysym2UCSHash.put((long) 0x5f3, (char) 0x0653); // XK_Arabic_madda_above --> ARABIC MADDAH ABOVE
0589: keysym2UCSHash.put((long) 0x5f4, (char) 0x0654); // XK_Arabic_hamza_above --> ARABIC HAMZA ABOVE
0590: keysym2UCSHash.put((long) 0x5f5, (char) 0x0655); // XK_Arabic_hamza_below --> ARABIC HAMZA BELOW
0591: keysym2UCSHash.put((long) 0x5f6, (char) 0x0698); // XK_Arabic_jeh --> ARABIC LETTER JEH
0592: keysym2UCSHash.put((long) 0x5f7, (char) 0x06a4); // XK_Arabic_veh --> ARABIC LETTER VEH
0593: keysym2UCSHash.put((long) 0x5f8, (char) 0x06a9); // XK_Arabic_keheh --> ARABIC LETTER KEHEH
0594: keysym2UCSHash.put((long) 0x5f9, (char) 0x06af); // XK_Arabic_gaf --> ARABIC LETTER GAF
0595: keysym2UCSHash.put((long) 0x5fa, (char) 0x06ba); // XK_Arabic_noon_ghunna --> ARABIC LETTER NOON GHUNNA
0596: keysym2UCSHash.put((long) 0x5fb, (char) 0x06be); // XK_Arabic_heh_doachashmee --> ARABIC LETTER HEH DOACHASHMEE
0597: keysym2UCSHash.put((long) 0x5fc, (char) 0x06cc); // XK_Farsi_yeh --> ARABIC LETTER FARSI YEH
0598: keysym2UCSHash.put((long) 0x5fd, (char) 0x06d2); // XK_Arabic_yeh_baree --> ARABIC LETTER YEH BARREE
0599: keysym2UCSHash.put((long) 0x5fe, (char) 0x06c1); // XK_Arabic_heh_goal --> ARABIC LETTER HEH GOAL
0600: keysym2UCSHash.put((long) 0x680, (char) 0x0492); // XK_Cyrillic_GHE_bar --> CYRILLIC CAPITAL LETTER GHE WITH STROKE
0601: keysym2UCSHash.put((long) 0x690, (char) 0x0493); // XK_Cyrillic_ghe_bar --> CYRILLIC SMALL LETTER GHE WITH STROKE
0602: keysym2UCSHash.put((long) 0x681, (char) 0x0496); // XK_Cyrillic_ZHE_descender --> CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
0603: keysym2UCSHash.put((long) 0x691, (char) 0x0497); // XK_Cyrillic_zhe_descender --> CYRILLIC SMALL LETTER ZHE WITH DESCENDER
0604: keysym2UCSHash.put((long) 0x682, (char) 0x049a); // XK_Cyrillic_KA_descender --> CYRILLIC CAPITAL LETTER KA WITH DESCENDER
0605: keysym2UCSHash.put((long) 0x692, (char) 0x049b); // XK_Cyrillic_ka_descender --> CYRILLIC SMALL LETTER KA WITH DESCENDER
0606: keysym2UCSHash.put((long) 0x683, (char) 0x049c); // XK_Cyrillic_KA_vertstroke --> CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
0607: keysym2UCSHash.put((long) 0x693, (char) 0x049d); // XK_Cyrillic_ka_vertstroke --> CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
0608: keysym2UCSHash.put((long) 0x684, (char) 0x04a2); // XK_Cyrillic_EN_descender --> CYRILLIC CAPITAL LETTER EN WITH DESCENDER
0609: keysym2UCSHash.put((long) 0x694, (char) 0x04a3); // XK_Cyrillic_en_descender --> CYRILLIC SMALL LETTER EN WITH DESCENDER
0610: keysym2UCSHash.put((long) 0x685, (char) 0x04ae); // XK_Cyrillic_U_straight --> CYRILLIC CAPITAL LETTER STRAIGHT U
0611: keysym2UCSHash.put((long) 0x695, (char) 0x04af); // XK_Cyrillic_u_straight --> CYRILLIC SMALL LETTER STRAIGHT U
0612: keysym2UCSHash.put((long) 0x686, (char) 0x04b0); // XK_Cyrillic_U_straight_bar --> CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
0613: keysym2UCSHash.put((long) 0x696, (char) 0x04b1); // XK_Cyrillic_u_straight_bar --> CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
0614: keysym2UCSHash.put((long) 0x687, (char) 0x04b2); // XK_Cyrillic_HA_descender --> CYRILLIC CAPITAL LETTER HA WITH DESCENDER
0615: keysym2UCSHash.put((long) 0x697, (char) 0x04b3); // XK_Cyrillic_ha_descender --> CYRILLIC SMALL LETTER HA WITH DESCENDER
0616: keysym2UCSHash.put((long) 0x688, (char) 0x04b6); // XK_Cyrillic_CHE_descender --> CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
0617: keysym2UCSHash.put((long) 0x698, (char) 0x04b7); // XK_Cyrillic_che_descender --> CYRILLIC SMALL LETTER CHE WITH DESCENDER
0618: keysym2UCSHash.put((long) 0x689, (char) 0x04b8); // XK_Cyrillic_CHE_vertstroke --> CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
0619: keysym2UCSHash.put((long) 0x699, (char) 0x04b9); // XK_Cyrillic_che_vertstroke --> CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
0620: keysym2UCSHash.put((long) 0x68a, (char) 0x04ba); // XK_Cyrillic_SHHA --> CYRILLIC CAPITAL LETTER SHHA
0621: keysym2UCSHash.put((long) 0x69a, (char) 0x04bb); // XK_Cyrillic_shha --> CYRILLIC SMALL LETTER SHHA
0622: keysym2UCSHash.put((long) 0x68c, (char) 0x04d8); // XK_Cyrillic_SCHWA --> CYRILLIC CAPITAL LETTER SCHWA
0623: keysym2UCSHash.put((long) 0x69c, (char) 0x04d9); // XK_Cyrillic_schwa --> CYRILLIC SMALL LETTER SCHWA
0624: keysym2UCSHash.put((long) 0x68d, (char) 0x04e2); // XK_Cyrillic_I_macron --> CYRILLIC CAPITAL LETTER I WITH MACRON
0625: keysym2UCSHash.put((long) 0x69d, (char) 0x04e3); // XK_Cyrillic_i_macron --> CYRILLIC SMALL LETTER I WITH MACRON
0626: keysym2UCSHash.put((long) 0x68e, (char) 0x04e8); // XK_Cyrillic_O_bar --> CYRILLIC CAPITAL LETTER BARRED O
0627: keysym2UCSHash.put((long) 0x69e, (char) 0x04e9); // XK_Cyrillic_o_bar --> CYRILLIC SMALL LETTER BARRED O
0628: keysym2UCSHash.put((long) 0x68f, (char) 0x04ee); // XK_Cyrillic_U_macron --> CYRILLIC CAPITAL LETTER U WITH MACRON
0629: keysym2UCSHash.put((long) 0x69f, (char) 0x04ef); // XK_Cyrillic_u_macron --> CYRILLIC SMALL LETTER U WITH MACRON
0630: keysym2UCSHash.put((long) 0x6a1, (char) 0x0452); // XK_Serbian_dje --> CYRILLIC SMALL LETTER DJE
0631: keysym2UCSHash.put((long) 0x6a2, (char) 0x0453); // XK_Macedonia_gje --> CYRILLIC SMALL LETTER GJE
0632: keysym2UCSHash.put((long) 0x6a3, (char) 0x0451); // XK_Cyrillic_io --> CYRILLIC SMALL LETTER IO
0633: keysym2UCSHash.put((long) 0x6a4, (char) 0x0454); // XK_Ukrainian_ie --> CYRILLIC SMALL LETTER UKRAINIAN IE
0634: keysym2UCSHash.put((long) 0x6a5, (char) 0x0455); // XK_Macedonia_dse --> CYRILLIC SMALL LETTER DZE
0635: keysym2UCSHash.put((long) 0x6a6, (char) 0x0456); // XK_Ukrainian_i --> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
0636: keysym2UCSHash.put((long) 0x6a7, (char) 0x0457); // XK_Ukrainian_yi --> CYRILLIC SMALL LETTER YI
0637: keysym2UCSHash.put((long) 0x6a8, (char) 0x0458); // XK_Cyrillic_je --> CYRILLIC SMALL LETTER JE
0638: keysym2UCSHash.put((long) 0x6a9, (char) 0x0459); // XK_Cyrillic_lje --> CYRILLIC SMALL LETTER LJE
0639: keysym2UCSHash.put((long) 0x6aa, (char) 0x045a); // XK_Cyrillic_nje --> CYRILLIC SMALL LETTER NJE
0640: keysym2UCSHash.put((long) 0x6ab, (char) 0x045b); // XK_Serbian_tshe --> CYRILLIC SMALL LETTER TSHE
0641: keysym2UCSHash.put((long) 0x6ac, (char) 0x045c); // XK_Macedonia_kje --> CYRILLIC SMALL LETTER KJE
0642: keysym2UCSHash.put((long) 0x6ad, (char) 0x0491); // XK_Ukrainian_ghe_with_upturn --> CYRILLIC SMALL LETTER GHE WITH UPTURN
0643: keysym2UCSHash.put((long) 0x6ae, (char) 0x045e); // XK_Byelorussian_shortu --> CYRILLIC SMALL LETTER SHORT U
0644: keysym2UCSHash.put((long) 0x6af, (char) 0x045f); // XK_Cyrillic_dzhe --> CYRILLIC SMALL LETTER DZHE
0645: keysym2UCSHash.put((long) 0x6b0, (char) 0x2116); // XK_numerosign --> NUMERO SIGN
0646: keysym2UCSHash.put((long) 0x6b1, (char) 0x0402); // XK_Serbian_DJE --> CYRILLIC CAPITAL LETTER DJE
0647: keysym2UCSHash.put((long) 0x6b2, (char) 0x0403); // XK_Macedonia_GJE --> CYRILLIC CAPITAL LETTER GJE
0648: keysym2UCSHash.put((long) 0x6b3, (char) 0x0401); // XK_Cyrillic_IO --> CYRILLIC CAPITAL LETTER IO
0649: keysym2UCSHash.put((long) 0x6b4, (char) 0x0404); // XK_Ukrainian_IE --> CYRILLIC CAPITAL LETTER UKRAINIAN IE
0650: keysym2UCSHash.put((long) 0x6b5, (char) 0x0405); // XK_Macedonia_DSE --> CYRILLIC CAPITAL LETTER DZE
0651: keysym2UCSHash.put((long) 0x6b6, (char) 0x0406); // XK_Ukrainian_I --> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
0652: keysym2UCSHash.put((long) 0x6b7, (char) 0x0407); // XK_Ukrainian_YI --> CYRILLIC CAPITAL LETTER YI
0653: keysym2UCSHash.put((long) 0x6b8, (char) 0x0408); // XK_Cyrillic_JE --> CYRILLIC CAPITAL LETTER JE
0654: keysym2UCSHash.put((long) 0x6b9, (char) 0x0409); // XK_Cyrillic_LJE --> CYRILLIC CAPITAL LETTER LJE
0655: keysym2UCSHash.put((long) 0x6ba, (char) 0x040a); // XK_Cyrillic_NJE --> CYRILLIC CAPITAL LETTER NJE
0656: keysym2UCSHash.put((long) 0x6bb, (char) 0x040b); // XK_Serbian_TSHE --> CYRILLIC CAPITAL LETTER TSHE
0657: keysym2UCSHash.put((long) 0x6bc, (char) 0x040c); // XK_Macedonia_KJE --> CYRILLIC CAPITAL LETTER KJE
0658: keysym2UCSHash.put((long) 0x6bd, (char) 0x0490); // XK_Ukrainian_GHE_WITH_UPTURN --> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
0659: keysym2UCSHash.put((long) 0x6be, (char) 0x040e); // XK_Byelorussian_SHORTU --> CYRILLIC CAPITAL LETTER SHORT U
0660: keysym2UCSHash.put((long) 0x6bf, (char) 0x040f); // XK_Cyrillic_DZHE --> CYRILLIC CAPITAL LETTER DZHE
0661: keysym2UCSHash.put((long) 0x6c0, (char) 0x044e); // XK_Cyrillic_yu --> CYRILLIC SMALL LETTER YU
0662: keysym2UCSHash.put((long) 0x6c1, (char) 0x0430); // XK_Cyrillic_a --> CYRILLIC SMALL LETTER A
0663: keysym2UCSHash.put((long) 0x6c2, (char) 0x0431); // XK_Cyrillic_be --> CYRILLIC SMALL LETTER BE
0664: keysym2UCSHash.put((long) 0x6c3, (char) 0x0446); // XK_Cyrillic_tse --> CYRILLIC SMALL LETTER TSE
0665: keysym2UCSHash.put((long) 0x6c4, (char) 0x0434); // XK_Cyrillic_de --> CYRILLIC SMALL LETTER DE
0666: keysym2UCSHash.put((long) 0x6c5, (char) 0x0435); // XK_Cyrillic_ie --> CYRILLIC SMALL LETTER IE
0667: keysym2UCSHash.put((long) 0x6c6, (char) 0x0444); // XK_Cyrillic_ef --> CYRILLIC SMALL LETTER EF
0668: keysym2UCSHash.put((long) 0x6c7, (char) 0x0433); // XK_Cyrillic_ghe --> CYRILLIC SMALL LETTER GHE
0669: keysym2UCSHash.put((long) 0x6c8, (char) 0x0445); // XK_Cyrillic_ha --> CYRILLIC SMALL LETTER HA
0670: keysym2UCSHash.put((long) 0x6c9, (char) 0x0438); // XK_Cyrillic_i --> CYRILLIC SMALL LETTER I
0671: keysym2UCSHash.put((long) 0x6ca, (char) 0x0439); // XK_Cyrillic_shorti --> CYRILLIC SMALL LETTER SHORT I
0672: keysym2UCSHash.put((long) 0x6cb, (char) 0x043a); // XK_Cyrillic_ka --> CYRILLIC SMALL LETTER KA
0673: keysym2UCSHash.put((long) 0x6cc, (char) 0x043b); // XK_Cyrillic_el --> CYRILLIC SMALL LETTER EL
0674: keysym2UCSHash.put((long) 0x6cd, (char) 0x043c); // XK_Cyrillic_em --> CYRILLIC SMALL LETTER EM
0675: keysym2UCSHash.put((long) 0x6ce, (char) 0x043d); // XK_Cyrillic_en --> CYRILLIC SMALL LETTER EN
0676: keysym2UCSHash.put((long) 0x6cf, (char) 0x043e); // XK_Cyrillic_o --> CYRILLIC SMALL LETTER O
0677: keysym2UCSHash.put((long) 0x6d0, (char) 0x043f); // XK_Cyrillic_pe --> CYRILLIC SMALL LETTER PE
0678: keysym2UCSHash.put((long) 0x6d1, (char) 0x044f); // XK_Cyrillic_ya --> CYRILLIC SMALL LETTER YA
0679: keysym2UCSHash.put((long) 0x6d2, (char) 0x0440); // XK_Cyrillic_er --> CYRILLIC SMALL LETTER ER
0680: keysym2UCSHash.put((long) 0x6d3, (char) 0x0441); // XK_Cyrillic_es --> CYRILLIC SMALL LETTER ES
0681: keysym2UCSHash.put((long) 0x6d4, (char) 0x0442); // XK_Cyrillic_te --> CYRILLIC SMALL LETTER TE
0682: keysym2UCSHash.put((long) 0x6d5, (char) 0x0443); // XK_Cyrillic_u --> CYRILLIC SMALL LETTER U
0683: keysym2UCSHash.put((long) 0x6d6, (char) 0x0436); // XK_Cyrillic_zhe --> CYRILLIC SMALL LETTER ZHE
0684: keysym2UCSHash.put((long) 0x6d7, (char) 0x0432); // XK_Cyrillic_ve --> CYRILLIC SMALL LETTER VE
0685: keysym2UCSHash.put((long) 0x6d8, (char) 0x044c); // XK_Cyrillic_softsign --> CYRILLIC SMALL LETTER SOFT SIGN
0686: keysym2UCSHash.put((long) 0x6d9, (char) 0x044b); // XK_Cyrillic_yeru --> CYRILLIC SMALL LETTER YERU
0687: keysym2UCSHash.put((long) 0x6da, (char) 0x0437); // XK_Cyrillic_ze --> CYRILLIC SMALL LETTER ZE
0688: keysym2UCSHash.put((long) 0x6db, (char) 0x0448); // XK_Cyrillic_sha --> CYRILLIC SMALL LETTER SHA
0689: keysym2UCSHash.put((long) 0x6dc, (char) 0x044d); // XK_Cyrillic_e --> CYRILLIC SMALL LETTER E
0690: keysym2UCSHash.put((long) 0x6dd, (char) 0x0449); // XK_Cyrillic_shcha --> CYRILLIC SMALL LETTER SHCHA
0691: keysym2UCSHash.put((long) 0x6de, (char) 0x0447); // XK_Cyrillic_che --> CYRILLIC SMALL LETTER CHE
0692: keysym2UCSHash.put((long) 0x6df, (char) 0x044a); // XK_Cyrillic_hardsign --> CYRILLIC SMALL LETTER HARD SIGN
0693: keysym2UCSHash.put((long) 0x6e0, (char) 0x042e); // XK_Cyrillic_YU --> CYRILLIC CAPITAL LETTER YU
0694: keysym2UCSHash.put((long) 0x6e1, (char) 0x0410); // XK_Cyrillic_A --> CYRILLIC CAPITAL LETTER A
0695: keysym2UCSHash.put((long) 0x6e2, (char) 0x0411); // XK_Cyrillic_BE --> CYRILLIC CAPITAL LETTER BE
0696: keysym2UCSHash.put((long) 0x6e3, (char) 0x0426); // XK_Cyrillic_TSE --> CYRILLIC CAPITAL LETTER TSE
0697: keysym2UCSHash.put((long) 0x6e4, (char) 0x0414); // XK_Cyrillic_DE --> CYRILLIC CAPITAL LETTER DE
0698: keysym2UCSHash.put((long) 0x6e5, (char) 0x0415); // XK_Cyrillic_IE --> CYRILLIC CAPITAL LETTER IE
0699: keysym2UCSHash.put((long) 0x6e6, (char) 0x0424); // XK_Cyrillic_EF --> CYRILLIC CAPITAL LETTER EF
0700: keysym2UCSHash.put((long) 0x6e7, (char) 0x0413); // XK_Cyrillic_GHE --> CYRILLIC CAPITAL LETTER GHE
0701: keysym2UCSHash.put((long) 0x6e8, (char) 0x0425); // XK_Cyrillic_HA --> CYRILLIC CAPITAL LETTER HA
0702: keysym2UCSHash.put((long) 0x6e9, (char) 0x0418); // XK_Cyrillic_I --> CYRILLIC CAPITAL LETTER I
0703: keysym2UCSHash.put((long) 0x6ea, (char) 0x0419); // XK_Cyrillic_SHORTI --> CYRILLIC CAPITAL LETTER SHORT I
0704: keysym2UCSHash.put((long) 0x6eb, (char) 0x041a); // XK_Cyrillic_KA --> CYRILLIC CAPITAL LETTER KA
0705: keysym2UCSHash.put((long) 0x6ec, (char) 0x041b); // XK_Cyrillic_EL --> CYRILLIC CAPITAL LETTER EL
0706: keysym2UCSHash.put((long) 0x6ed, (char) 0x041c); // XK_Cyrillic_EM --> CYRILLIC CAPITAL LETTER EM
0707: keysym2UCSHash.put((long) 0x6ee, (char) 0x041d); // XK_Cyrillic_EN --> CYRILLIC CAPITAL LETTER EN
0708: keysym2UCSHash.put((long) 0x6ef, (char) 0x041e); // XK_Cyrillic_O --> CYRILLIC CAPITAL LETTER O
0709: keysym2UCSHash.put((long) 0x6f0, (char) 0x041f); // XK_Cyrillic_PE --> CYRILLIC CAPITAL LETTER PE
0710: keysym2UCSHash.put((long) 0x6f1, (char) 0x042f); // XK_Cyrillic_YA --> CYRILLIC CAPITAL LETTER YA
0711: keysym2UCSHash.put((long) 0x6f2, (char) 0x0420); // XK_Cyrillic_ER --> CYRILLIC CAPITAL LETTER ER
0712: keysym2UCSHash.put((long) 0x6f3, (char) 0x0421); // XK_Cyrillic_ES --> CYRILLIC CAPITAL LETTER ES
0713: keysym2UCSHash.put((long) 0x6f4, (char) 0x0422); // XK_Cyrillic_TE --> CYRILLIC CAPITAL LETTER TE
0714: keysym2UCSHash.put((long) 0x6f5, (char) 0x0423); // XK_Cyrillic_U --> CYRILLIC CAPITAL LETTER U
0715: keysym2UCSHash.put((long) 0x6f6, (char) 0x0416); // XK_Cyrillic_ZHE --> CYRILLIC CAPITAL LETTER ZHE
0716: keysym2UCSHash.put((long) 0x6f7, (char) 0x0412); // XK_Cyrillic_VE --> CYRILLIC CAPITAL LETTER VE
0717: keysym2UCSHash.put((long) 0x6f8, (char) 0x042c); // XK_Cyrillic_SOFTSIGN --> CYRILLIC CAPITAL LETTER SOFT SIGN
0718: keysym2UCSHash.put((long) 0x6f9, (char) 0x042b); // XK_Cyrillic_YERU --> CYRILLIC CAPITAL LETTER YERU
0719: keysym2UCSHash.put((long) 0x6fa, (char) 0x0417); // XK_Cyrillic_ZE --> CYRILLIC CAPITAL LETTER ZE
0720: keysym2UCSHash.put((long) 0x6fb, (char) 0x0428); // XK_Cyrillic_SHA --> CYRILLIC CAPITAL LETTER SHA
0721: keysym2UCSHash.put((long) 0x6fc, (char) 0x042d); // XK_Cyrillic_E --> CYRILLIC CAPITAL LETTER E
0722: keysym2UCSHash.put((long) 0x6fd, (char) 0x0429); // XK_Cyrillic_SHCHA --> CYRILLIC CAPITAL LETTER SHCHA
0723: keysym2UCSHash.put((long) 0x6fe, (char) 0x0427); // XK_Cyrillic_CHE --> CYRILLIC CAPITAL LETTER CHE
0724: keysym2UCSHash.put((long) 0x6ff, (char) 0x042a); // XK_Cyrillic_HARDSIGN --> CYRILLIC CAPITAL LETTER HARD SIGN
0725: keysym2UCSHash.put((long) 0x7a1, (char) 0x0386); // XK_Greek_ALPHAaccent --> GREEK CAPITAL LETTER ALPHA WITH TONOS
0726: keysym2UCSHash.put((long) 0x7a2, (char) 0x0388); // XK_Greek_EPSILONaccent --> GREEK CAPITAL LETTER EPSILON WITH TONOS
0727: keysym2UCSHash.put((long) 0x7a3, (char) 0x0389); // XK_Greek_ETAaccent --> GREEK CAPITAL LETTER ETA WITH TONOS
0728: keysym2UCSHash.put((long) 0x7a4, (char) 0x038a); // XK_Greek_IOTAaccent --> GREEK CAPITAL LETTER IOTA WITH TONOS
0729: keysym2UCSHash.put((long) 0x7a5, (char) 0x03aa); // XK_Greek_IOTAdieresis --> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
0730: keysym2UCSHash.put((long) 0x7a7, (char) 0x038c); // XK_Greek_OMICRONaccent --> GREEK CAPITAL LETTER OMICRON WITH TONOS
0731: keysym2UCSHash.put((long) 0x7a8, (char) 0x038e); // XK_Greek_UPSILONaccent --> GREEK CAPITAL LETTER UPSILON WITH TONOS
0732: keysym2UCSHash.put((long) 0x7a9, (char) 0x03ab); // XK_Greek_UPSILONdieresis --> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
0733: keysym2UCSHash.put((long) 0x7ab, (char) 0x038f); // XK_Greek_OMEGAaccent --> GREEK CAPITAL LETTER OMEGA WITH TONOS
0734: keysym2UCSHash.put((long) 0x7ae, (char) 0x0385); // XK_Greek_accentdieresis --> GREEK DIALYTIKA TONOS
0735: keysym2UCSHash.put((long) 0x7af, (char) 0x2015); // XK_Greek_horizbar --> HORIZONTAL BAR
0736: keysym2UCSHash.put((long) 0x7b1, (char) 0x03ac); // XK_Greek_alphaaccent --> GREEK SMALL LETTER ALPHA WITH TONOS
0737: keysym2UCSHash.put((long) 0x7b2, (char) 0x03ad); // XK_Greek_epsilonaccent --> GREEK SMALL LETTER EPSILON WITH TONOS
0738: keysym2UCSHash.put((long) 0x7b3, (char) 0x03ae); // XK_Greek_etaaccent --> GREEK SMALL LETTER ETA WITH TONOS
0739: keysym2UCSHash.put((long) 0x7b4, (char) 0x03af); // XK_Greek_iotaaccent --> GREEK SMALL LETTER IOTA WITH TONOS
0740: keysym2UCSHash.put((long) 0x7b5, (char) 0x03ca); // XK_Greek_iotadieresis --> GREEK SMALL LETTER IOTA WITH DIALYTIKA
0741: keysym2UCSHash.put((long) 0x7b6, (char) 0x0390); // XK_Greek_iotaaccentdieresis --> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
0742: keysym2UCSHash.put((long) 0x7b7, (char) 0x03cc); // XK_Greek_omicronaccent --> GREEK SMALL LETTER OMICRON WITH TONOS
0743: keysym2UCSHash.put((long) 0x7b8, (char) 0x03cd); // XK_Greek_upsilonaccent --> GREEK SMALL LETTER UPSILON WITH TONOS
0744: keysym2UCSHash.put((long) 0x7b9, (char) 0x03cb); // XK_Greek_upsilondieresis --> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
0745: keysym2UCSHash.put((long) 0x7ba, (char) 0x03b0); // XK_Greek_upsilonaccentdieresis --> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
0746: keysym2UCSHash.put((long) 0x7bb, (char) 0x03ce); // XK_Greek_omegaaccent --> GREEK SMALL LETTER OMEGA WITH TONOS
0747: keysym2UCSHash.put((long) 0x7c1, (char) 0x0391); // XK_Greek_ALPHA --> GREEK CAPITAL LETTER ALPHA
0748: keysym2UCSHash.put((long) 0x7c2, (char) 0x0392); // XK_Greek_BETA --> GREEK CAPITAL LETTER BETA
0749: keysym2UCSHash.put((long) 0x7c3, (char) 0x0393); // XK_Greek_GAMMA --> GREEK CAPITAL LETTER GAMMA
0750: keysym2UCSHash.put((long) 0x7c4, (char) 0x0394); // XK_Greek_DELTA --> GREEK CAPITAL LETTER DELTA
0751: keysym2UCSHash.put((long) 0x7c5, (char) 0x0395); // XK_Greek_EPSILON --> GREEK CAPITAL LETTER EPSILON
0752: keysym2UCSHash.put((long) 0x7c6, (char) 0x0396); // XK_Greek_ZETA --> GREEK CAPITAL LETTER ZETA
0753: keysym2UCSHash.put((long) 0x7c7, (char) 0x0397); // XK_Greek_ETA --> GREEK CAPITAL LETTER ETA
0754: keysym2UCSHash.put((long) 0x7c8, (char) 0x0398); // XK_Greek_THETA --> GREEK CAPITAL LETTER THETA
0755: keysym2UCSHash.put((long) 0x7c9, (char) 0x0399); // XK_Greek_IOTA --> GREEK CAPITAL LETTER IOTA
0756: keysym2UCSHash.put((long) 0x7ca, (char) 0x039a); // XK_Greek_KAPPA --> GREEK CAPITAL LETTER KAPPA
0757: keysym2UCSHash.put((long) 0x7cb, (char) 0x039b); // XK_Greek_LAMBDA --> GREEK CAPITAL LETTER LAMDA
0758: keysym2UCSHash.put((long) 0x7cc, (char) 0x039c); // XK_Greek_MU --> GREEK CAPITAL LETTER MU
0759: keysym2UCSHash.put((long) 0x7cd, (char) 0x039d); // XK_Greek_NU --> GREEK CAPITAL LETTER NU
0760: keysym2UCSHash.put((long) 0x7ce, (char) 0x039e); // XK_Greek_XI --> GREEK CAPITAL LETTER XI
0761: keysym2UCSHash.put((long) 0x7cf, (char) 0x039f); // XK_Greek_OMICRON --> GREEK CAPITAL LETTER OMICRON
0762: keysym2UCSHash.put((long) 0x7d0, (char) 0x03a0); // XK_Greek_PI --> GREEK CAPITAL LETTER PI
0763: keysym2UCSHash.put((long) 0x7d1, (char) 0x03a1); // XK_Greek_RHO --> GREEK CAPITAL LETTER RHO
0764: keysym2UCSHash.put((long) 0x7d2, (char) 0x03a3); // XK_Greek_SIGMA --> GREEK CAPITAL LETTER SIGMA
0765: keysym2UCSHash.put((long) 0x7d4, (char) 0x03a4); // XK_Greek_TAU --> GREEK CAPITAL LETTER TAU
0766: keysym2UCSHash.put((long) 0x7d5, (char) 0x03a5); // XK_Greek_UPSILON --> GREEK CAPITAL LETTER UPSILON
0767: keysym2UCSHash.put((long) 0x7d6, (char) 0x03a6); // XK_Greek_PHI --> GREEK CAPITAL LETTER PHI
0768: keysym2UCSHash.put((long) 0x7d7, (char) 0x03a7); // XK_Greek_CHI --> GREEK CAPITAL LETTER CHI
0769: keysym2UCSHash.put((long) 0x7d8, (char) 0x03a8); // XK_Greek_PSI --> GREEK CAPITAL LETTER PSI
0770: keysym2UCSHash.put((long) 0x7d9, (char) 0x03a9); // XK_Greek_OMEGA --> GREEK CAPITAL LETTER OMEGA
0771: keysym2UCSHash.put((long) 0x7e1, (char) 0x03b1); // XK_Greek_alpha --> GREEK SMALL LETTER ALPHA
0772: keysym2UCSHash.put((long) 0x7e2, (char) 0x03b2); // XK_Greek_beta --> GREEK SMALL LETTER BETA
0773: keysym2UCSHash.put((long) 0x7e3, (char) 0x03b3); // XK_Greek_gamma --> GREEK SMALL LETTER GAMMA
0774: keysym2UCSHash.put((long) 0x7e4, (char) 0x03b4); // XK_Greek_delta --> GREEK SMALL LETTER DELTA
0775: keysym2UCSHash.put((long) 0x7e5, (char) 0x03b5); // XK_Greek_epsilon --> GREEK SMALL LETTER EPSILON
0776: keysym2UCSHash.put((long) 0x7e6, (char) 0x03b6); // XK_Greek_zeta --> GREEK SMALL LETTER ZETA
0777: keysym2UCSHash.put((long) 0x7e7, (char) 0x03b7); // XK_Greek_eta --> GREEK SMALL LETTER ETA
0778: keysym2UCSHash.put((long) 0x7e8, (char) 0x03b8); // XK_Greek_theta --> GREEK SMALL LETTER THETA
0779: keysym2UCSHash.put((long) 0x7e9, (char) 0x03b9); // XK_Greek_iota --> GREEK SMALL LETTER IOTA
0780: keysym2UCSHash.put((long) 0x7ea, (char) 0x03ba); // XK_Greek_kappa --> GREEK SMALL LETTER KAPPA
0781: keysym2UCSHash.put((long) 0x7eb, (char) 0x03bb); // XK_Greek_lambda --> GREEK SMALL LETTER LAMDA
0782: keysym2UCSHash.put((long) 0x7ec, (char) 0x03bc); // XK_Greek_mu --> GREEK SMALL LETTER MU
0783: keysym2UCSHash.put((long) 0x7ed, (char) 0x03bd); // XK_Greek_nu --> GREEK SMALL LETTER NU
0784: keysym2UCSHash.put((long) 0x7ee, (char) 0x03be); // XK_Greek_xi --> GREEK SMALL LETTER XI
0785: keysym2UCSHash.put((long) 0x7ef, (char) 0x03bf); // XK_Greek_omicron --> GREEK SMALL LETTER OMICRON
0786: keysym2UCSHash.put((long) 0x7f0, (char) 0x03c0); // XK_Greek_pi --> GREEK SMALL LETTER PI
0787: keysym2UCSHash.put((long) 0x7f1, (char) 0x03c1); // XK_Greek_rho --> GREEK SMALL LETTER RHO
0788: keysym2UCSHash.put((long) 0x7f2, (char) 0x03c3); // XK_Greek_sigma --> GREEK SMALL LETTER SIGMA
0789: keysym2UCSHash.put((long) 0x7f3, (char) 0x03c2); // XK_Greek_finalsmallsigma --> GREEK SMALL LETTER FINAL SIGMA
0790: keysym2UCSHash.put((long) 0x7f4, (char) 0x03c4); // XK_Greek_tau --> GREEK SMALL LETTER TAU
0791: keysym2UCSHash.put((long) 0x7f5, (char) 0x03c5); // XK_Greek_upsilon --> GREEK SMALL LETTER UPSILON
0792: keysym2UCSHash.put((long) 0x7f6, (char) 0x03c6); // XK_Greek_phi --> GREEK SMALL LETTER PHI
0793: keysym2UCSHash.put((long) 0x7f7, (char) 0x03c7); // XK_Greek_chi --> GREEK SMALL LETTER CHI
0794: keysym2UCSHash.put((long) 0x7f8, (char) 0x03c8); // XK_Greek_psi --> GREEK SMALL LETTER PSI
0795: keysym2UCSHash.put((long) 0x7f9, (char) 0x03c9); // XK_Greek_omega --> GREEK SMALL LETTER OMEGA
0796: keysym2UCSHash.put((long) 0x8a1, (char) 0x23b7); // XK_leftradical --> RADICAL SYMBOL BOTTOM
0797: keysym2UCSHash.put((long) 0x8a2, (char) 0x250c); // XK_topleftradical --> BOX DRAWINGS LIGHT DOWN AND RIGHT
0798: keysym2UCSHash.put((long) 0x8a3, (char) 0x2500); // XK_horizconnector --> BOX DRAWINGS LIGHT HORIZONTAL
0799: keysym2UCSHash.put((long) 0x8a4, (char) 0x2320); // XK_topintegral --> TOP HALF INTEGRAL
0800: keysym2UCSHash.put((long) 0x8a5, (char) 0x2321); // XK_botintegral --> BOTTOM HALF INTEGRAL
0801: keysym2UCSHash.put((long) 0x8a6, (char) 0x2502); // XK_vertconnector --> BOX DRAWINGS LIGHT VERTICAL
0802: keysym2UCSHash.put((long) 0x8a7, (char) 0x23a1); // XK_topleftsqbracket --> LEFT SQUARE BRACKET UPPER CORNER
0803: keysym2UCSHash.put((long) 0x8a8, (char) 0x23a3); // XK_botleftsqbracket --> LEFT SQUARE BRACKET LOWER CORNER
0804: keysym2UCSHash.put((long) 0x8a9, (char) 0x23a4); // XK_toprightsqbracket --> RIGHT SQUARE BRACKET UPPER CORNER
0805: keysym2UCSHash.put((long) 0x8aa, (char) 0x23a6); // XK_botrightsqbracket --> RIGHT SQUARE BRACKET LOWER CORNER
0806: keysym2UCSHash.put((long) 0x8ab, (char) 0x239b); // XK_topleftparens --> LEFT PARENTHESIS UPPER HOOK
0807: keysym2UCSHash.put((long) 0x8ac, (char) 0x239d); // XK_botleftparens --> LEFT PARENTHESIS LOWER HOOK
0808: keysym2UCSHash.put((long) 0x8ad, (char) 0x239e); // XK_toprightparens --> RIGHT PARENTHESIS UPPER HOOK
0809: keysym2UCSHash.put((long) 0x8ae, (char) 0x23a0); // XK_botrightparens --> RIGHT PARENTHESIS LOWER HOOK
0810: keysym2UCSHash.put((long) 0x8af, (char) 0x23a8); // XK_leftmiddlecurlybrace --> LEFT CURLY BRACKET MIDDLE PIECE
0811: keysym2UCSHash.put((long) 0x8b0, (char) 0x23ac); // XK_rightmiddlecurlybrace --> RIGHT CURLY BRACKET MIDDLE PIECE
0812: keysym2UCSHash.put((long) 0x8bc, (char) 0x2264); // XK_lessthanequal --> LESS-THAN OR EQUAL TO
0813: keysym2UCSHash.put((long) 0x8bd, (char) 0x2260); // XK_notequal --> NOT EQUAL TO
0814: keysym2UCSHash.put((long) 0x8be, (char) 0x2265); // XK_greaterthanequal --> GREATER-THAN OR EQUAL TO
0815: keysym2UCSHash.put((long) 0x8bf, (char) 0x222b); // XK_integral --> INTEGRAL
0816: keysym2UCSHash.put((long) 0x8c0, (char) 0x2234); // XK_therefore --> THEREFORE
0817: keysym2UCSHash.put((long) 0x8c1, (char) 0x221d); // XK_variation --> PROPORTIONAL TO
0818: keysym2UCSHash.put((long) 0x8c2, (char) 0x221e); // XK_infinity --> INFINITY
0819: keysym2UCSHash.put((long) 0x8c5, (char) 0x2207); // XK_nabla --> NABLA
0820: keysym2UCSHash.put((long) 0x8c8, (char) 0x223c); // XK_approximate --> TILDE OPERATOR
0821: keysym2UCSHash.put((long) 0x8c9, (char) 0x2243); // XK_similarequal --> ASYMPTOTICALLY EQUAL TO
0822: keysym2UCSHash.put((long) 0x8cd, (char) 0x2104); // XK_ifonlyif --> CENTRE LINE SYMBOL
0823: keysym2UCSHash.put((long) 0x8ce, (char) 0x21d2); // XK_implies --> RIGHTWARDS DOUBLE ARROW
0824: keysym2UCSHash.put((long) 0x8cf, (char) 0x2261); // XK_identical --> IDENTICAL TO
0825: keysym2UCSHash.put((long) 0x8d6, (char) 0x221a); // XK_radical --> SQUARE ROOT
0826: keysym2UCSHash.put((long) 0x8da, (char) 0x2282); // XK_includedin --> SUBSET OF
0827: keysym2UCSHash.put((long) 0x8db, (char) 0x2283); // XK_includes --> SUPERSET OF
0828: keysym2UCSHash.put((long) 0x8dc, (char) 0x2229); // XK_intersection --> INTERSECTION
0829: keysym2UCSHash.put((long) 0x8dd, (char) 0x222a); // XK_union --> UNION
0830: keysym2UCSHash.put((long) 0x8de, (char) 0x2227); // XK_logicaland --> LOGICAL AND
0831: keysym2UCSHash.put((long) 0x8df, (char) 0x2228); // XK_logicalor --> LOGICAL OR
0832: keysym2UCSHash.put((long) 0x8ef, (char) 0x2202); // XK_partialderivative --> PARTIAL DIFFERENTIAL
0833: keysym2UCSHash.put((long) 0x8f6, (char) 0x0192); // XK_function --> LATIN SMALL LETTER F WITH HOOK
0834: keysym2UCSHash.put((long) 0x8fb, (char) 0x2190); // XK_leftarrow --> LEFTWARDS ARROW
0835: keysym2UCSHash.put((long) 0x8fc, (char) 0x2191); // XK_uparrow --> UPWARDS ARROW
0836: keysym2UCSHash.put((long) 0x8fd, (char) 0x2192); // XK_rightarrow --> RIGHTWARDS ARROW
0837: keysym2UCSHash.put((long) 0x8fe, (char) 0x2193); // XK_downarrow --> DOWNWARDS ARROW
0838: keysym2UCSHash.put((long) 0x9e0, (char) 0x25c6); // XK_soliddiamond --> BLACK DIAMOND
0839: keysym2UCSHash.put((long) 0x9e1, (char) 0x2592); // XK_checkerboard --> MEDIUM SHADE
0840: keysym2UCSHash.put((long) 0x9e2, (char) 0x2409); // XK_ht --> SYMBOL FOR HORIZONTAL TABULATION
0841: keysym2UCSHash.put((long) 0x9e3, (char) 0x240c); // XK_ff --> SYMBOL FOR FORM FEED
0842: keysym2UCSHash.put((long) 0x9e4, (char) 0x240d); // XK_cr --> SYMBOL FOR CARRIAGE RETURN
0843: keysym2UCSHash.put((long) 0x9e5, (char) 0x240a); // XK_lf --> SYMBOL FOR LINE FEED
0844: keysym2UCSHash.put((long) 0x9e8, (char) 0x2424); // XK_nl --> SYMBOL FOR NEWLINE
0845: keysym2UCSHash.put((long) 0x9e9, (char) 0x240b); // XK_vt --> SYMBOL FOR VERTICAL TABULATION
0846: keysym2UCSHash.put((long) 0x9ea, (char) 0x2518); // XK_lowrightcorner --> BOX DRAWINGS LIGHT UP AND LEFT
0847: keysym2UCSHash.put((long) 0x9eb, (char) 0x2510); // XK_uprightcorner --> BOX DRAWINGS LIGHT DOWN AND LEFT
0848: keysym2UCSHash.put((long) 0x9ec, (char) 0x250c); // XK_upleftcorner --> BOX DRAWINGS LIGHT DOWN AND RIGHT
0849: keysym2UCSHash.put((long) 0x9ed, (char) 0x2514); // XK_lowleftcorner --> BOX DRAWINGS LIGHT UP AND RIGHT
0850: keysym2UCSHash.put((long) 0x9ee, (char) 0x253c); // XK_crossinglines --> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
0851: keysym2UCSHash.put((long) 0x9ef, (char) 0x23ba); // XK_horizlinescan1 --> HORIZONTAL SCAN LINE-1
0852: keysym2UCSHash.put((long) 0x9f0, (char) 0x23bb); // XK_horizlinescan3 --> HORIZONTAL SCAN LINE-3
0853: keysym2UCSHash.put((long) 0x9f1, (char) 0x2500); // XK_horizlinescan5 --> BOX DRAWINGS LIGHT HORIZONTAL
0854: keysym2UCSHash.put((long) 0x9f2, (char) 0x23bc); // XK_horizlinescan7 --> HORIZONTAL SCAN LINE-7
0855: keysym2UCSHash.put((long) 0x9f3, (char) 0x23bd); // XK_horizlinescan9 --> HORIZONTAL SCAN LINE-9
0856: keysym2UCSHash.put((long) 0x9f4, (char) 0x251c); // XK_leftt --> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
0857: keysym2UCSHash.put((long) 0x9f5, (char) 0x2524); // XK_rightt --> BOX DRAWINGS LIGHT VERTICAL AND LEFT
0858: keysym2UCSHash.put((long) 0x9f6, (char) 0x2534); // XK_bott --> BOX DRAWINGS LIGHT UP AND HORIZONTAL
0859: keysym2UCSHash.put((long) 0x9f7, (char) 0x242c); // XK_topt -->
0860: keysym2UCSHash.put((long) 0x9f8, (char) 0x2502); // XK_vertbar --> BOX DRAWINGS LIGHT VERTICAL
0861: keysym2UCSHash.put((long) 0xaa1, (char) 0x2003); // XK_emspace --> EM SPACE
0862: keysym2UCSHash.put((long) 0xaa2, (char) 0x2002); // XK_enspace --> EN SPACE
0863: keysym2UCSHash.put((long) 0xaa3, (char) 0x2004); // XK_em3space --> THREE-PER-EM SPACE
0864: keysym2UCSHash.put((long) 0xaa4, (char) 0x2005); // XK_em4space --> FOUR-PER-EM SPACE
0865: keysym2UCSHash.put((long) 0xaa5, (char) 0x2007); // XK_digitspace --> FIGURE SPACE
0866: keysym2UCSHash.put((long) 0xaa6, (char) 0x2008); // XK_punctspace --> PUNCTUATION SPACE
0867: keysym2UCSHash.put((long) 0xaa7, (char) 0x2009); // XK_thinspace --> THIN SPACE
0868: keysym2UCSHash.put((long) 0xaa8, (char) 0x200a); // XK_hairspace --> HAIR SPACE
0869: keysym2UCSHash.put((long) 0xaa9, (char) 0x2014); // XK_emdash --> EM DASH
0870: keysym2UCSHash.put((long) 0xaaa, (char) 0x2013); // XK_endash --> EN DASH
0871: keysym2UCSHash.put((long) 0xaac, (char) 0x2423); // XK_signifblank --> OPEN BOX
0872: keysym2UCSHash.put((long) 0xaae, (char) 0x2026); // XK_ellipsis --> HORIZONTAL ELLIPSIS
0873: keysym2UCSHash.put((long) 0xaaf, (char) 0x2025); // XK_doubbaselinedot --> TWO DOT LEADER
0874: keysym2UCSHash.put((long) 0xab0, (char) 0x2153); // XK_onethird --> VULGAR FRACTION ONE THIRD
0875: keysym2UCSHash.put((long) 0xab1, (char) 0x2154); // XK_twothirds --> VULGAR FRACTION TWO THIRDS
0876: keysym2UCSHash.put((long) 0xab2, (char) 0x2155); // XK_onefifth --> VULGAR FRACTION ONE FIFTH
0877: keysym2UCSHash.put((long) 0xab3, (char) 0x2156); // XK_twofifths --> VULGAR FRACTION TWO FIFTHS
0878: keysym2UCSHash.put((long) 0xab4, (char) 0x2157); // XK_threefifths --> VULGAR FRACTION THREE FIFTHS
0879: keysym2UCSHash.put((long) 0xab5, (char) 0x2158); // XK_fourfifths --> VULGAR FRACTION FOUR FIFTHS
0880: keysym2UCSHash.put((long) 0xab6, (char) 0x2159); // XK_onesixth --> VULGAR FRACTION ONE SIXTH
0881: keysym2UCSHash.put((long) 0xab7, (char) 0x215a); // XK_fivesixths --> VULGAR FRACTION FIVE SIXTHS
0882: keysym2UCSHash.put((long) 0xab8, (char) 0x2105); // XK_careof --> CARE OF
0883: keysym2UCSHash.put((long) 0xabb, (char) 0x2012); // XK_figdash --> FIGURE DASH
0884: keysym2UCSHash.put((long) 0xabc, (char) 0x27e8); // XK_leftanglebracket --> MATHEMATICAL LEFT ANGLE BRACKET
0885: keysym2UCSHash.put((long) 0xabd, (char) 0x002e); // XK_decimalpoint --> FULL STOP
0886: keysym2UCSHash.put((long) 0xabe, (char) 0x27e9); // XK_rightanglebracket --> MATHEMATICAL RIGHT ANGLE BRACKET
0887: keysym2UCSHash.put((long) 0xac3, (char) 0x215b); // XK_oneeighth --> VULGAR FRACTION ONE EIGHTH
0888: keysym2UCSHash.put((long) 0xac4, (char) 0x215c); // XK_threeeighths --> VULGAR FRACTION THREE EIGHTHS
0889: keysym2UCSHash.put((long) 0xac5, (char) 0x215d); // XK_fiveeighths --> VULGAR FRACTION FIVE EIGHTHS
0890: keysym2UCSHash.put((long) 0xac6, (char) 0x215e); // XK_seveneighths --> VULGAR FRACTION SEVEN EIGHTHS
0891: keysym2UCSHash.put((long) 0xac9, (char) 0x2122); // XK_trademark --> TRADE MARK SIGN
0892: keysym2UCSHash.put((long) 0xaca, (char) 0x2613); // XK_signaturemark --> SALTIRE
0893: keysym2UCSHash.put((long) 0xacc, (char) 0x25c1); // XK_leftopentriangle --> WHITE LEFT-POINTING TRIANGLE
0894: keysym2UCSHash.put((long) 0xacd, (char) 0x25b7); // XK_rightopentriangle --> WHITE RIGHT-POINTING TRIANGLE
0895: keysym2UCSHash.put((long) 0xace, (char) 0x25cb); // XK_emopencircle --> WHITE CIRCLE
0896: keysym2UCSHash.put((long) 0xacf, (char) 0x25af); // XK_emopenrectangle --> WHITE VERTICAL RECTANGLE
0897: keysym2UCSHash.put((long) 0xad0, (char) 0x2018); // XK_leftsinglequotemark --> LEFT SINGLE QUOTATION MARK
0898: keysym2UCSHash.put((long) 0xad1, (char) 0x2019); // XK_rightsinglequotemark --> RIGHT SINGLE QUOTATION MARK
0899: keysym2UCSHash.put((long) 0xad2, (char) 0x201c); // XK_leftdoublequotemark --> LEFT DOUBLE QUOTATION MARK
0900: keysym2UCSHash.put((long) 0xad3, (char) 0x201d); // XK_rightdoublequotemark --> RIGHT DOUBLE QUOTATION MARK
0901: keysym2UCSHash.put((long) 0xad4, (char) 0x211e); // XK_prescription --> PRESCRIPTION TAKE
0902: keysym2UCSHash.put((long) 0xad6, (char) 0x2032); // XK_minutes --> PRIME
0903: keysym2UCSHash.put((long) 0xad7, (char) 0x2033); // XK_seconds --> DOUBLE PRIME
0904: keysym2UCSHash.put((long) 0xad9, (char) 0x271d); // XK_latincross --> LATIN CROSS
0905: keysym2UCSHash.put((long) 0xadb, (char) 0x25ac); // XK_filledrectbullet --> BLACK RECTANGLE
0906: keysym2UCSHash.put((long) 0xadc, (char) 0x25c0); // XK_filledlefttribullet --> BLACK LEFT-POINTING TRIANGLE
0907: keysym2UCSHash.put((long) 0xadd, (char) 0x25b6); // XK_filledrighttribullet --> BLACK RIGHT-POINTING TRIANGLE
0908: keysym2UCSHash.put((long) 0xade, (char) 0x25cf); // XK_emfilledcircle --> BLACK CIRCLE
0909: keysym2UCSHash.put((long) 0xadf, (char) 0x25ae); // XK_emfilledrect --> BLACK VERTICAL RECTANGLE
0910: keysym2UCSHash.put((long) 0xae0, (char) 0x25e6); // XK_enopencircbullet --> WHITE BULLET
0911: keysym2UCSHash.put((long) 0xae1, (char) 0x25ab); // XK_enopensquarebullet --> WHITE SMALL SQUARE
0912: keysym2UCSHash.put((long) 0xae2, (char) 0x25ad); // XK_openrectbullet --> WHITE RECTANGLE
0913: keysym2UCSHash.put((long) 0xae3, (char) 0x25b3); // XK_opentribulletup --> WHITE UP-POINTING TRIANGLE
0914: keysym2UCSHash.put((long) 0xae4, (char) 0x25bd); // XK_opentribulletdown --> WHITE DOWN-POINTING TRIANGLE
0915: keysym2UCSHash.put((long) 0xae5, (char) 0x2606); // XK_openstar --> WHITE STAR
0916: keysym2UCSHash.put((long) 0xae6, (char) 0x2022); // XK_enfilledcircbullet --> BULLET
0917: keysym2UCSHash.put((long) 0xae7, (char) 0x25aa); // XK_enfilledsqbullet --> BLACK SMALL SQUARE
0918: keysym2UCSHash.put((long) 0xae8, (char) 0x25b2); // XK_filledtribulletup --> BLACK UP-POINTING TRIANGLE
0919: keysym2UCSHash.put((long) 0xae9, (char) 0x25bc); // XK_filledtribulletdown --> BLACK DOWN-POINTING TRIANGLE
0920: keysym2UCSHash.put((long) 0xaea, (char) 0x261c); // XK_leftpointer --> WHITE LEFT POINTING INDEX
0921: keysym2UCSHash.put((long) 0xaeb, (char) 0x261e); // XK_rightpointer --> WHITE RIGHT POINTING INDEX
0922: keysym2UCSHash.put((long) 0xaec, (char) 0x2663); // XK_club --> BLACK CLUB SUIT
0923: keysym2UCSHash.put((long) 0xaed, (char) 0x2666); // XK_diamond --> BLACK DIAMOND SUIT
0924: keysym2UCSHash.put((long) 0xaee, (char) 0x2665); // XK_heart --> BLACK HEART SUIT
0925: keysym2UCSHash.put((long) 0xaf0, (char) 0x2720); // XK_maltesecross --> MALTESE CROSS
0926: keysym2UCSHash.put((long) 0xaf1, (char) 0x2020); // XK_dagger --> DAGGER
0927: keysym2UCSHash.put((long) 0xaf2, (char) 0x2021); // XK_doubledagger --> DOUBLE DAGGER
0928: keysym2UCSHash.put((long) 0xaf3, (char) 0x2713); // XK_checkmark --> CHECK MARK
0929: keysym2UCSHash.put((long) 0xaf4, (char) 0x2717); // XK_ballotcross --> BALLOT X
0930: keysym2UCSHash.put((long) 0xaf5, (char) 0x266f); // XK_musicalsharp --> MUSIC SHARP SIGN
0931: keysym2UCSHash.put((long) 0xaf6, (char) 0x266d); // XK_musicalflat --> MUSIC FLAT SIGN
0932: keysym2UCSHash.put((long) 0xaf7, (char) 0x2642); // XK_malesymbol --> MALE SIGN
0933: keysym2UCSHash.put((long) 0xaf8, (char) 0x2640); // XK_femalesymbol --> FEMALE SIGN
0934: keysym2UCSHash.put((long) 0xaf9, (char) 0x260e); // XK_telephone --> BLACK TELEPHONE
0935: keysym2UCSHash.put((long) 0xafa, (char) 0x2315); // XK_telephonerecorder --> TELEPHONE RECORDER
0936: keysym2UCSHash.put((long) 0xafb, (char) 0x2117); // XK_phonographcopyright --> SOUND RECORDING COPYRIGHT
0937: keysym2UCSHash.put((long) 0xafc, (char) 0x2038); // XK_caret --> CARET
0938: keysym2UCSHash.put((long) 0xafd, (char) 0x201a); // XK_singlelowquotemark --> SINGLE LOW-9 QUOTATION MARK
0939: keysym2UCSHash.put((long) 0xafe, (char) 0x201e); // XK_doublelowquotemark --> DOUBLE LOW-9 QUOTATION MARK
0940: keysym2UCSHash.put((long) 0xba3, (char) 0x003c); // XK_leftcaret --> LESS-THAN SIGN
0941: keysym2UCSHash.put((long) 0xba6, (char) 0x003e); // XK_rightcaret --> GREATER-THAN SIGN
0942: keysym2UCSHash.put((long) 0xba8, (char) 0x2228); // XK_downcaret --> LOGICAL OR
0943: keysym2UCSHash.put((long) 0xba9, (char) 0x2227); // XK_upcaret --> LOGICAL AND
0944: keysym2UCSHash.put((long) 0xbc0, (char) 0x00af); // XK_overbar --> MACRON
0945: keysym2UCSHash.put((long) 0xbc2, (char) 0x22a5); // XK_downtack --> UP TACK
0946: keysym2UCSHash.put((long) 0xbc3, (char) 0x2229); // XK_upshoe --> INTERSECTION
0947: keysym2UCSHash.put((long) 0xbc4, (char) 0x230a); // XK_downstile --> LEFT FLOOR
0948: keysym2UCSHash.put((long) 0xbc6, (char) 0x005f); // XK_underbar --> LOW LINE
0949: keysym2UCSHash.put((long) 0xbca, (char) 0x2218); // XK_jot --> RING OPERATOR
0950: keysym2UCSHash.put((long) 0xbcc, (char) 0x2395); // XK_quad --> APL FUNCTIONAL SYMBOL QUAD
0951: keysym2UCSHash.put((long) 0xbce, (char) 0x22a4); // XK_uptack --> DOWN TACK
0952: keysym2UCSHash.put((long) 0xbcf, (char) 0x25cb); // XK_circle --> WHITE CIRCLE
0953: keysym2UCSHash.put((long) 0xbd3, (char) 0x2308); // XK_upstile --> LEFT CEILING
0954: keysym2UCSHash.put((long) 0xbd6, (char) 0x222a); // XK_downshoe --> UNION
0955: keysym2UCSHash.put((long) 0xbd8, (char) 0x2283); // XK_rightshoe --> SUPERSET OF
0956: keysym2UCSHash.put((long) 0xbda, (char) 0x2282); // XK_leftshoe --> SUBSET OF
0957: keysym2UCSHash.put((long) 0xbdc, (char) 0x22a2); // XK_lefttack --> RIGHT TACK
0958: keysym2UCSHash.put((long) 0xbfc, (char) 0x22a3); // XK_righttack --> LEFT TACK
0959: keysym2UCSHash.put((long) 0xcdf, (char) 0x2017); // XK_hebrew_doublelowline --> DOUBLE LOW LINE
0960: keysym2UCSHash.put((long) 0xce0, (char) 0x05d0); // XK_hebrew_aleph --> HEBREW LETTER ALEF
0961: keysym2UCSHash.put((long) 0xce1, (char) 0x05d1); // XK_hebrew_bet --> HEBREW LETTER BET
0962: keysym2UCSHash.put((long) 0xce2, (char) 0x05d2); // XK_hebrew_gimel --> HEBREW LETTER GIMEL
0963: keysym2UCSHash.put((long) 0xce3, (char) 0x05d3); // XK_hebrew_dalet --> HEBREW LETTER DALET
0964: keysym2UCSHash.put((long) 0xce4, (char) 0x05d4); // XK_hebrew_he --> HEBREW LETTER HE
0965: keysym2UCSHash.put((long) 0xce5, (char) 0x05d5); // XK_hebrew_waw --> HEBREW LETTER VAV
0966: keysym2UCSHash.put((long) 0xce6, (char) 0x05d6); // XK_hebrew_zain --> HEBREW LETTER ZAYIN
0967: keysym2UCSHash.put((long) 0xce7, (char) 0x05d7); // XK_hebrew_chet --> HEBREW LETTER HET
0968: keysym2UCSHash.put((long) 0xce8, (char) 0x05d8); // XK_hebrew_tet --> HEBREW LETTER TET
0969: keysym2UCSHash.put((long) 0xce9, (char) 0x05d9); // XK_hebrew_yod --> HEBREW LETTER YOD
0970: keysym2UCSHash.put((long) 0xcea, (char) 0x05da); // XK_hebrew_finalkaph --> HEBREW LETTER FINAL KAF
0971: keysym2UCSHash.put((long) 0xceb, (char) 0x05db); // XK_hebrew_kaph --> HEBREW LETTER KAF
0972: keysym2UCSHash.put((long) 0xcec, (char) 0x05dc); // XK_hebrew_lamed --> HEBREW LETTER LAMED
0973: keysym2UCSHash.put((long) 0xced, (char) 0x05dd); // XK_hebrew_finalmem --> HEBREW LETTER FINAL MEM
0974: keysym2UCSHash.put((long) 0xcee, (char) 0x05de); // XK_hebrew_mem --> HEBREW LETTER MEM
0975: keysym2UCSHash.put((long) 0xcef, (char) 0x05df); // XK_hebrew_finalnun --> HEBREW LETTER FINAL NUN
0976: keysym2UCSHash.put((long) 0xcf0, (char) 0x05e0); // XK_hebrew_nun --> HEBREW LETTER NUN
0977: keysym2UCSHash.put((long) 0xcf1, (char) 0x05e1); // XK_hebrew_samech --> HEBREW LETTER SAMEKH
0978: keysym2UCSHash.put((long) 0xcf2, (char) 0x05e2); // XK_hebrew_ayin --> HEBREW LETTER AYIN
0979: keysym2UCSHash.put((long) 0xcf3, (char) 0x05e3); // XK_hebrew_finalpe --> HEBREW LETTER FINAL PE
0980: keysym2UCSHash.put((long) 0xcf4, (char) 0x05e4); // XK_hebrew_pe --> HEBREW LETTER PE
0981: keysym2UCSHash.put((long) 0xcf5, (char) 0x05e5); // XK_hebrew_finalzade --> HEBREW LETTER FINAL TSADI
0982: keysym2UCSHash.put((long) 0xcf6, (char) 0x05e6); // XK_hebrew_zade --> HEBREW LETTER TSADI
0983: keysym2UCSHash.put((long) 0xcf7, (char) 0x05e7); // XK_hebrew_qoph --> HEBREW LETTER QOF
0984: keysym2UCSHash.put((long) 0xcf8, (char) 0x05e8); // XK_hebrew_resh --> HEBREW LETTER RESH
0985: keysym2UCSHash.put((long) 0xcf9, (char) 0x05e9); // XK_hebrew_shin --> HEBREW LETTER SHIN
0986: keysym2UCSHash.put((long) 0xcfa, (char) 0x05ea); // XK_hebrew_taw --> HEBREW LETTER TAV
0987: keysym2UCSHash.put((long) 0xda1, (char) 0x0e01); // XK_Thai_kokai --> THAI CHARACTER KO KAI
0988: keysym2UCSHash.put((long) 0xda2, (char) 0x0e02); // XK_Thai_khokhai --> THAI CHARACTER KHO KHAI
0989: keysym2UCSHash.put((long) 0xda3, (char) 0x0e03); // XK_Thai_khokhuat --> THAI CHARACTER KHO KHUAT
0990: keysym2UCSHash.put((long) 0xda4, (char) 0x0e04); // XK_Thai_khokhwai --> THAI CHARACTER KHO KHWAI
0991: keysym2UCSHash.put((long) 0xda5, (char) 0x0e05); // XK_Thai_khokhon --> THAI CHARACTER KHO KHON
0992: keysym2UCSHash.put((long) 0xda6, (char) 0x0e06); // XK_Thai_khorakhang --> THAI CHARACTER KHO RAKHANG
0993: keysym2UCSHash.put((long) 0xda7, (char) 0x0e07); // XK_Thai_ngongu --> THAI CHARACTER NGO NGU
0994: keysym2UCSHash.put((long) 0xda8, (char) 0x0e08); // XK_Thai_chochan --> THAI CHARACTER CHO CHAN
0995: keysym2UCSHash.put((long) 0xda9, (char) 0x0e09); // XK_Thai_choching --> THAI CHARACTER CHO CHING
0996: keysym2UCSHash.put((long) 0xdaa, (char) 0x0e0a); // XK_Thai_chochang --> THAI CHARACTER CHO CHANG
0997: keysym2UCSHash.put((long) 0xdab, (char) 0x0e0b); // XK_Thai_soso --> THAI CHARACTER SO SO
0998: keysym2UCSHash.put((long) 0xdac, (char) 0x0e0c); // XK_Thai_chochoe --> THAI CHARACTER CHO CHOE
0999: keysym2UCSHash.put((long) 0xdad, (char) 0x0e0d); // XK_Thai_yoying --> THAI CHARACTER YO YING
1000: keysym2UCSHash.put((long) 0xdae, (char) 0x0e0e); // XK_Thai_dochada --> THAI CHARACTER DO CHADA
1001: keysym2UCSHash.put((long) 0xdaf, (char) 0x0e0f); // XK_Thai_topatak --> THAI CHARACTER TO PATAK
1002: keysym2UCSHash.put((long) 0xdb0, (char) 0x0e10); // XK_Thai_thothan --> THAI CHARACTER THO THAN
1003: keysym2UCSHash.put((long) 0xdb1, (char) 0x0e11); // XK_Thai_thonangmontho --> THAI CHARACTER THO NANGMONTHO
1004: keysym2UCSHash.put((long) 0xdb2, (char) 0x0e12); // XK_Thai_thophuthao --> THAI CHARACTER THO PHUTHAO
1005: keysym2UCSHash.put((long) 0xdb3, (char) 0x0e13); // XK_Thai_nonen --> THAI CHARACTER NO NEN
1006: keysym2UCSHash.put((long) 0xdb4, (char) 0x0e14); // XK_Thai_dodek --> THAI CHARACTER DO DEK
1007: keysym2UCSHash.put((long) 0xdb5, (char) 0x0e15); // XK_Thai_totao --> THAI CHARACTER TO TAO
1008: keysym2UCSHash.put((long) 0xdb6, (char) 0x0e16); // XK_Thai_thothung --> THAI CHARACTER THO THUNG
1009: keysym2UCSHash.put((long) 0xdb7, (char) 0x0e17); // XK_Thai_thothahan --> THAI CHARACTER THO THAHAN
1010: keysym2UCSHash.put((long) 0xdb8, (char) 0x0e18); // XK_Thai_thothong --> THAI CHARACTER THO THONG
1011: keysym2UCSHash.put((long) 0xdb9, (char) 0x0e19); // XK_Thai_nonu --> THAI CHARACTER NO NU
1012: keysym2UCSHash.put((long) 0xdba, (char) 0x0e1a); // XK_Thai_bobaimai --> THAI CHARACTER BO BAIMAI
1013: keysym2UCSHash.put((long) 0xdbb, (char) 0x0e1b); // XK_Thai_popla --> THAI CHARACTER PO PLA
1014: keysym2UCSHash.put((long) 0xdbc, (char) 0x0e1c); // XK_Thai_phophung --> THAI CHARACTER PHO PHUNG
1015: keysym2UCSHash.put((long) 0xdbd, (char) 0x0e1d); // XK_Thai_fofa --> THAI CHARACTER FO FA
1016: keysym2UCSHash.put((long) 0xdbe, (char) 0x0e1e); // XK_Thai_phophan --> THAI CHARACTER PHO PHAN
1017: keysym2UCSHash.put((long) 0xdbf, (char) 0x0e1f); // XK_Thai_fofan --> THAI CHARACTER FO FAN
1018: keysym2UCSHash.put((long) 0xdc0, (char) 0x0e20); // XK_Thai_phosamphao --> THAI CHARACTER PHO SAMPHAO
1019: keysym2UCSHash.put((long) 0xdc1, (char) 0x0e21); // XK_Thai_moma --> THAI CHARACTER MO MA
1020: keysym2UCSHash.put((long) 0xdc2, (char) 0x0e22); // XK_Thai_yoyak --> THAI CHARACTER YO YAK
1021: keysym2UCSHash.put((long) 0xdc3, (char) 0x0e23); // XK_Thai_rorua --> THAI CHARACTER RO RUA
1022: keysym2UCSHash.put((long) 0xdc4, (char) 0x0e24); // XK_Thai_ru --> THAI CHARACTER RU
1023: keysym2UCSHash.put((long) 0xdc5, (char) 0x0e25); // XK_Thai_loling --> THAI CHARACTER LO LING
1024: keysym2UCSHash.put((long) 0xdc6, (char) 0x0e26); // XK_Thai_lu --> THAI CHARACTER LU
1025: keysym2UCSHash.put((long) 0xdc7, (char) 0x0e27); // XK_Thai_wowaen --> THAI CHARACTER WO WAEN
1026: keysym2UCSHash.put((long) 0xdc8, (char) 0x0e28); // XK_Thai_sosala --> THAI CHARACTER SO SALA
1027: keysym2UCSHash.put((long) 0xdc9, (char) 0x0e29); // XK_Thai_sorusi --> THAI CHARACTER SO RUSI
1028: keysym2UCSHash.put((long) 0xdca, (char) 0x0e2a); // XK_Thai_sosua --> THAI CHARACTER SO SUA
1029: keysym2UCSHash.put((long) 0xdcb, (char) 0x0e2b); // XK_Thai_hohip --> THAI CHARACTER HO HIP
1030: keysym2UCSHash.put((long) 0xdcc, (char) 0x0e2c); // XK_Thai_lochula --> THAI CHARACTER LO CHULA
1031: keysym2UCSHash.put((long) 0xdcd, (char) 0x0e2d); // XK_Thai_oang --> THAI CHARACTER O ANG
1032: keysym2UCSHash.put((long) 0xdce, (char) 0x0e2e); // XK_Thai_honokhuk --> THAI CHARACTER HO NOKHUK
1033: keysym2UCSHash.put((long) 0xdcf, (char) 0x0e2f); // XK_Thai_paiyannoi --> THAI CHARACTER PAIYANNOI
1034: keysym2UCSHash.put((long) 0xdd0, (char) 0x0e30); // XK_Thai_saraa --> THAI CHARACTER SARA A
1035: keysym2UCSHash.put((long) 0xdd1, (char) 0x0e31); // XK_Thai_maihanakat --> THAI CHARACTER MAI HAN-AKAT
1036: keysym2UCSHash.put((long) 0xdd2, (char) 0x0e32); // XK_Thai_saraaa --> THAI CHARACTER SARA AA
1037: keysym2UCSHash.put((long) 0xdd3, (char) 0x0e33); // XK_Thai_saraam --> THAI CHARACTER SARA AM
1038: keysym2UCSHash.put((long) 0xdd4, (char) 0x0e34); // XK_Thai_sarai --> THAI CHARACTER SARA I
1039: keysym2UCSHash.put((long) 0xdd5, (char) 0x0e35); // XK_Thai_saraii --> THAI CHARACTER SARA II
1040: keysym2UCSHash.put((long) 0xdd6, (char) 0x0e36); // XK_Thai_saraue --> THAI CHARACTER SARA UE
1041: keysym2UCSHash.put((long) 0xdd7, (char) 0x0e37); // XK_Thai_sarauee --> THAI CHARACTER SARA UEE
1042: keysym2UCSHash.put((long) 0xdd8, (char) 0x0e38); // XK_Thai_sarau --> THAI CHARACTER SARA U
1043: keysym2UCSHash.put((long) 0xdd9, (char) 0x0e39); // XK_Thai_sarauu --> THAI CHARACTER SARA UU
1044: keysym2UCSHash.put((long) 0xdda, (char) 0x0e3a); // XK_Thai_phinthu --> THAI CHARACTER PHINTHU
1045: keysym2UCSHash.put((long) 0xddf, (char) 0x0e3f); // XK_Thai_baht --> THAI CURRENCY SYMBOL BAHT
1046: keysym2UCSHash.put((long) 0xde0, (char) 0x0e40); // XK_Thai_sarae --> THAI CHARACTER SARA E
1047: keysym2UCSHash.put((long) 0xde1, (char) 0x0e41); // XK_Thai_saraae --> THAI CHARACTER SARA AE
1048: keysym2UCSHash.put((long) 0xde2, (char) 0x0e42); // XK_Thai_sarao --> THAI CHARACTER SARA O
1049: keysym2UCSHash.put((long) 0xde3, (char) 0x0e43); // XK_Thai_saraaimaimuan --> THAI CHARACTER SARA AI MAIMUAN
1050: keysym2UCSHash.put((long) 0xde4, (char) 0x0e44); // XK_Thai_saraaimaimalai --> THAI CHARACTER SARA AI MAIMALAI
1051: keysym2UCSHash.put((long) 0xde5, (char) 0x0e45); // XK_Thai_lakkhangyao --> THAI CHARACTER LAKKHANGYAO
1052: keysym2UCSHash.put((long) 0xde6, (char) 0x0e46); // XK_Thai_maiyamok --> THAI CHARACTER MAIYAMOK
1053: keysym2UCSHash.put((long) 0xde7, (char) 0x0e47); // XK_Thai_maitaikhu --> THAI CHARACTER MAITAIKHU
1054: keysym2UCSHash.put((long) 0xde8, (char) 0x0e48); // XK_Thai_maiek --> THAI CHARACTER MAI EK
1055: keysym2UCSHash.put((long) 0xde9, (char) 0x0e49); // XK_Thai_maitho --> THAI CHARACTER MAI THO
1056: keysym2UCSHash.put((long) 0xdea, (char) 0x0e4a); // XK_Thai_maitri --> THAI CHARACTER MAI TRI
1057: keysym2UCSHash.put((long) 0xdeb, (char) 0x0e4b); // XK_Thai_maichattawa --> THAI CHARACTER MAI CHATTAWA
1058: keysym2UCSHash.put((long) 0xdec, (char) 0x0e4c); // XK_Thai_thanthakhat --> THAI CHARACTER THANTHAKHAT
1059: keysym2UCSHash.put((long) 0xded, (char) 0x0e4d); // XK_Thai_nikhahit --> THAI CHARACTER NIKHAHIT
1060: keysym2UCSHash.put((long) 0xdf0, (char) 0x0e50); // XK_Thai_leksun --> THAI DIGIT ZERO
1061: keysym2UCSHash.put((long) 0xdf1, (char) 0x0e51); // XK_Thai_leknung --> THAI DIGIT ONE
1062: keysym2UCSHash.put((long) 0xdf2, (char) 0x0e52); // XK_Thai_leksong --> THAI DIGIT TWO
1063: keysym2UCSHash.put((long) 0xdf3, (char) 0x0e53); // XK_Thai_leksam --> THAI DIGIT THREE
1064: keysym2UCSHash.put((long) 0xdf4, (char) 0x0e54); // XK_Thai_leksi --> THAI DIGIT FOUR
1065: keysym2UCSHash.put((long) 0xdf5, (char) 0x0e55); // XK_Thai_lekha --> THAI DIGIT FIVE
1066: keysym2UCSHash.put((long) 0xdf6, (char) 0x0e56); // XK_Thai_lekhok --> THAI DIGIT SIX
1067: keysym2UCSHash.put((long) 0xdf7, (char) 0x0e57); // XK_Thai_lekchet --> THAI DIGIT SEVEN
1068: keysym2UCSHash.put((long) 0xdf8, (char) 0x0e58); // XK_Thai_lekpaet --> THAI DIGIT EIGHT
1069: keysym2UCSHash.put((long) 0xdf9, (char) 0x0e59); // XK_Thai_lekkao --> THAI DIGIT NINE
1070: keysym2UCSHash.put((long) 0xea1, (char) 0x3131); // XK_Hangul_Kiyeog --> HANGUL LETTER KIYEOK
1071: keysym2UCSHash.put((long) 0xea2, (char) 0x3132); // XK_Hangul_SsangKiyeog --> HANGUL LETTER SSANGKIYEOK
1072: keysym2UCSHash.put((long) 0xea3, (char) 0x3133); // XK_Hangul_KiyeogSios --> HANGUL LETTER KIYEOK-SIOS
1073: keysym2UCSHash.put((long) 0xea4, (char) 0x3134); // XK_Hangul_Nieun --> HANGUL LETTER NIEUN
1074: keysym2UCSHash.put((long) 0xea5, (char) 0x3135); // XK_Hangul_NieunJieuj --> HANGUL LETTER NIEUN-CIEUC
1075: keysym2UCSHash.put((long) 0xea6, (char) 0x3136); // XK_Hangul_NieunHieuh --> HANGUL LETTER NIEUN-HIEUH
1076: keysym2UCSHash.put((long) 0xea7, (char) 0x3137); // XK_Hangul_Dikeud --> HANGUL LETTER TIKEUT
1077: keysym2UCSHash.put((long) 0xea8, (char) 0x3138); // XK_Hangul_SsangDikeud --> HANGUL LETTER SSANGTIKEUT
1078: keysym2UCSHash.put((long) 0xea9, (char) 0x3139); // XK_Hangul_Rieul --> HANGUL LETTER RIEUL
1079: keysym2UCSHash.put((long) 0xeaa, (char) 0x313a); // XK_Hangul_RieulKiyeog --> HANGUL LETTER RIEUL-KIYEOK
1080: keysym2UCSHash.put((long) 0xeab, (char) 0x313b); // XK_Hangul_RieulMieum --> HANGUL LETTER RIEUL-MIEUM
1081: keysym2UCSHash.put((long) 0xeac, (char) 0x313c); // XK_Hangul_RieulPieub --> HANGUL LETTER RIEUL-PIEUP
1082: keysym2UCSHash.put((long) 0xead, (char) 0x313d); // XK_Hangul_RieulSios --> HANGUL LETTER RIEUL-SIOS
1083: keysym2UCSHash.put((long) 0xeae, (char) 0x313e); // XK_Hangul_RieulTieut --> HANGUL LETTER RIEUL-THIEUTH
1084: keysym2UCSHash.put((long) 0xeaf, (char) 0x313f); // XK_Hangul_RieulPhieuf --> HANGUL LETTER RIEUL-PHIEUPH
1085: keysym2UCSHash.put((long) 0xeb0, (char) 0x3140); // XK_Hangul_RieulHieuh --> HANGUL LETTER RIEUL-HIEUH
1086: keysym2UCSHash.put((long) 0xeb1, (char) 0x3141); // XK_Hangul_Mieum --> HANGUL LETTER MIEUM
1087: keysym2UCSHash.put((long) 0xeb2, (char) 0x3142); // XK_Hangul_Pieub --> HANGUL LETTER PIEUP
1088: keysym2UCSHash.put((long) 0xeb3, (char) 0x3143); // XK_Hangul_SsangPieub --> HANGUL LETTER SSANGPIEUP
1089: keysym2UCSHash.put((long) 0xeb4, (char) 0x3144); // XK_Hangul_PieubSios --> HANGUL LETTER PIEUP-SIOS
1090: keysym2UCSHash.put((long) 0xeb5, (char) 0x3145); // XK_Hangul_Sios --> HANGUL LETTER SIOS
1091: keysym2UCSHash.put((long) 0xeb6, (char) 0x3146); // XK_Hangul_SsangSios --> HANGUL LETTER SSANGSIOS
1092: keysym2UCSHash.put((long) 0xeb7, (char) 0x3147); // XK_Hangul_Ieung --> HANGUL LETTER IEUNG
1093: keysym2UCSHash.put((long) 0xeb8, (char) 0x3148); // XK_Hangul_Jieuj --> HANGUL LETTER CIEUC
1094: keysym2UCSHash.put((long) 0xeb9, (char) 0x3149); // XK_Hangul_SsangJieuj --> HANGUL LETTER SSANGCIEUC
1095: keysym2UCSHash.put((long) 0xeba, (char) 0x314a); // XK_Hangul_Cieuc --> HANGUL LETTER CHIEUCH
1096: keysym2UCSHash.put((long) 0xebb, (char) 0x314b); // XK_Hangul_Khieuq --> HANGUL LETTER KHIEUKH
1097: keysym2UCSHash.put((long) 0xebc, (char) 0x314c); // XK_Hangul_Tieut --> HANGUL LETTER THIEUTH
1098: keysym2UCSHash.put((long) 0xebd, (char) 0x314d); // XK_Hangul_Phieuf --> HANGUL LETTER PHIEUPH
1099: keysym2UCSHash.put((long) 0xebe, (char) 0x314e); // XK_Hangul_Hieuh --> HANGUL LETTER HIEUH
1100: keysym2UCSHash.put((long) 0xebf, (char) 0x314f); // XK_Hangul_A --> HANGUL LETTER A
1101: keysym2UCSHash.put((long) 0xec0, (char) 0x3150); // XK_Hangul_AE --> HANGUL LETTER AE
1102: keysym2UCSHash.put((long) 0xec1, (char) 0x3151); // XK_Hangul_YA --> HANGUL LETTER YA
1103: keysym2UCSHash.put((long) 0xec2, (char) 0x3152); // XK_Hangul_YAE --> HANGUL LETTER YAE
1104: keysym2UCSHash.put((long) 0xec3, (char) 0x3153); // XK_Hangul_EO --> HANGUL LETTER EO
1105: keysym2UCSHash.put((long) 0xec4, (char) 0x3154); // XK_Hangul_E --> HANGUL LETTER E
1106: keysym2UCSHash.put((long) 0xec5, (char) 0x3155); // XK_Hangul_YEO --> HANGUL LETTER YEO
1107: keysym2UCSHash.put((long) 0xec6, (char) 0x3156); // XK_Hangul_YE --> HANGUL LETTER YE
1108: keysym2UCSHash.put((long) 0xec7, (char) 0x3157); // XK_Hangul_O --> HANGUL LETTER O
1109: keysym2UCSHash.put((long) 0xec8, (char) 0x3158); // XK_Hangul_WA --> HANGUL LETTER WA
1110: keysym2UCSHash.put((long) 0xec9, (char) 0x3159); // XK_Hangul_WAE --> HANGUL LETTER WAE
1111: keysym2UCSHash.put((long) 0xeca, (char) 0x315a); // XK_Hangul_OE --> HANGUL LETTER OE
1112: keysym2UCSHash.put((long) 0xecb, (char) 0x315b); // XK_Hangul_YO --> HANGUL LETTER YO
1113: keysym2UCSHash.put((long) 0xecc, (char) 0x315c); // XK_Hangul_U --> HANGUL LETTER U
1114: keysym2UCSHash.put((long) 0xecd, (char) 0x315d); // XK_Hangul_WEO --> HANGUL LETTER WEO
1115: keysym2UCSHash.put((long) 0xece, (char) 0x315e); // XK_Hangul_WE --> HANGUL LETTER WE
1116: keysym2UCSHash.put((long) 0xecf, (char) 0x315f); // XK_Hangul_WI --> HANGUL LETTER WI
1117: keysym2UCSHash.put((long) 0xed0, (char) 0x3160); // XK_Hangul_YU --> HANGUL LETTER YU
1118: keysym2UCSHash.put((long) 0xed1, (char) 0x3161); // XK_Hangul_EU --> HANGUL LETTER EU
1119: keysym2UCSHash.put((long) 0xed2, (char) 0x3162); // XK_Hangul_YI --> HANGUL LETTER YI
1120: keysym2UCSHash.put((long) 0xed3, (char) 0x3163); // XK_Hangul_I --> HANGUL LETTER I
1121: keysym2UCSHash.put((long) 0xed4, (char) 0x11a8); // XK_Hangul_J_Kiyeog --> HANGUL JONGSEONG KIYEOK
1122: keysym2UCSHash.put((long) 0xed5, (char) 0x11a9); // XK_Hangul_J_SsangKiyeog --> HANGUL JONGSEONG SSANGKIYEOK
1123: keysym2UCSHash.put((long) 0xed6, (char) 0x11aa); // XK_Hangul_J_KiyeogSios --> HANGUL JONGSEONG KIYEOK-SIOS
1124: keysym2UCSHash.put((long) 0xed7, (char) 0x11ab); // XK_Hangul_J_Nieun --> HANGUL JONGSEONG NIEUN
1125: keysym2UCSHash.put((long) 0xed8, (char) 0x11ac); // XK_Hangul_J_NieunJieuj --> HANGUL JONGSEONG NIEUN-CIEUC
1126: keysym2UCSHash.put((long) 0xed9, (char) 0x11ad); // XK_Hangul_J_NieunHieuh --> HANGUL JONGSEONG NIEUN-HIEUH
1127: keysym2UCSHash.put((long) 0xeda, (char) 0x11ae); // XK_Hangul_J_Dikeud --> HANGUL JONGSEONG TIKEUT
1128: keysym2UCSHash.put((long) 0xedb, (char) 0x11af); // XK_Hangul_J_Rieul --> HANGUL JONGSEONG RIEUL
1129: keysym2UCSHash.put((long) 0xedc, (char) 0x11b0); // XK_Hangul_J_RieulKiyeog --> HANGUL JONGSEONG RIEUL-KIYEOK
1130: keysym2UCSHash.put((long) 0xedd, (char) 0x11b1); // XK_Hangul_J_RieulMieum --> HANGUL JONGSEONG RIEUL-MIEUM
1131: keysym2UCSHash.put((long) 0xede, (char) 0x11b2); // XK_Hangul_J_RieulPieub --> HANGUL JONGSEONG RIEUL-PIEUP
1132: keysym2UCSHash.put((long) 0xedf, (char) 0x11b3); // XK_Hangul_J_RieulSios --> HANGUL JONGSEONG RIEUL-SIOS
1133: keysym2UCSHash.put((long) 0xee0, (char) 0x11b4); // XK_Hangul_J_RieulTieut --> HANGUL JONGSEONG RIEUL-THIEUTH
1134: keysym2UCSHash.put((long) 0xee1, (char) 0x11b5); // XK_Hangul_J_RieulPhieuf --> HANGUL JONGSEONG RIEUL-PHIEUPH
1135: keysym2UCSHash.put((long) 0xee2, (char) 0x11b6); // XK_Hangul_J_RieulHieuh --> HANGUL JONGSEONG RIEUL-HIEUH
1136: keysym2UCSHash.put((long) 0xee3, (char) 0x11b7); // XK_Hangul_J_Mieum --> HANGUL JONGSEONG MIEUM
1137: keysym2UCSHash.put((long) 0xee4, (char) 0x11b8); // XK_Hangul_J_Pieub --> HANGUL JONGSEONG PIEUP
1138: keysym2UCSHash.put((long) 0xee5, (char) 0x11b9); // XK_Hangul_J_PieubSios --> HANGUL JONGSEONG PIEUP-SIOS
1139: keysym2UCSHash.put((long) 0xee6, (char) 0x11ba); // XK_Hangul_J_Sios --> HANGUL JONGSEONG SIOS
1140: keysym2UCSHash.put((long) 0xee7, (char) 0x11bb); // XK_Hangul_J_SsangSios --> HANGUL JONGSEONG SSANGSIOS
1141: keysym2UCSHash.put((long) 0xee8, (char) 0x11bc); // XK_Hangul_J_Ieung --> HANGUL JONGSEONG IEUNG
1142: keysym2UCSHash.put((long) 0xee9, (char) 0x11bd); // XK_Hangul_J_Jieuj --> HANGUL JONGSEONG CIEUC
1143: keysym2UCSHash.put((long) 0xeea, (char) 0x11be); // XK_Hangul_J_Cieuc --> HANGUL JONGSEONG CHIEUCH
1144: keysym2UCSHash.put((long) 0xeeb, (char) 0x11bf); // XK_Hangul_J_Khieuq --> HANGUL JONGSEONG KHIEUKH
1145: keysym2UCSHash.put((long) 0xeec, (char) 0x11c0); // XK_Hangul_J_Tieut --> HANGUL JONGSEONG THIEUTH
1146: keysym2UCSHash.put((long) 0xeed, (char) 0x11c1); // XK_Hangul_J_Phieuf --> HANGUL JONGSEONG PHIEUPH
1147: keysym2UCSHash.put((long) 0xeee, (char) 0x11c2); // XK_Hangul_J_Hieuh --> HANGUL JONGSEONG HIEUH
1148: keysym2UCSHash.put((long) 0xeef, (char) 0x316d); // XK_Hangul_RieulYeorinHieuh --> HANGUL LETTER RIEUL-YEORINHIEUH
1149: keysym2UCSHash.put((long) 0xef0, (char) 0x3171); // XK_Hangul_SunkyeongeumMieum --> HANGUL LETTER KAPYEOUNMIEUM
1150: keysym2UCSHash.put((long) 0xef1, (char) 0x3178); // XK_Hangul_SunkyeongeumPieub --> HANGUL LETTER KAPYEOUNPIEUP
1151: keysym2UCSHash.put((long) 0xef2, (char) 0x317f); // XK_Hangul_PanSios --> HANGUL LETTER PANSIOS
1152: keysym2UCSHash.put((long) 0xef3, (char) 0x3181); // XK_Hangul_KkogjiDalrinIeung --> HANGUL LETTER YESIEUNG
1153: keysym2UCSHash.put((long) 0xef4, (char) 0x3184); // XK_Hangul_SunkyeongeumPhieuf --> HANGUL LETTER KAPYEOUNPHIEUPH
1154: keysym2UCSHash.put((long) 0xef5, (char) 0x3186); // XK_Hangul_YeorinHieuh --> HANGUL LETTER YEORINHIEUH
1155: keysym2UCSHash.put((long) 0xef6, (char) 0x318d); // XK_Hangul_AraeA --> HANGUL LETTER ARAEA
1156: keysym2UCSHash.put((long) 0xef7, (char) 0x318e); // XK_Hangul_AraeAE --> HANGUL LETTER ARAEAE
1157: keysym2UCSHash.put((long) 0xef8, (char) 0x11eb); // XK_Hangul_J_PanSios --> HANGUL JONGSEONG PANSIOS
1158: keysym2UCSHash.put((long) 0xef9, (char) 0x11f0); // XK_Hangul_J_KkogjiDalrinIeung --> HANGUL JONGSEONG YESIEUNG
1159: keysym2UCSHash.put((long) 0xefa, (char) 0x11f9); // XK_Hangul_J_YeorinHieuh --> HANGUL JONGSEONG YEORINHIEUH
1160: keysym2UCSHash.put((long) 0xeff, (char) 0x20a9); // XK_Korean_Won --> WON SIGN
1161: keysym2UCSHash.put((long) 0x16a3, (char) 0x1e8a); // XK_Xabovedot --> LATIN CAPITAL LETTER X WITH DOT ABOVE
1162: keysym2UCSHash.put((long) 0x16a6, (char) 0x012c); // XK_Ibreve --> LATIN CAPITAL LETTER I WITH BREVE
1163: keysym2UCSHash.put((long) 0x16a9, (char) 0x01b5); // XK_Zstroke --> LATIN CAPITAL LETTER Z WITH STROKE
1164: keysym2UCSHash.put((long) 0x16aa, (char) 0x01e6); // XK_Gcaron --> LATIN CAPITAL LETTER G WITH CARON
1165: keysym2UCSHash.put((long) 0x16af, (char) 0x019f); // XK_Obarred --> LATIN CAPITAL LETTER O WITH MIDDLE TILDE
1166: keysym2UCSHash.put((long) 0x16b3, (char) 0x1e8b); // XK_xabovedot --> LATIN SMALL LETTER X WITH DOT ABOVE
1167: keysym2UCSHash.put((long) 0x16b6, (char) 0x012d); // XK_ibreve --> LATIN SMALL LETTER I WITH BREVE
1168: keysym2UCSHash.put((long) 0x16b9, (char) 0x01b6); // XK_zstroke --> LATIN SMALL LETTER Z WITH STROKE
1169: keysym2UCSHash.put((long) 0x16ba, (char) 0x01e7); // XK_gcaron --> LATIN SMALL LETTER G WITH CARON
1170: keysym2UCSHash.put((long) 0x16bd, (char) 0x01d2); // XK_ocaron --> LATIN SMALL LETTER O WITH CARON
1171: keysym2UCSHash.put((long) 0x16bf, (char) 0x0275); // XK_obarred --> LATIN SMALL LETTER BARRED O
1172: keysym2UCSHash.put((long) 0x16c6, (char) 0x018f); // XK_SCHWA --> LATIN CAPITAL LETTER SCHWA
1173: keysym2UCSHash.put((long) 0x16f6, (char) 0x0259); // XK_schwa --> LATIN SMALL LETTER SCHWA
1174: keysym2UCSHash.put((long) 0x1ea0, (char) 0x1ea0); // XK_Abelowdot --> LATIN CAPITAL LETTER A WITH DOT BELOW
1175: keysym2UCSHash.put((long) 0x1ea1, (char) 0x1ea1); // XK_abelowdot --> LATIN SMALL LETTER A WITH DOT BELOW
1176: keysym2UCSHash.put((long) 0x1ea2, (char) 0x1ea2); // XK_Ahook --> LATIN CAPITAL LETTER A WITH HOOK ABOVE
1177: keysym2UCSHash.put((long) 0x1ea3, (char) 0x1ea3); // XK_ahook --> LATIN SMALL LETTER A WITH HOOK ABOVE
1178: keysym2UCSHash.put((long) 0x1ea4, (char) 0x1ea4); // XK_Acircumflexacute --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
1179: keysym2UCSHash.put((long) 0x1ea5, (char) 0x1ea5); // XK_acircumflexacute --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
1180: keysym2UCSHash.put((long) 0x1ea6, (char) 0x1ea6); // XK_Acircumflexgrave --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
1181: keysym2UCSHash.put((long) 0x1ea7, (char) 0x1ea7); // XK_acircumflexgrave --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
1182: keysym2UCSHash.put((long) 0x1ea8, (char) 0x1ea8); // XK_Acircumflexhook --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
1183: keysym2UCSHash.put((long) 0x1ea9, (char) 0x1ea9); // XK_acircumflexhook --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
1184: keysym2UCSHash.put((long) 0x1eaa, (char) 0x1eaa); // XK_Acircumflextilde --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
1185: keysym2UCSHash.put((long) 0x1eab, (char) 0x1eab); // XK_acircumflextilde --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
1186: keysym2UCSHash.put((long) 0x1eac, (char) 0x1eac); // XK_Acircumflexbelowdot --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
1187: keysym2UCSHash.put((long) 0x1ead, (char) 0x1ead); // XK_acircumflexbelowdot --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
1188: keysym2UCSHash.put((long) 0x1eae, (char) 0x1eae); // XK_Abreveacute --> LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
1189: keysym2UCSHash.put((long) 0x1eaf, (char) 0x1eaf); // XK_abreveacute --> LATIN SMALL LETTER A WITH BREVE AND ACUTE
1190: keysym2UCSHash.put((long) 0x1eb0, (char) 0x1eb0); // XK_Abrevegrave --> LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
1191: keysym2UCSHash.put((long) 0x1eb1, (char) 0x1eb1); // XK_abrevegrave --> LATIN SMALL LETTER A WITH BREVE AND GRAVE
1192: keysym2UCSHash.put((long) 0x1eb2, (char) 0x1eb2); // XK_Abrevehook --> LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
1193: keysym2UCSHash.put((long) 0x1eb3, (char) 0x1eb3); // XK_abrevehook --> LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
1194: keysym2UCSHash.put((long) 0x1eb4, (char) 0x1eb4); // XK_Abrevetilde --> LATIN CAPITAL LETTER A WITH BREVE AND TILDE
1195: keysym2UCSHash.put((long) 0x1eb5, (char) 0x1eb5); // XK_abrevetilde --> LATIN SMALL LETTER A WITH BREVE AND TILDE
1196: keysym2UCSHash.put((long) 0x1eb6, (char) 0x1eb6); // XK_Abrevebelowdot --> LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
1197: keysym2UCSHash.put((long) 0x1eb7, (char) 0x1eb7); // XK_abrevebelowdot --> LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
1198: keysym2UCSHash.put((long) 0x1eb8, (char) 0x1eb8); // XK_Ebelowdot --> LATIN CAPITAL LETTER E WITH DOT BELOW
1199: keysym2UCSHash.put((long) 0x1eb9, (char) 0x1eb9); // XK_ebelowdot --> LATIN SMALL LETTER E WITH DOT BELOW
1200: keysym2UCSHash.put((long) 0x1eba, (char) 0x1eba); // XK_Ehook --> LATIN CAPITAL LETTER E WITH HOOK ABOVE
1201: keysym2UCSHash.put((long) 0x1ebb, (char) 0x1ebb); // XK_ehook --> LATIN SMALL LETTER E WITH HOOK ABOVE
1202: keysym2UCSHash.put((long) 0x1ebc, (char) 0x1ebc); // XK_Etilde --> LATIN CAPITAL LETTER E WITH TILDE
1203: keysym2UCSHash.put((long) 0x1ebd, (char) 0x1ebd); // XK_etilde --> LATIN SMALL LETTER E WITH TILDE
1204: keysym2UCSHash.put((long) 0x1ebe, (char) 0x1ebe); // XK_Ecircumflexacute --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
1205: keysym2UCSHash.put((long) 0x1ebf, (char) 0x1ebf); // XK_ecircumflexacute --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
1206: keysym2UCSHash.put((long) 0x1ec0, (char) 0x1ec0); // XK_Ecircumflexgrave --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
1207: keysym2UCSHash.put((long) 0x1ec1, (char) 0x1ec1); // XK_ecircumflexgrave --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
1208: keysym2UCSHash.put((long) 0x1ec2, (char) 0x1ec2); // XK_Ecircumflexhook --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
1209: keysym2UCSHash.put((long) 0x1ec3, (char) 0x1ec3); // XK_ecircumflexhook --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
1210: keysym2UCSHash.put((long) 0x1ec4, (char) 0x1ec4); // XK_Ecircumflextilde --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
1211: keysym2UCSHash.put((long) 0x1ec5, (char) 0x1ec5); // XK_ecircumflextilde --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
1212: keysym2UCSHash.put((long) 0x1ec6, (char) 0x1ec6); // XK_Ecircumflexbelowdot --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
1213: keysym2UCSHash.put((long) 0x1ec7, (char) 0x1ec7); // XK_ecircumflexbelowdot --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
1214: keysym2UCSHash.put((long) 0x1ec8, (char) 0x1ec8); // XK_Ihook --> LATIN CAPITAL LETTER I WITH HOOK ABOVE
1215: keysym2UCSHash.put((long) 0x1ec9, (char) 0x1ec9); // XK_ihook --> LATIN SMALL LETTER I WITH HOOK ABOVE
1216: keysym2UCSHash.put((long) 0x1eca, (char) 0x1eca); // XK_Ibelowdot --> LATIN CAPITAL LETTER I WITH DOT BELOW
1217: keysym2UCSHash.put((long) 0x1ecb, (char) 0x1ecb); // XK_ibelowdot --> LATIN SMALL LETTER I WITH DOT BELOW
1218: keysym2UCSHash.put((long) 0x1ecc, (char) 0x1ecc); // XK_Obelowdot --> LATIN CAPITAL LETTER O WITH DOT BELOW
1219: keysym2UCSHash.put((long) 0x1ecd, (char) 0x1ecd); // XK_obelowdot --> LATIN SMALL LETTER O WITH DOT BELOW
1220: keysym2UCSHash.put((long) 0x1ece, (char) 0x1ece); // XK_Ohook --> LATIN CAPITAL LETTER O WITH HOOK ABOVE
1221: keysym2UCSHash.put((long) 0x1ecf, (char) 0x1ecf); // XK_ohook --> LATIN SMALL LETTER O WITH HOOK ABOVE
1222: keysym2UCSHash.put((long) 0x1ed0, (char) 0x1ed0); // XK_Ocircumflexacute --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
1223: keysym2UCSHash.put((long) 0x1ed1, (char) 0x1ed1); // XK_ocircumflexacute --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
1224: keysym2UCSHash.put((long) 0x1ed2, (char) 0x1ed2); // XK_Ocircumflexgrave --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
1225: keysym2UCSHash.put((long) 0x1ed3, (char) 0x1ed3); // XK_ocircumflexgrave --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
1226: keysym2UCSHash.put((long) 0x1ed4, (char) 0x1ed4); // XK_Ocircumflexhook --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
1227: keysym2UCSHash.put((long) 0x1ed5, (char) 0x1ed5); // XK_ocircumflexhook --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
1228: keysym2UCSHash.put((long) 0x1ed6, (char) 0x1ed6); // XK_Ocircumflextilde --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
1229: keysym2UCSHash.put((long) 0x1ed7, (char) 0x1ed7); // XK_ocircumflextilde --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
1230: keysym2UCSHash.put((long) 0x1ed8, (char) 0x1ed8); // XK_Ocircumflexbelowdot --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
1231: keysym2UCSHash.put((long) 0x1ed9, (char) 0x1ed9); // XK_ocircumflexbelowdot --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
1232: keysym2UCSHash.put((long) 0x1eda, (char) 0x1eda); // XK_Ohornacute --> LATIN CAPITAL LETTER O WITH HORN AND ACUTE
1233: keysym2UCSHash.put((long) 0x1edb, (char) 0x1edb); // XK_ohornacute --> LATIN SMALL LETTER O WITH HORN AND ACUTE
1234: keysym2UCSHash.put((long) 0x1edc, (char) 0x1edc); // XK_Ohorngrave --> LATIN CAPITAL LETTER O WITH HORN AND GRAVE
1235: keysym2UCSHash.put((long) 0x1edd, (char) 0x1edd); // XK_ohorngrave --> LATIN SMALL LETTER O WITH HORN AND GRAVE
1236: keysym2UCSHash.put((long) 0x1ede, (char) 0x1ede); // XK_Ohornhook --> LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
1237: keysym2UCSHash.put((long) 0x1edf, (char) 0x1edf); // XK_ohornhook --> LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
1238: keysym2UCSHash.put((long) 0x1ee0, (char) 0x1ee0); // XK_Ohorntilde --> LATIN CAPITAL LETTER O WITH HORN AND TILDE
1239: keysym2UCSHash.put((long) 0x1ee1, (char) 0x1ee1); // XK_ohorntilde --> LATIN SMALL LETTER O WITH HORN AND TILDE
1240: keysym2UCSHash.put((long) 0x1ee2, (char) 0x1ee2); // XK_Ohornbelowdot --> LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
1241: keysym2UCSHash.put((long) 0x1ee3, (char) 0x1ee3); // XK_ohornbelowdot --> LATIN SMALL LETTER O WITH HORN AND DOT BELOW
1242: keysym2UCSHash.put((long) 0x1ee4, (char) 0x1ee4); // XK_Ubelowdot --> LATIN CAPITAL LETTER U WITH DOT BELOW
1243: keysym2UCSHash.put((long) 0x1ee5, (char) 0x1ee5); // XK_ubelowdot --> LATIN SMALL LETTER U WITH DOT BELOW
1244: keysym2UCSHash.put((long) 0x1ee6, (char) 0x1ee6); // XK_Uhook --> LATIN CAPITAL LETTER U WITH HOOK ABOVE
1245: keysym2UCSHash.put((long) 0x1ee7, (char) 0x1ee7); // XK_uhook --> LATIN SMALL LETTER U WITH HOOK ABOVE
1246: keysym2UCSHash.put((long) 0x1ee8, (char) 0x1ee8); // XK_Uhornacute --> LATIN CAPITAL LETTER U WITH HORN AND ACUTE
1247: keysym2UCSHash.put((long) 0x1ee9, (char) 0x1ee9); // XK_uhornacute --> LATIN SMALL LETTER U WITH HORN AND ACUTE
1248: keysym2UCSHash.put((long) 0x1eea, (char) 0x1eea); // XK_Uhorngrave --> LATIN CAPITAL LETTER U WITH HORN AND GRAVE
1249: keysym2UCSHash.put((long) 0x1eeb, (char) 0x1eeb); // XK_uhorngrave --> LATIN SMALL LETTER U WITH HORN AND GRAVE
1250: keysym2UCSHash.put((long) 0x1eec, (char) 0x1eec); // XK_Uhornhook --> LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
1251: keysym2UCSHash.put((long) 0x1eed, (char) 0x1eed); // XK_uhornhook --> LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
1252: keysym2UCSHash.put((long) 0x1eee, (char) 0x1eee); // XK_Uhorntilde --> LATIN CAPITAL LETTER U WITH HORN AND TILDE
1253: keysym2UCSHash.put((long) 0x1eef, (char) 0x1eef); // XK_uhorntilde --> LATIN SMALL LETTER U WITH HORN AND TILDE
1254: keysym2UCSHash.put((long) 0x1ef0, (char) 0x1ef0); // XK_Uhornbelowdot --> LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
1255: keysym2UCSHash.put((long) 0x1ef1, (char) 0x1ef1); // XK_uhornbelowdot --> LATIN SMALL LETTER U WITH HORN AND DOT BELOW
1256: keysym2UCSHash.put((long) 0x1ef4, (char) 0x1ef4); // XK_Ybelowdot --> LATIN CAPITAL LETTER Y WITH DOT BELOW
1257: keysym2UCSHash.put((long) 0x1ef5, (char) 0x1ef5); // XK_ybelowdot --> LATIN SMALL LETTER Y WITH DOT BELOW
1258: keysym2UCSHash.put((long) 0x1ef6, (char) 0x1ef6); // XK_Yhook --> LATIN CAPITAL LETTER Y WITH HOOK ABOVE
1259: keysym2UCSHash.put((long) 0x1ef7, (char) 0x1ef7); // XK_yhook --> LATIN SMALL LETTER Y WITH HOOK ABOVE
1260: keysym2UCSHash.put((long) 0x1ef8, (char) 0x1ef8); // XK_Ytilde --> LATIN CAPITAL LETTER Y WITH TILDE
1261: keysym2UCSHash.put((long) 0x1ef9, (char) 0x1ef9); // XK_ytilde --> LATIN SMALL LETTER Y WITH TILDE
1262: keysym2UCSHash.put((long) 0x1efa, (char) 0x01a0); // XK_Ohorn --> LATIN CAPITAL LETTER O WITH HORN
1263: keysym2UCSHash.put((long) 0x1efb, (char) 0x01a1); // XK_ohorn --> LATIN SMALL LETTER O WITH HORN
1264: keysym2UCSHash.put((long) 0x1efc, (char) 0x01af); // XK_Uhorn --> LATIN CAPITAL LETTER U WITH HORN
1265: keysym2UCSHash.put((long) 0x1efd, (char) 0x01b0); // XK_uhorn --> LATIN SMALL LETTER U WITH HORN
1266: keysym2UCSHash.put((long) 0x20a0, (char) 0x20a0); // XK_EcuSign --> EURO-CURRENCY SIGN
1267: keysym2UCSHash.put((long) 0x20a1, (char) 0x20a1); // XK_ColonSign --> COLON SIGN
1268: keysym2UCSHash.put((long) 0x20a2, (char) 0x20a2); // XK_CruzeiroSign --> CRUZEIRO SIGN
1269: keysym2UCSHash.put((long) 0x20a3, (char) 0x20a3); // XK_FFrancSign --> FRENCH FRANC SIGN
1270: keysym2UCSHash.put((long) 0x20a4, (char) 0x20a4); // XK_LiraSign --> LIRA SIGN
1271: keysym2UCSHash.put((long) 0x20a5, (char) 0x20a5); // XK_MillSign --> MILL SIGN
1272: keysym2UCSHash.put((long) 0x20a6, (char) 0x20a6); // XK_NairaSign --> NAIRA SIGN
1273: keysym2UCSHash.put((long) 0x20a7, (char) 0x20a7); // XK_PesetaSign --> PESETA SIGN
1274: keysym2UCSHash.put((long) 0x20a8, (char) 0x20a8); // XK_RupeeSign --> RUPEE SIGN
1275: keysym2UCSHash.put((long) 0x20a9, (char) 0x20a9); // XK_WonSign --> WON SIGN
1276: keysym2UCSHash.put((long) 0x20aa, (char) 0x20aa); // XK_NewSheqelSign --> NEW SHEQEL SIGN
1277: keysym2UCSHash.put((long) 0x20ab, (char) 0x20ab); // XK_DongSign --> DONG SIGN
1278: keysym2UCSHash.put((long) 0x20ac, (char) 0x20ac); // XK_EuroSign --> EURO SIGN
1279: keysym2UCSHash.put((long) 0x1004FF08, (char) 0x0008); // osfXK_BackSpace --> <control>
1280: keysym2UCSHash.put((long) 0x1004FF1B, (char) 0x001b); // osfXK_Escape --> <control>
1281: keysym2UCSHash.put((long) 0x1004FFFF, (char) 0x007f); // osfXK_Delete --> <control>
1282:
1283: //XXX fill keysym2JavaKeycodeHash.
1284:
1285: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_a),
1286: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_A,
1287: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1288: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_b),
1289: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_B,
1290: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1291: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_c),
1292: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_C,
1293: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1294: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_d),
1295: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_D,
1296: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1297: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_e),
1298: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_E,
1299: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1300: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_f),
1301: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F,
1302: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1303: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_g),
1304: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_G,
1305: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1306: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_h),
1307: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_H,
1308: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1309: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_i),
1310: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_I,
1311: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1312: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_j),
1313: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_J,
1314: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1315: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_k),
1316: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_K,
1317: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1318: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_l),
1319: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_L,
1320: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1321: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_m),
1322: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_M,
1323: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1324: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_n),
1325: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_N,
1326: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1327: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_o),
1328: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_O,
1329: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1330: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_p),
1331: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_P,
1332: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1333: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_q),
1334: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Q,
1335: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1336: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_r),
1337: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_R,
1338: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1339: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_s),
1340: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_S,
1341: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1342: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_t),
1343: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_T,
1344: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1345: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_u),
1346: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_U,
1347: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1348: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_v),
1349: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_V,
1350: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1351: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_w),
1352: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_W,
1353: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1354: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_x),
1355: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_X,
1356: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1357: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_y),
1358: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Y,
1359: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1360: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_z),
1361: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Z,
1362: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1363:
1364: /* TTY Function keys */
1365: keysym2JavaKeycodeHash.put(Long
1366: .valueOf(XKeySymConstants.XK_BackSpace),
1367: new Keysym2JavaKeycode(
1368: java.awt.event.KeyEvent.VK_BACK_SPACE,
1369: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1370: keysym2JavaKeycodeHash.put(Long
1371: .valueOf(XKeySymConstants.XK_Tab),
1372: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB,
1373: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1374: keysym2JavaKeycodeHash.put(Long
1375: .valueOf(XKeySymConstants.XK_ISO_Left_Tab),
1376: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB,
1377: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1378: keysym2JavaKeycodeHash.put(Long
1379: .valueOf(XKeySymConstants.XK_Clear),
1380: new Keysym2JavaKeycode(
1381: java.awt.event.KeyEvent.VK_CLEAR,
1382: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1383: keysym2JavaKeycodeHash.put(Long
1384: .valueOf(XKeySymConstants.XK_Return),
1385: new Keysym2JavaKeycode(
1386: java.awt.event.KeyEvent.VK_ENTER,
1387: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1388: keysym2JavaKeycodeHash.put(Long
1389: .valueOf(XKeySymConstants.XK_Linefeed),
1390: new Keysym2JavaKeycode(
1391: java.awt.event.KeyEvent.VK_ENTER,
1392: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1393: keysym2JavaKeycodeHash.put(Long
1394: .valueOf(XKeySymConstants.XK_Pause),
1395: new Keysym2JavaKeycode(
1396: java.awt.event.KeyEvent.VK_PAUSE,
1397: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1398: keysym2JavaKeycodeHash.put(Long
1399: .valueOf(XKeySymConstants.XK_F21),
1400: new Keysym2JavaKeycode(
1401: java.awt.event.KeyEvent.VK_PAUSE,
1402: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1403: keysym2JavaKeycodeHash.put(
1404: Long.valueOf(XKeySymConstants.XK_R1),
1405: new Keysym2JavaKeycode(
1406: java.awt.event.KeyEvent.VK_PAUSE,
1407: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1408: keysym2JavaKeycodeHash.put(Long
1409: .valueOf(XKeySymConstants.XK_Scroll_Lock),
1410: new Keysym2JavaKeycode(
1411: java.awt.event.KeyEvent.VK_SCROLL_LOCK,
1412: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1413: keysym2JavaKeycodeHash.put(Long
1414: .valueOf(XKeySymConstants.XK_F23),
1415: new Keysym2JavaKeycode(
1416: java.awt.event.KeyEvent.VK_SCROLL_LOCK,
1417: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1418: keysym2JavaKeycodeHash.put(
1419: Long.valueOf(XKeySymConstants.XK_R3),
1420: new Keysym2JavaKeycode(
1421: java.awt.event.KeyEvent.VK_SCROLL_LOCK,
1422: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1423: keysym2JavaKeycodeHash.put(Long
1424: .valueOf(XKeySymConstants.XK_Escape),
1425: new Keysym2JavaKeycode(
1426: java.awt.event.KeyEvent.VK_ESCAPE,
1427: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1428:
1429: /* Other vendor-specific versions of TTY Function keys */
1430: keysym2JavaKeycodeHash.put(Long
1431: .valueOf(XKeySymConstants.osfXK_BackSpace),
1432: new Keysym2JavaKeycode(
1433: java.awt.event.KeyEvent.VK_BACK_SPACE,
1434: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1435: keysym2JavaKeycodeHash.put(Long
1436: .valueOf(XKeySymConstants.osfXK_Clear),
1437: new Keysym2JavaKeycode(
1438: java.awt.event.KeyEvent.VK_CLEAR,
1439: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1440: keysym2JavaKeycodeHash.put(Long
1441: .valueOf(XKeySymConstants.osfXK_Escape),
1442: new Keysym2JavaKeycode(
1443: java.awt.event.KeyEvent.VK_ESCAPE,
1444: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1445:
1446: /* Modifier keys */
1447: keysym2JavaKeycodeHash.put(Long
1448: .valueOf(XKeySymConstants.XK_Shift_L),
1449: new Keysym2JavaKeycode(
1450: java.awt.event.KeyEvent.VK_SHIFT,
1451: java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
1452: keysym2JavaKeycodeHash.put(Long
1453: .valueOf(XKeySymConstants.XK_Shift_R),
1454: new Keysym2JavaKeycode(
1455: java.awt.event.KeyEvent.VK_SHIFT,
1456: java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
1457: keysym2JavaKeycodeHash.put(Long
1458: .valueOf(XKeySymConstants.XK_Control_L),
1459: new Keysym2JavaKeycode(
1460: java.awt.event.KeyEvent.VK_CONTROL,
1461: java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
1462: keysym2JavaKeycodeHash.put(Long
1463: .valueOf(XKeySymConstants.XK_Control_R),
1464: new Keysym2JavaKeycode(
1465: java.awt.event.KeyEvent.VK_CONTROL,
1466: java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
1467: keysym2JavaKeycodeHash.put(Long
1468: .valueOf(XKeySymConstants.XK_Alt_L),
1469: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT,
1470: java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
1471: keysym2JavaKeycodeHash.put(Long
1472: .valueOf(XKeySymConstants.XK_Alt_R),
1473: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT,
1474: java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
1475: keysym2JavaKeycodeHash.put(Long
1476: .valueOf(XKeySymConstants.XK_Meta_L),
1477: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META,
1478: java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
1479: keysym2JavaKeycodeHash.put(Long
1480: .valueOf(XKeySymConstants.XK_Meta_R),
1481: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META,
1482: java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
1483: keysym2JavaKeycodeHash.put(Long
1484: .valueOf(XKeySymConstants.XK_Caps_Lock),
1485: new Keysym2JavaKeycode(
1486: java.awt.event.KeyEvent.VK_CAPS_LOCK,
1487: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1488:
1489: /* Misc Functions */
1490: keysym2JavaKeycodeHash.put(Long
1491: .valueOf(XKeySymConstants.XK_Print),
1492: new Keysym2JavaKeycode(
1493: java.awt.event.KeyEvent.VK_PRINTSCREEN,
1494: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1495: keysym2JavaKeycodeHash.put(Long
1496: .valueOf(XKeySymConstants.XK_F22),
1497: new Keysym2JavaKeycode(
1498: java.awt.event.KeyEvent.VK_PRINTSCREEN,
1499: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1500: keysym2JavaKeycodeHash.put(
1501: Long.valueOf(XKeySymConstants.XK_R2),
1502: new Keysym2JavaKeycode(
1503: java.awt.event.KeyEvent.VK_PRINTSCREEN,
1504: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1505: keysym2JavaKeycodeHash.put(Long
1506: .valueOf(XKeySymConstants.XK_Cancel),
1507: new Keysym2JavaKeycode(
1508: java.awt.event.KeyEvent.VK_CANCEL,
1509: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1510: keysym2JavaKeycodeHash.put(Long
1511: .valueOf(XKeySymConstants.XK_Help),
1512: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP,
1513: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1514: keysym2JavaKeycodeHash.put(Long
1515: .valueOf(XKeySymConstants.XK_Num_Lock),
1516: new Keysym2JavaKeycode(
1517: java.awt.event.KeyEvent.VK_NUM_LOCK,
1518: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1519:
1520: /* Other vendor-specific versions of Misc Functions */
1521: keysym2JavaKeycodeHash.put(Long
1522: .valueOf(XKeySymConstants.osfXK_Cancel),
1523: new Keysym2JavaKeycode(
1524: java.awt.event.KeyEvent.VK_CANCEL,
1525: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1526: keysym2JavaKeycodeHash.put(Long
1527: .valueOf(XKeySymConstants.osfXK_Help),
1528: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP,
1529: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1530:
1531: /* Rectangular Navigation Block */
1532: keysym2JavaKeycodeHash.put(Long
1533: .valueOf(XKeySymConstants.XK_Home),
1534: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME,
1535: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1536: keysym2JavaKeycodeHash.put(
1537: Long.valueOf(XKeySymConstants.XK_R7),
1538: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME,
1539: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1540: keysym2JavaKeycodeHash.put(Long
1541: .valueOf(XKeySymConstants.XK_Page_Up),
1542: new Keysym2JavaKeycode(
1543: java.awt.event.KeyEvent.VK_PAGE_UP,
1544: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1545: keysym2JavaKeycodeHash.put(Long
1546: .valueOf(XKeySymConstants.XK_Prior),
1547: new Keysym2JavaKeycode(
1548: java.awt.event.KeyEvent.VK_PAGE_UP,
1549: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1550: keysym2JavaKeycodeHash.put(
1551: Long.valueOf(XKeySymConstants.XK_R9),
1552: new Keysym2JavaKeycode(
1553: java.awt.event.KeyEvent.VK_PAGE_UP,
1554: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1555: keysym2JavaKeycodeHash.put(Long
1556: .valueOf(XKeySymConstants.XK_Page_Down),
1557: new Keysym2JavaKeycode(
1558: java.awt.event.KeyEvent.VK_PAGE_DOWN,
1559: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1560: keysym2JavaKeycodeHash.put(Long
1561: .valueOf(XKeySymConstants.XK_Next),
1562: new Keysym2JavaKeycode(
1563: java.awt.event.KeyEvent.VK_PAGE_DOWN,
1564: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1565: keysym2JavaKeycodeHash.put(Long
1566: .valueOf(XKeySymConstants.XK_R15),
1567: new Keysym2JavaKeycode(
1568: java.awt.event.KeyEvent.VK_PAGE_DOWN,
1569: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1570: keysym2JavaKeycodeHash.put(Long
1571: .valueOf(XKeySymConstants.XK_End),
1572: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END,
1573: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1574: keysym2JavaKeycodeHash.put(Long
1575: .valueOf(XKeySymConstants.XK_R13),
1576: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END,
1577: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1578: keysym2JavaKeycodeHash.put(Long
1579: .valueOf(XKeySymConstants.XK_Insert),
1580: new Keysym2JavaKeycode(
1581: java.awt.event.KeyEvent.VK_INSERT,
1582: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1583: keysym2JavaKeycodeHash.put(Long
1584: .valueOf(XKeySymConstants.XK_Delete),
1585: new Keysym2JavaKeycode(
1586: java.awt.event.KeyEvent.VK_DELETE,
1587: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1588:
1589: /* Keypad equivalents of Rectangular Navigation Block */
1590: keysym2JavaKeycodeHash.put(Long
1591: .valueOf(XKeySymConstants.XK_KP_Home),
1592: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME,
1593: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1594: keysym2JavaKeycodeHash.put(Long
1595: .valueOf(XKeySymConstants.XK_KP_Page_Up),
1596: new Keysym2JavaKeycode(
1597: java.awt.event.KeyEvent.VK_PAGE_UP,
1598: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1599: keysym2JavaKeycodeHash.put(Long
1600: .valueOf(XKeySymConstants.XK_KP_Prior),
1601: new Keysym2JavaKeycode(
1602: java.awt.event.KeyEvent.VK_PAGE_UP,
1603: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1604: keysym2JavaKeycodeHash.put(Long
1605: .valueOf(XKeySymConstants.XK_KP_Page_Down),
1606: new Keysym2JavaKeycode(
1607: java.awt.event.KeyEvent.VK_PAGE_DOWN,
1608: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1609: keysym2JavaKeycodeHash.put(Long
1610: .valueOf(XKeySymConstants.XK_KP_Next),
1611: new Keysym2JavaKeycode(
1612: java.awt.event.KeyEvent.VK_PAGE_DOWN,
1613: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1614: keysym2JavaKeycodeHash.put(Long
1615: .valueOf(XKeySymConstants.XK_KP_End),
1616: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END,
1617: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1618: keysym2JavaKeycodeHash.put(Long
1619: .valueOf(XKeySymConstants.XK_KP_Insert),
1620: new Keysym2JavaKeycode(
1621: java.awt.event.KeyEvent.VK_INSERT,
1622: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1623: keysym2JavaKeycodeHash.put(Long
1624: .valueOf(XKeySymConstants.XK_KP_Delete),
1625: new Keysym2JavaKeycode(
1626: java.awt.event.KeyEvent.VK_DELETE,
1627: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1628:
1629: /* Other vendor-specific Rectangular Navigation Block */
1630: keysym2JavaKeycodeHash.put(Long
1631: .valueOf(XKeySymConstants.osfXK_PageUp),
1632: new Keysym2JavaKeycode(
1633: java.awt.event.KeyEvent.VK_PAGE_UP,
1634: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1635: keysym2JavaKeycodeHash.put(Long
1636: .valueOf(XKeySymConstants.osfXK_Prior),
1637: new Keysym2JavaKeycode(
1638: java.awt.event.KeyEvent.VK_PAGE_UP,
1639: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1640: keysym2JavaKeycodeHash.put(Long
1641: .valueOf(XKeySymConstants.osfXK_PageDown),
1642: new Keysym2JavaKeycode(
1643: java.awt.event.KeyEvent.VK_PAGE_DOWN,
1644: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1645: keysym2JavaKeycodeHash.put(Long
1646: .valueOf(XKeySymConstants.osfXK_Next),
1647: new Keysym2JavaKeycode(
1648: java.awt.event.KeyEvent.VK_PAGE_DOWN,
1649: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1650: keysym2JavaKeycodeHash.put(Long
1651: .valueOf(XKeySymConstants.osfXK_EndLine),
1652: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END,
1653: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1654: keysym2JavaKeycodeHash.put(Long
1655: .valueOf(XKeySymConstants.osfXK_Insert),
1656: new Keysym2JavaKeycode(
1657: java.awt.event.KeyEvent.VK_INSERT,
1658: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1659: keysym2JavaKeycodeHash.put(Long
1660: .valueOf(XKeySymConstants.osfXK_Delete),
1661: new Keysym2JavaKeycode(
1662: java.awt.event.KeyEvent.VK_DELETE,
1663: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1664:
1665: /* Triangular Navigation Block */
1666: keysym2JavaKeycodeHash.put(Long
1667: .valueOf(XKeySymConstants.XK_Left),
1668: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT,
1669: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1670: keysym2JavaKeycodeHash.put(
1671: Long.valueOf(XKeySymConstants.XK_Up),
1672: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP,
1673: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1674: keysym2JavaKeycodeHash.put(Long
1675: .valueOf(XKeySymConstants.XK_Right),
1676: new Keysym2JavaKeycode(
1677: java.awt.event.KeyEvent.VK_RIGHT,
1678: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1679: keysym2JavaKeycodeHash.put(Long
1680: .valueOf(XKeySymConstants.XK_Down),
1681: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN,
1682: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1683:
1684: /* Keypad equivalents of Triangular Navigation Block */
1685: keysym2JavaKeycodeHash.put(Long
1686: .valueOf(XKeySymConstants.XK_KP_Left),
1687: new Keysym2JavaKeycode(
1688: java.awt.event.KeyEvent.VK_KP_LEFT,
1689: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1690: keysym2JavaKeycodeHash.put(Long
1691: .valueOf(XKeySymConstants.XK_KP_Up),
1692: new Keysym2JavaKeycode(
1693: java.awt.event.KeyEvent.VK_KP_UP,
1694: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1695: keysym2JavaKeycodeHash.put(Long
1696: .valueOf(XKeySymConstants.XK_KP_Right),
1697: new Keysym2JavaKeycode(
1698: java.awt.event.KeyEvent.VK_KP_RIGHT,
1699: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1700: keysym2JavaKeycodeHash.put(Long
1701: .valueOf(XKeySymConstants.XK_KP_Down),
1702: new Keysym2JavaKeycode(
1703: java.awt.event.KeyEvent.VK_KP_DOWN,
1704: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1705:
1706: /* Other vendor-specific Triangular Navigation Block */
1707: keysym2JavaKeycodeHash.put(Long
1708: .valueOf(XKeySymConstants.osfXK_Left),
1709: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT,
1710: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1711: keysym2JavaKeycodeHash.put(Long
1712: .valueOf(XKeySymConstants.osfXK_Up),
1713: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP,
1714: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1715: keysym2JavaKeycodeHash.put(Long
1716: .valueOf(XKeySymConstants.osfXK_Right),
1717: new Keysym2JavaKeycode(
1718: java.awt.event.KeyEvent.VK_RIGHT,
1719: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1720: keysym2JavaKeycodeHash.put(Long
1721: .valueOf(XKeySymConstants.osfXK_Down),
1722: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN,
1723: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1724:
1725: /* Remaining Cursor control & motion */
1726: keysym2JavaKeycodeHash.put(Long
1727: .valueOf(XKeySymConstants.XK_Begin),
1728: new Keysym2JavaKeycode(
1729: java.awt.event.KeyEvent.VK_BEGIN,
1730: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1731: keysym2JavaKeycodeHash.put(Long
1732: .valueOf(XKeySymConstants.XK_KP_Begin),
1733: new Keysym2JavaKeycode(
1734: java.awt.event.KeyEvent.VK_BEGIN,
1735: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1736:
1737: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_0),
1738: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_0,
1739: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1740: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_1),
1741: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_1,
1742: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1743: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_2),
1744: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_2,
1745: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1746: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_3),
1747: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_3,
1748: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1749: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_4),
1750: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_4,
1751: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1752: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_5),
1753: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_5,
1754: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1755: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_6),
1756: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_6,
1757: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1758: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_7),
1759: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_7,
1760: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1761: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_8),
1762: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_8,
1763: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1764: keysym2JavaKeycodeHash.put(Long.valueOf(XKeySymConstants.XK_9),
1765: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_9,
1766: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1767:
1768: keysym2JavaKeycodeHash.put(Long
1769: .valueOf(XKeySymConstants.XK_space),
1770: new Keysym2JavaKeycode(
1771: java.awt.event.KeyEvent.VK_SPACE,
1772: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1773: keysym2JavaKeycodeHash.put(Long
1774: .valueOf(XKeySymConstants.XK_exclam),
1775: new Keysym2JavaKeycode(
1776: java.awt.event.KeyEvent.VK_EXCLAMATION_MARK,
1777: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1778: keysym2JavaKeycodeHash.put(Long
1779: .valueOf(XKeySymConstants.XK_quotedbl),
1780: new Keysym2JavaKeycode(
1781: java.awt.event.KeyEvent.VK_QUOTEDBL,
1782: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1783: keysym2JavaKeycodeHash.put(Long
1784: .valueOf(XKeySymConstants.XK_numbersign),
1785: new Keysym2JavaKeycode(
1786: java.awt.event.KeyEvent.VK_NUMBER_SIGN,
1787: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1788: keysym2JavaKeycodeHash.put(Long
1789: .valueOf(XKeySymConstants.XK_dollar),
1790: new Keysym2JavaKeycode(
1791: java.awt.event.KeyEvent.VK_DOLLAR,
1792: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1793: keysym2JavaKeycodeHash.put(Long
1794: .valueOf(XKeySymConstants.XK_ampersand),
1795: new Keysym2JavaKeycode(
1796: java.awt.event.KeyEvent.VK_AMPERSAND,
1797: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1798: keysym2JavaKeycodeHash.put(Long
1799: .valueOf(XKeySymConstants.XK_apostrophe),
1800: new Keysym2JavaKeycode(
1801: java.awt.event.KeyEvent.VK_QUOTE,
1802: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1803: keysym2JavaKeycodeHash.put(Long
1804: .valueOf(XKeySymConstants.XK_parenleft),
1805: new Keysym2JavaKeycode(
1806: java.awt.event.KeyEvent.VK_LEFT_PARENTHESIS,
1807: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1808: keysym2JavaKeycodeHash.put(Long
1809: .valueOf(XKeySymConstants.XK_parenright),
1810: new Keysym2JavaKeycode(
1811: java.awt.event.KeyEvent.VK_RIGHT_PARENTHESIS,
1812: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1813: keysym2JavaKeycodeHash.put(Long
1814: .valueOf(XKeySymConstants.XK_asterisk),
1815: new Keysym2JavaKeycode(
1816: java.awt.event.KeyEvent.VK_ASTERISK,
1817: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1818: keysym2JavaKeycodeHash.put(Long
1819: .valueOf(XKeySymConstants.XK_plus),
1820: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PLUS,
1821: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1822: keysym2JavaKeycodeHash.put(Long
1823: .valueOf(XKeySymConstants.XK_comma),
1824: new Keysym2JavaKeycode(
1825: java.awt.event.KeyEvent.VK_COMMA,
1826: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1827: keysym2JavaKeycodeHash.put(Long
1828: .valueOf(XKeySymConstants.XK_minus),
1829: new Keysym2JavaKeycode(
1830: java.awt.event.KeyEvent.VK_MINUS,
1831: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1832: keysym2JavaKeycodeHash.put(Long
1833: .valueOf(XKeySymConstants.XK_period),
1834: new Keysym2JavaKeycode(
1835: java.awt.event.KeyEvent.VK_PERIOD,
1836: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1837: keysym2JavaKeycodeHash.put(Long
1838: .valueOf(XKeySymConstants.XK_slash),
1839: new Keysym2JavaKeycode(
1840: java.awt.event.KeyEvent.VK_SLASH,
1841: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1842:
1843: keysym2JavaKeycodeHash.put(Long
1844: .valueOf(XKeySymConstants.XK_colon),
1845: new Keysym2JavaKeycode(
1846: java.awt.event.KeyEvent.VK_COLON,
1847: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1848: keysym2JavaKeycodeHash.put(Long
1849: .valueOf(XKeySymConstants.XK_semicolon),
1850: new Keysym2JavaKeycode(
1851: java.awt.event.KeyEvent.VK_SEMICOLON,
1852: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1853: keysym2JavaKeycodeHash.put(Long
1854: .valueOf(XKeySymConstants.XK_less),
1855: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LESS,
1856: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1857: keysym2JavaKeycodeHash.put(Long
1858: .valueOf(XKeySymConstants.XK_equal),
1859: new Keysym2JavaKeycode(
1860: java.awt.event.KeyEvent.VK_EQUALS,
1861: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1862: keysym2JavaKeycodeHash.put(Long
1863: .valueOf(XKeySymConstants.XK_greater),
1864: new Keysym2JavaKeycode(
1865: java.awt.event.KeyEvent.VK_GREATER,
1866: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1867:
1868: keysym2JavaKeycodeHash.put(
1869: Long.valueOf(XKeySymConstants.XK_at),
1870: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AT,
1871: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1872:
1873: keysym2JavaKeycodeHash.put(Long
1874: .valueOf(XKeySymConstants.XK_bracketleft),
1875: new Keysym2JavaKeycode(
1876: java.awt.event.KeyEvent.VK_OPEN_BRACKET,
1877: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1878: keysym2JavaKeycodeHash.put(Long
1879: .valueOf(XKeySymConstants.XK_backslash),
1880: new Keysym2JavaKeycode(
1881: java.awt.event.KeyEvent.VK_BACK_SLASH,
1882: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1883: keysym2JavaKeycodeHash.put(Long
1884: .valueOf(XKeySymConstants.XK_bracketright),
1885: new Keysym2JavaKeycode(
1886: java.awt.event.KeyEvent.VK_CLOSE_BRACKET,
1887: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1888: keysym2JavaKeycodeHash.put(Long
1889: .valueOf(XKeySymConstants.XK_asciicircum),
1890: new Keysym2JavaKeycode(
1891: java.awt.event.KeyEvent.VK_CIRCUMFLEX,
1892: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1893: keysym2JavaKeycodeHash.put(Long
1894: .valueOf(XKeySymConstants.XK_underscore),
1895: new Keysym2JavaKeycode(
1896: java.awt.event.KeyEvent.VK_UNDERSCORE,
1897: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1898: keysym2JavaKeycodeHash.put(Long
1899: .valueOf(XKeySymConstants.XK_Super_L),
1900: new Keysym2JavaKeycode(
1901: java.awt.event.KeyEvent.VK_WINDOWS,
1902: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1903: keysym2JavaKeycodeHash.put(Long
1904: .valueOf(XKeySymConstants.XK_Super_R),
1905: new Keysym2JavaKeycode(
1906: java.awt.event.KeyEvent.VK_WINDOWS,
1907: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1908: keysym2JavaKeycodeHash.put(Long
1909: .valueOf(XKeySymConstants.XK_Menu),
1910: new Keysym2JavaKeycode(
1911: java.awt.event.KeyEvent.VK_CONTEXT_MENU,
1912: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1913: keysym2JavaKeycodeHash.put(Long
1914: .valueOf(XKeySymConstants.XK_grave),
1915: new Keysym2JavaKeycode(
1916: java.awt.event.KeyEvent.VK_BACK_QUOTE,
1917: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1918:
1919: keysym2JavaKeycodeHash.put(Long
1920: .valueOf(XKeySymConstants.XK_braceleft),
1921: new Keysym2JavaKeycode(
1922: java.awt.event.KeyEvent.VK_BRACELEFT,
1923: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1924: keysym2JavaKeycodeHash.put(Long
1925: .valueOf(XKeySymConstants.XK_braceright),
1926: new Keysym2JavaKeycode(
1927: java.awt.event.KeyEvent.VK_BRACERIGHT,
1928: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1929:
1930: keysym2JavaKeycodeHash
1931: .put(
1932: Long.valueOf(XKeySymConstants.XK_exclamdown),
1933: new Keysym2JavaKeycode(
1934: java.awt.event.KeyEvent.VK_INVERTED_EXCLAMATION_MARK,
1935: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
1936:
1937: /* Remaining Numeric Keypad Keys */
1938: keysym2JavaKeycodeHash.put(Long
1939: .valueOf(XKeySymConstants.XK_KP_0),
1940: new Keysym2JavaKeycode(
1941: java.awt.event.KeyEvent.VK_NUMPAD0,
1942: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1943: keysym2JavaKeycodeHash.put(Long
1944: .valueOf(XKeySymConstants.XK_KP_1),
1945: new Keysym2JavaKeycode(
1946: java.awt.event.KeyEvent.VK_NUMPAD1,
1947: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1948: keysym2JavaKeycodeHash.put(Long
1949: .valueOf(XKeySymConstants.XK_KP_2),
1950: new Keysym2JavaKeycode(
1951: java.awt.event.KeyEvent.VK_NUMPAD2,
1952: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1953: keysym2JavaKeycodeHash.put(Long
1954: .valueOf(XKeySymConstants.XK_KP_3),
1955: new Keysym2JavaKeycode(
1956: java.awt.event.KeyEvent.VK_NUMPAD3,
1957: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1958: keysym2JavaKeycodeHash.put(Long
1959: .valueOf(XKeySymConstants.XK_KP_4),
1960: new Keysym2JavaKeycode(
1961: java.awt.event.KeyEvent.VK_NUMPAD4,
1962: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1963: keysym2JavaKeycodeHash.put(Long
1964: .valueOf(XKeySymConstants.XK_KP_5),
1965: new Keysym2JavaKeycode(
1966: java.awt.event.KeyEvent.VK_NUMPAD5,
1967: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1968: keysym2JavaKeycodeHash.put(Long
1969: .valueOf(XKeySymConstants.XK_KP_6),
1970: new Keysym2JavaKeycode(
1971: java.awt.event.KeyEvent.VK_NUMPAD6,
1972: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1973: keysym2JavaKeycodeHash.put(Long
1974: .valueOf(XKeySymConstants.XK_KP_7),
1975: new Keysym2JavaKeycode(
1976: java.awt.event.KeyEvent.VK_NUMPAD7,
1977: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1978: keysym2JavaKeycodeHash.put(Long
1979: .valueOf(XKeySymConstants.XK_KP_8),
1980: new Keysym2JavaKeycode(
1981: java.awt.event.KeyEvent.VK_NUMPAD8,
1982: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1983: keysym2JavaKeycodeHash.put(Long
1984: .valueOf(XKeySymConstants.XK_KP_9),
1985: new Keysym2JavaKeycode(
1986: java.awt.event.KeyEvent.VK_NUMPAD9,
1987: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1988: keysym2JavaKeycodeHash.put(Long
1989: .valueOf(XKeySymConstants.XK_KP_Space),
1990: new Keysym2JavaKeycode(
1991: java.awt.event.KeyEvent.VK_SPACE,
1992: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1993: keysym2JavaKeycodeHash.put(Long
1994: .valueOf(XKeySymConstants.XK_KP_Tab),
1995: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB,
1996: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
1997: keysym2JavaKeycodeHash.put(Long
1998: .valueOf(XKeySymConstants.XK_KP_Enter),
1999: new Keysym2JavaKeycode(
2000: java.awt.event.KeyEvent.VK_ENTER,
2001: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2002: keysym2JavaKeycodeHash.put(Long
2003: .valueOf(XKeySymConstants.XK_KP_Equal),
2004: new Keysym2JavaKeycode(
2005: java.awt.event.KeyEvent.VK_EQUALS,
2006: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2007: keysym2JavaKeycodeHash.put(
2008: Long.valueOf(XKeySymConstants.XK_R4),
2009: new Keysym2JavaKeycode(
2010: java.awt.event.KeyEvent.VK_EQUALS,
2011: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2012: keysym2JavaKeycodeHash.put(Long
2013: .valueOf(XKeySymConstants.XK_KP_Multiply),
2014: new Keysym2JavaKeycode(
2015: java.awt.event.KeyEvent.VK_MULTIPLY,
2016: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2017: keysym2JavaKeycodeHash.put(Long
2018: .valueOf(XKeySymConstants.XK_F26),
2019: new Keysym2JavaKeycode(
2020: java.awt.event.KeyEvent.VK_MULTIPLY,
2021: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2022: keysym2JavaKeycodeHash.put(
2023: Long.valueOf(XKeySymConstants.XK_R6),
2024: new Keysym2JavaKeycode(
2025: java.awt.event.KeyEvent.VK_MULTIPLY,
2026: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2027: keysym2JavaKeycodeHash.put(Long
2028: .valueOf(XKeySymConstants.XK_KP_Add),
2029: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ADD,
2030: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2031: keysym2JavaKeycodeHash.put(Long
2032: .valueOf(XKeySymConstants.XK_KP_Separator),
2033: new Keysym2JavaKeycode(
2034: java.awt.event.KeyEvent.VK_SEPARATOR,
2035: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2036: keysym2JavaKeycodeHash.put(Long
2037: .valueOf(XKeySymConstants.XK_KP_Subtract),
2038: new Keysym2JavaKeycode(
2039: java.awt.event.KeyEvent.VK_SUBTRACT,
2040: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2041: keysym2JavaKeycodeHash.put(Long
2042: .valueOf(XKeySymConstants.XK_F24),
2043: new Keysym2JavaKeycode(
2044: java.awt.event.KeyEvent.VK_SUBTRACT,
2045: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2046: keysym2JavaKeycodeHash.put(Long
2047: .valueOf(XKeySymConstants.XK_KP_Decimal),
2048: new Keysym2JavaKeycode(
2049: java.awt.event.KeyEvent.VK_DECIMAL,
2050: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2051: keysym2JavaKeycodeHash.put(Long
2052: .valueOf(XKeySymConstants.XK_KP_Divide),
2053: new Keysym2JavaKeycode(
2054: java.awt.event.KeyEvent.VK_DIVIDE,
2055: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2056: keysym2JavaKeycodeHash.put(Long
2057: .valueOf(XKeySymConstants.XK_F25),
2058: new Keysym2JavaKeycode(
2059: java.awt.event.KeyEvent.VK_DIVIDE,
2060: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2061: keysym2JavaKeycodeHash.put(
2062: Long.valueOf(XKeySymConstants.XK_R5),
2063: new Keysym2JavaKeycode(
2064: java.awt.event.KeyEvent.VK_DIVIDE,
2065: java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
2066:
2067: /* Function Keys */
2068: keysym2JavaKeycodeHash.put(
2069: Long.valueOf(XKeySymConstants.XK_F1),
2070: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F1,
2071: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2072: keysym2JavaKeycodeHash.put(
2073: Long.valueOf(XKeySymConstants.XK_F2),
2074: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F2,
2075: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2076: keysym2JavaKeycodeHash.put(
2077: Long.valueOf(XKeySymConstants.XK_F3),
2078: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F3,
2079: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2080: keysym2JavaKeycodeHash.put(
2081: Long.valueOf(XKeySymConstants.XK_F4),
2082: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F4,
2083: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2084: keysym2JavaKeycodeHash.put(
2085: Long.valueOf(XKeySymConstants.XK_F5),
2086: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F5,
2087: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2088: keysym2JavaKeycodeHash.put(
2089: Long.valueOf(XKeySymConstants.XK_F6),
2090: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F6,
2091: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2092: keysym2JavaKeycodeHash.put(
2093: Long.valueOf(XKeySymConstants.XK_F7),
2094: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F7,
2095: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2096: keysym2JavaKeycodeHash.put(
2097: Long.valueOf(XKeySymConstants.XK_F8),
2098: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F8,
2099: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2100: keysym2JavaKeycodeHash.put(
2101: Long.valueOf(XKeySymConstants.XK_F9),
2102: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F9,
2103: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2104: keysym2JavaKeycodeHash.put(Long
2105: .valueOf(XKeySymConstants.XK_F10),
2106: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F10,
2107: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2108: keysym2JavaKeycodeHash.put(Long
2109: .valueOf(XKeySymConstants.XK_F11),
2110: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11,
2111: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2112: keysym2JavaKeycodeHash.put(Long
2113: .valueOf(XKeySymConstants.XK_F12),
2114: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12,
2115: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2116:
2117: /* Sun vendor-specific version of F11 and F12 */
2118: keysym2JavaKeycodeHash.put(Long
2119: .valueOf(XKeySymConstants.SunXK_F36),
2120: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11,
2121: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2122: keysym2JavaKeycodeHash.put(Long
2123: .valueOf(XKeySymConstants.SunXK_F37),
2124: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12,
2125: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2126:
2127: /* X11 keysym names for input method related keys don't always
2128: * match keytop engravings or Java virtual key names, so here we
2129: * only map constants that we've found on real keyboards.
2130: */
2131: /* Type 5c Japanese keyboard: kakutei */
2132: keysym2JavaKeycodeHash.put(Long
2133: .valueOf(XKeySymConstants.XK_Execute),
2134: new Keysym2JavaKeycode(
2135: java.awt.event.KeyEvent.VK_ACCEPT,
2136: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2137: /* Type 5c Japanese keyboard: henkan */
2138: keysym2JavaKeycodeHash.put(Long
2139: .valueOf(XKeySymConstants.XK_Kanji),
2140: new Keysym2JavaKeycode(
2141: java.awt.event.KeyEvent.VK_CONVERT,
2142: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2143: /* Type 5c Japanese keyboard: nihongo */
2144: keysym2JavaKeycodeHash.put(Long
2145: .valueOf(XKeySymConstants.XK_Henkan_Mode),
2146: new Keysym2JavaKeycode(
2147: java.awt.event.KeyEvent.VK_INPUT_METHOD_ON_OFF,
2148: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2149: /* VK_KANA_LOCK is handled separately because it generates the
2150: * same keysym as ALT_GRAPH in spite of its different behavior.
2151: */
2152:
2153: keysym2JavaKeycodeHash.put(Long
2154: .valueOf(XKeySymConstants.XK_Multi_key),
2155: new Keysym2JavaKeycode(
2156: java.awt.event.KeyEvent.VK_COMPOSE,
2157: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2158: keysym2JavaKeycodeHash.put(Long
2159: .valueOf(XKeySymConstants.XK_Mode_switch),
2160: new Keysym2JavaKeycode(
2161: java.awt.event.KeyEvent.VK_ALT_GRAPH,
2162: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2163:
2164: /* Editing block */
2165: keysym2JavaKeycodeHash.put(Long
2166: .valueOf(XKeySymConstants.XK_Redo),
2167: new Keysym2JavaKeycode(
2168: java.awt.event.KeyEvent.VK_AGAIN,
2169: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2170: // XXX XK_L2 == F12; TODO: add code to use only one of them depending on the keyboard type. For now, restore
2171: // good PC behavior and bad but old Sparc behavior.
2172: // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2173: keysym2JavaKeycodeHash.put(Long
2174: .valueOf(XKeySymConstants.XK_Undo),
2175: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO,
2176: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2177: keysym2JavaKeycodeHash.put(
2178: Long.valueOf(XKeySymConstants.XK_L4),
2179: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO,
2180: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2181: keysym2JavaKeycodeHash.put(
2182: Long.valueOf(XKeySymConstants.XK_L6),
2183: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY,
2184: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2185: keysym2JavaKeycodeHash.put(
2186: Long.valueOf(XKeySymConstants.XK_L8),
2187: new Keysym2JavaKeycode(
2188: java.awt.event.KeyEvent.VK_PASTE,
2189: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2190: keysym2JavaKeycodeHash.put(Long
2191: .valueOf(XKeySymConstants.XK_L10),
2192: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT,
2193: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2194: keysym2JavaKeycodeHash.put(Long
2195: .valueOf(XKeySymConstants.XK_Find),
2196: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND,
2197: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2198: keysym2JavaKeycodeHash.put(
2199: Long.valueOf(XKeySymConstants.XK_L9),
2200: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND,
2201: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2202: keysym2JavaKeycodeHash.put(
2203: Long.valueOf(XKeySymConstants.XK_L3),
2204: new Keysym2JavaKeycode(
2205: java.awt.event.KeyEvent.VK_PROPS,
2206: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2207: // XXX XK_L1 == F11; TODO: add code to use only one of them depending on the keyboard type. For now, restore
2208: // good PC behavior and bad but old Sparc behavior.
2209: // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2210:
2211: /* Sun vendor-specific versions for editing block */
2212: keysym2JavaKeycodeHash.put(Long
2213: .valueOf(XKeySymConstants.SunXK_Again),
2214: new Keysym2JavaKeycode(
2215: java.awt.event.KeyEvent.VK_AGAIN,
2216: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2217: keysym2JavaKeycodeHash.put(Long
2218: .valueOf(XKeySymConstants.SunXK_Undo),
2219: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO,
2220: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2221: keysym2JavaKeycodeHash.put(Long
2222: .valueOf(XKeySymConstants.SunXK_Copy),
2223: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY,
2224: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2225: keysym2JavaKeycodeHash.put(Long
2226: .valueOf(XKeySymConstants.SunXK_Paste),
2227: new Keysym2JavaKeycode(
2228: java.awt.event.KeyEvent.VK_PASTE,
2229: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2230: keysym2JavaKeycodeHash.put(Long
2231: .valueOf(XKeySymConstants.SunXK_Cut),
2232: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT,
2233: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2234: keysym2JavaKeycodeHash.put(Long
2235: .valueOf(XKeySymConstants.SunXK_Find),
2236: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND,
2237: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2238: keysym2JavaKeycodeHash.put(Long
2239: .valueOf(XKeySymConstants.SunXK_Props),
2240: new Keysym2JavaKeycode(
2241: java.awt.event.KeyEvent.VK_PROPS,
2242: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2243: keysym2JavaKeycodeHash.put(Long
2244: .valueOf(XKeySymConstants.SunXK_Stop),
2245: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP,
2246: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2247:
2248: /* Apollo (HP) vendor-specific versions for editing block */
2249: keysym2JavaKeycodeHash.put(Long
2250: .valueOf(XKeySymConstants.apXK_Copy),
2251: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY,
2252: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2253: keysym2JavaKeycodeHash.put(Long
2254: .valueOf(XKeySymConstants.apXK_Cut),
2255: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT,
2256: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2257: keysym2JavaKeycodeHash.put(Long
2258: .valueOf(XKeySymConstants.apXK_Paste),
2259: new Keysym2JavaKeycode(
2260: java.awt.event.KeyEvent.VK_PASTE,
2261: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2262:
2263: /* Other vendor-specific versions for editing block */
2264: keysym2JavaKeycodeHash.put(Long
2265: .valueOf(XKeySymConstants.osfXK_Copy),
2266: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY,
2267: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2268: keysym2JavaKeycodeHash.put(Long
2269: .valueOf(XKeySymConstants.osfXK_Cut),
2270: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT,
2271: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2272: keysym2JavaKeycodeHash.put(Long
2273: .valueOf(XKeySymConstants.osfXK_Paste),
2274: new Keysym2JavaKeycode(
2275: java.awt.event.KeyEvent.VK_PASTE,
2276: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2277: keysym2JavaKeycodeHash.put(Long
2278: .valueOf(XKeySymConstants.osfXK_Undo),
2279: new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO,
2280: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2281:
2282: /* Dead key mappings (for European keyboards) */
2283: keysym2JavaKeycodeHash.put(Long
2284: .valueOf(XKeySymConstants.XK_dead_grave),
2285: new Keysym2JavaKeycode(
2286: java.awt.event.KeyEvent.VK_DEAD_GRAVE,
2287: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2288: keysym2JavaKeycodeHash.put(Long
2289: .valueOf(XKeySymConstants.XK_dead_acute),
2290: new Keysym2JavaKeycode(
2291: java.awt.event.KeyEvent.VK_DEAD_ACUTE,
2292: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2293: keysym2JavaKeycodeHash.put(Long
2294: .valueOf(XKeySymConstants.XK_dead_circumflex),
2295: new Keysym2JavaKeycode(
2296: java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX,
2297: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2298: keysym2JavaKeycodeHash.put(Long
2299: .valueOf(XKeySymConstants.XK_dead_tilde),
2300: new Keysym2JavaKeycode(
2301: java.awt.event.KeyEvent.VK_DEAD_TILDE,
2302: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2303: keysym2JavaKeycodeHash.put(Long
2304: .valueOf(XKeySymConstants.XK_dead_macron),
2305: new Keysym2JavaKeycode(
2306: java.awt.event.KeyEvent.VK_DEAD_MACRON,
2307: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2308: keysym2JavaKeycodeHash.put(Long
2309: .valueOf(XKeySymConstants.XK_dead_breve),
2310: new Keysym2JavaKeycode(
2311: java.awt.event.KeyEvent.VK_DEAD_BREVE,
2312: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2313: keysym2JavaKeycodeHash.put(Long
2314: .valueOf(XKeySymConstants.XK_dead_abovedot),
2315: new Keysym2JavaKeycode(
2316: java.awt.event.KeyEvent.VK_DEAD_ABOVEDOT,
2317: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2318: keysym2JavaKeycodeHash.put(Long
2319: .valueOf(XKeySymConstants.XK_dead_diaeresis),
2320: new Keysym2JavaKeycode(
2321: java.awt.event.KeyEvent.VK_DEAD_DIAERESIS,
2322: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2323: keysym2JavaKeycodeHash.put(Long
2324: .valueOf(XKeySymConstants.XK_dead_abovering),
2325: new Keysym2JavaKeycode(
2326: java.awt.event.KeyEvent.VK_DEAD_ABOVERING,
2327: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2328: keysym2JavaKeycodeHash.put(Long
2329: .valueOf(XKeySymConstants.XK_dead_doubleacute),
2330: new Keysym2JavaKeycode(
2331: java.awt.event.KeyEvent.VK_DEAD_DOUBLEACUTE,
2332: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2333: keysym2JavaKeycodeHash.put(Long
2334: .valueOf(XKeySymConstants.XK_dead_caron),
2335: new Keysym2JavaKeycode(
2336: java.awt.event.KeyEvent.VK_DEAD_CARON,
2337: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2338: keysym2JavaKeycodeHash.put(Long
2339: .valueOf(XKeySymConstants.XK_dead_cedilla),
2340: new Keysym2JavaKeycode(
2341: java.awt.event.KeyEvent.VK_DEAD_CEDILLA,
2342: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2343: keysym2JavaKeycodeHash.put(Long
2344: .valueOf(XKeySymConstants.XK_dead_ogonek),
2345: new Keysym2JavaKeycode(
2346: java.awt.event.KeyEvent.VK_DEAD_OGONEK,
2347: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2348: keysym2JavaKeycodeHash.put(Long
2349: .valueOf(XKeySymConstants.XK_dead_iota),
2350: new Keysym2JavaKeycode(
2351: java.awt.event.KeyEvent.VK_DEAD_IOTA,
2352: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2353: keysym2JavaKeycodeHash.put(Long
2354: .valueOf(XKeySymConstants.XK_dead_voiced_sound),
2355: new Keysym2JavaKeycode(
2356: java.awt.event.KeyEvent.VK_DEAD_VOICED_SOUND,
2357: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2358: keysym2JavaKeycodeHash
2359: .put(
2360: Long
2361: .valueOf(XKeySymConstants.XK_dead_semivoiced_sound),
2362: new Keysym2JavaKeycode(
2363: java.awt.event.KeyEvent.VK_DEAD_SEMIVOICED_SOUND,
2364: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2365:
2366: /* Sun vendor-specific dead key mappings (for European keyboards) */
2367: keysym2JavaKeycodeHash.put(Long
2368: .valueOf(XKeySymConstants.SunXK_FA_Grave),
2369: new Keysym2JavaKeycode(
2370: java.awt.event.KeyEvent.VK_DEAD_GRAVE,
2371: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2372: keysym2JavaKeycodeHash.put(Long
2373: .valueOf(XKeySymConstants.SunXK_FA_Circum),
2374: new Keysym2JavaKeycode(
2375: java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX,
2376: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2377: keysym2JavaKeycodeHash.put(Long
2378: .valueOf(XKeySymConstants.SunXK_FA_Tilde),
2379: new Keysym2JavaKeycode(
2380: java.awt.event.KeyEvent.VK_DEAD_TILDE,
2381: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2382: keysym2JavaKeycodeHash.put(Long
2383: .valueOf(XKeySymConstants.SunXK_FA_Acute),
2384: new Keysym2JavaKeycode(
2385: java.awt.event.KeyEvent.VK_DEAD_ACUTE,
2386: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2387: keysym2JavaKeycodeHash.put(Long
2388: .valueOf(XKeySymConstants.SunXK_FA_Diaeresis),
2389: new Keysym2JavaKeycode(
2390: java.awt.event.KeyEvent.VK_DEAD_DIAERESIS,
2391: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2392: keysym2JavaKeycodeHash.put(Long
2393: .valueOf(XKeySymConstants.SunXK_FA_Cedilla),
2394: new Keysym2JavaKeycode(
2395: java.awt.event.KeyEvent.VK_DEAD_CEDILLA,
2396: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2397:
2398: /* DEC vendor-specific dead key mappings (for European keyboards) */
2399: keysym2JavaKeycodeHash.put(Long
2400: .valueOf(XKeySymConstants.DXK_ring_accent),
2401: new Keysym2JavaKeycode(
2402: java.awt.event.KeyEvent.VK_DEAD_ABOVERING,
2403: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2404: keysym2JavaKeycodeHash.put(Long
2405: .valueOf(XKeySymConstants.DXK_circumflex_accent),
2406: new Keysym2JavaKeycode(
2407: java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX,
2408: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2409: keysym2JavaKeycodeHash.put(Long
2410: .valueOf(XKeySymConstants.DXK_cedilla_accent),
2411: new Keysym2JavaKeycode(
2412: java.awt.event.KeyEvent.VK_DEAD_CEDILLA,
2413: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2414: keysym2JavaKeycodeHash.put(Long
2415: .valueOf(XKeySymConstants.DXK_acute_accent),
2416: new Keysym2JavaKeycode(
2417: java.awt.event.KeyEvent.VK_DEAD_ACUTE,
2418: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2419: keysym2JavaKeycodeHash.put(Long
2420: .valueOf(XKeySymConstants.DXK_grave_accent),
2421: new Keysym2JavaKeycode(
2422: java.awt.event.KeyEvent.VK_DEAD_GRAVE,
2423: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2424: keysym2JavaKeycodeHash.put(Long
2425: .valueOf(XKeySymConstants.DXK_tilde),
2426: new Keysym2JavaKeycode(
2427: java.awt.event.KeyEvent.VK_DEAD_TILDE,
2428: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2429: keysym2JavaKeycodeHash.put(Long
2430: .valueOf(XKeySymConstants.DXK_diaeresis),
2431: new Keysym2JavaKeycode(
2432: java.awt.event.KeyEvent.VK_DEAD_DIAERESIS,
2433: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2434:
2435: /* Other vendor-specific dead key mappings (for European keyboards) */
2436: keysym2JavaKeycodeHash.put(Long
2437: .valueOf(XKeySymConstants.hpXK_mute_acute),
2438: new Keysym2JavaKeycode(
2439: java.awt.event.KeyEvent.VK_DEAD_ACUTE,
2440: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2441: keysym2JavaKeycodeHash.put(Long
2442: .valueOf(XKeySymConstants.hpXK_mute_grave),
2443: new Keysym2JavaKeycode(
2444: java.awt.event.KeyEvent.VK_DEAD_GRAVE,
2445: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2446: keysym2JavaKeycodeHash.put(Long
2447: .valueOf(XKeySymConstants.hpXK_mute_asciicircum),
2448: new Keysym2JavaKeycode(
2449: java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX,
2450: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2451: keysym2JavaKeycodeHash.put(Long
2452: .valueOf(XKeySymConstants.hpXK_mute_diaeresis),
2453: new Keysym2JavaKeycode(
2454: java.awt.event.KeyEvent.VK_DEAD_DIAERESIS,
2455: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2456: keysym2JavaKeycodeHash.put(Long
2457: .valueOf(XKeySymConstants.hpXK_mute_asciitilde),
2458: new Keysym2JavaKeycode(
2459: java.awt.event.KeyEvent.VK_DEAD_TILDE,
2460: java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
2461:
2462: keysym2JavaKeycodeHash.put(Long.valueOf(XConstants.NoSymbol),
2463: new Keysym2JavaKeycode(
2464: java.awt.event.KeyEvent.VK_UNDEFINED,
2465: java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN));
2466: };
2467:
2468: }
|