1 // This is a generated file: do not edit! Edit keysym2ucs.h if necessary. 2 3 /* 4 * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 5 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6 * 7 * This code is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 only, as 9 * published by the Free Software Foundation. Oracle designates this 10 * particular file as subject to the "Classpath" exception as provided 11 * by Oracle in the LICENSE file that accompanied this code. 12 * 13 * This code is distributed in the hope that it will be useful, but WITHOUT 14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 16 * version 2 for more details (a copy is included in the LICENSE file that 17 * accompanied this code). 18 * 19 * You should have received a copy of the GNU General Public License version 20 * 2 along with this work; if not, write to the Free Software Foundation, 21 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 22 * 23 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 24 * or visit www.oracle.com if you need additional information or have any 25 * questions. 26 */ 27 28 package sun.awt.X11; 29 import java.util.Hashtable; 30 import jdk.internal.misc.Unsafe; 31 32 import sun.util.logging.PlatformLogger; 33 34 public class XKeysym { 35 36 public static void main( String args[] ) { 37 System.out.println( "Cyrillc zhe:"+convertKeysym(0x06d6, 0)); 38 System.out.println( "Arabic sheen:"+convertKeysym(0x05d4, 0)); 39 System.out.println( "Latin a breve:"+convertKeysym(0x01e3, 0)); 40 System.out.println( "Latin f:"+convertKeysym(0x066, 0)); 41 System.out.println( "Backspace:"+Integer.toHexString(convertKeysym(0xff08, 0))); 42 System.out.println( "Ctrl+f:"+Integer.toHexString(convertKeysym(0x066, XConstants.ControlMask))); 43 } 44 45 private XKeysym() {} 46 47 static class Keysym2JavaKeycode { 48 int jkeycode; 49 int keyLocation; 50 int getJavaKeycode() { 51 return jkeycode; 52 } 53 int getKeyLocation() { 54 return keyLocation; 55 } 56 Keysym2JavaKeycode(int jk, int loc) { 57 jkeycode = jk; 58 keyLocation = loc; 59 } 60 }; 61 private static Unsafe unsafe = XlibWrapper.unsafe; 62 static Hashtable<Long, Keysym2JavaKeycode> keysym2JavaKeycodeHash = new Hashtable<Long, Keysym2JavaKeycode>(); 63 static Hashtable<Long, Character> keysym2UCSHash = new Hashtable<Long, Character>(); 64 static Hashtable<Long, Long> uppercaseHash = new Hashtable<Long, Long>(); 65 // TODO: or not to do: add reverse lookup javakeycode2keysym, 66 // for robot only it seems to me. After that, we can remove lookup table 67 // from XWindow.c altogether. 68 // Another use for reverse lookup: query keyboard state, for some keys. 69 static Hashtable<Integer, Long> javaKeycode2KeysymHash = new Hashtable<Integer, Long>(); 70 static long keysym_lowercase = unsafe.allocateMemory(Native.getLongSize()); 71 static long keysym_uppercase = unsafe.allocateMemory(Native.getLongSize()); 72 static Keysym2JavaKeycode kanaLock = new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KANA_LOCK, 73 java.awt.event.KeyEvent.KEY_LOCATION_STANDARD); 74 private static PlatformLogger keyEventLog = PlatformLogger.getLogger("sun.awt.X11.kye.XKeysym"); 75 public static char convertKeysym( long ks, int state ) { 76 77 /* First check for Latin-1 characters (1:1 mapping) */ 78 if ((ks >= 0x0020 && ks <= 0x007e) || 79 (ks >= 0x00a0 && ks <= 0x00ff)) { 80 if( (state & XConstants.ControlMask) != 0 ) { 81 if ((ks >= 'A' && ks <= ']') || (ks == '_') || 82 (ks >= 'a' && ks <='z')) { 83 ks &= 0x1F; 84 } 85 } 86 return (char)ks; 87 } 88 89 /* XXX: Also check for directly encoded 24-bit UCS characters: 90 */ 91 if ((ks & 0xff000000) == 0x01000000) 92 return (char)(ks & 0x00ffffff); 93 94 Character ch = keysym2UCSHash.get(ks); 95 return ch == null ? (char)0 : ch.charValue(); 96 } 97 static long xkeycode2keysym_noxkb(XKeyEvent ev, int ndx) { 98 XToolkit.awtLock(); 99 try { 100 return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx); 101 } finally { 102 XToolkit.awtUnlock(); 103 } 104 } 105 static long xkeycode2keysym_xkb(XKeyEvent ev, int ndx) { 106 XToolkit.awtLock(); 107 try { 108 int mods = ev.get_state(); 109 if ((ndx == 0) && ((mods & XConstants.ShiftMask) != 0)) { 110 // I don't know all possible meanings of 'ndx' in case of XKB 111 // and don't want to speculate. But this particular case 112 // clearly means that caller needs a so called primary keysym. 113 mods ^= XConstants.ShiftMask; 114 } 115 long kbdDesc = XToolkit.getXKBKbdDesc(); 116 if( kbdDesc != 0 ) { 117 XlibWrapper.XkbTranslateKeyCode(kbdDesc, ev.get_keycode(), 118 mods, XlibWrapper.iarg1, XlibWrapper.larg3); 119 }else{ 120 // xkb resources already gone 121 keyEventLog.fine("Thread race: Toolkit shutdown before the end of a key event processing."); 122 return 0; 123 } 124 //XXX unconsumed modifiers? 125 return Native.getLong(XlibWrapper.larg3); 126 } finally { 127 XToolkit.awtUnlock(); 128 } 129 } 130 static long xkeycode2keysym(XKeyEvent ev, int ndx) { 131 XToolkit.awtLock(); 132 try { 133 if (XToolkit.canUseXKBCalls()) { 134 return xkeycode2keysym_xkb(ev, ndx); 135 }else{ 136 return xkeycode2keysym_noxkb(ev, ndx); 137 } 138 } finally { 139 XToolkit.awtUnlock(); 140 } 141 } 142 static long xkeycode2primary_keysym(XKeyEvent ev) { 143 return xkeycode2keysym(ev, 0); 144 } 145 public static boolean isKPEvent( XKeyEvent ev ) 146 { 147 // Xsun without XKB uses keysymarray[2] keysym to determine if it is KP event. 148 // Otherwise, it is [1]. 149 int ndx = XToolkit.isXsunKPBehavior() && 150 ! XToolkit.isXKBenabled() ? 2 : 1; 151 // Even if XKB is enabled, we have another problem: some symbol tables (e.g. cz) force 152 // a regular comma instead of KP_comma for a decimal separator. Result is, 153 // bugs like 6454041. So, we will try for keypadness a keysym with ndx==0 as well. 154 XToolkit.awtLock(); 155 try { 156 return (XlibWrapper.IsKeypadKey( 157 XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx ) ) || 158 XlibWrapper.IsKeypadKey( 159 XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), 0 ) )); 160 } finally { 161 XToolkit.awtUnlock(); 162 } 163 } 164 /** 165 Return uppercase keysym correspondent to a given keysym. 166 If input keysym does not belong to any lower/uppercase pair, return -1. 167 */ 168 public static long getUppercaseAlphabetic( long keysym ) { 169 long lc = -1; 170 long uc = -1; 171 Long stored = uppercaseHash.get(keysym); 172 if (stored != null ) { 173 return stored.longValue(); 174 } 175 XToolkit.awtLock(); 176 try { 177 XlibWrapper.XConvertCase(keysym, keysym_lowercase, keysym_uppercase); 178 lc = Native.getLong(keysym_lowercase); 179 uc = Native.getLong(keysym_uppercase); 180 if (lc == uc) { 181 //not applicable 182 uc = -1; 183 } 184 uppercaseHash.put(keysym, uc); 185 } finally { 186 XToolkit.awtUnlock(); 187 } 188 return uc; 189 } 190 /** 191 Get a keypad keysym derived from a keycode. 192 I do not check if this is a keypad event, I just presume it. 193 */ 194 private static long getKeypadKeysym( XKeyEvent ev ) { 195 int ndx = 0; 196 long keysym = XConstants.NoSymbol; 197 if( XToolkit.isXsunKPBehavior() && 198 ! XToolkit.isXKBenabled() ) { 199 if( (ev.get_state() & XConstants.ShiftMask) != 0 ) { // shift modifier is on 200 ndx = 3; 201 keysym = xkeycode2keysym(ev, ndx); 202 } else { 203 ndx = 2; 204 keysym = xkeycode2keysym(ev, ndx); 205 } 206 } else { 207 if( (ev.get_state() & XConstants.ShiftMask) != 0 || // shift modifier is on 208 ((ev.get_state() & XConstants.LockMask) != 0 && // lock modifier is on 209 (XToolkit.modLockIsShiftLock != 0)) ) { // it is interpreted as ShiftLock 210 ndx = 0; 211 keysym = xkeycode2keysym(ev, ndx); 212 } else { 213 ndx = 1; 214 keysym = xkeycode2keysym(ev, ndx); 215 } 216 } 217 return keysym; 218 } 219 220 /** 221 Return java.awt.KeyEvent constant meaning (Java) keycode, derived from X keysym. 222 Some keysyms maps to more than one keycode, these would require extra processing. 223 */ 224 static Keysym2JavaKeycode getJavaKeycode( long keysym ) { 225 if(keysym == XKeySymConstants.XK_Mode_switch){ 226 /* XK_Mode_switch on solaris maps either to VK_ALT_GRAPH (default) or VK_KANA_LOCK */ 227 if( XToolkit.isKanaKeyboard() ) { 228 return kanaLock; 229 } 230 }else if(keysym == XKeySymConstants.XK_L1){ 231 /* if it is Sun keyboard, trick hash to return VK_STOP else VK_F11 (default) */ 232 if( XToolkit.isSunKeyboard() ) { 233 keysym = XKeySymConstants.SunXK_Stop; 234 } 235 }else if(keysym == XKeySymConstants.XK_L2) { 236 /* if it is Sun keyboard, trick hash to return VK_AGAIN else VK_F12 (default) */ 237 if( XToolkit.isSunKeyboard() ) { 238 keysym = XKeySymConstants.SunXK_Again; 239 } 240 } 241 242 return keysym2JavaKeycodeHash.get( keysym ); 243 } 244 /** 245 Return java.awt.KeyEvent constant meaning (Java) keycode, derived from X Window KeyEvent. 246 Algorithm is, extract via XKeycodeToKeysym a proper keysym according to Xlib spec rules and 247 err exceptions, then search a java keycode in a table. 248 */ 249 static Keysym2JavaKeycode getJavaKeycode( XKeyEvent ev ) { 250 // get from keysym2JavaKeycodeHash. 251 long keysym = XConstants.NoSymbol; 252 int ndx = 0; 253 if( (ev.get_state() & XToolkit.numLockMask) != 0 && 254 isKPEvent(ev)) { 255 keysym = getKeypadKeysym( ev ); 256 } else { 257 // we only need primary-layer keysym to derive a java keycode. 258 ndx = 0; 259 keysym = xkeycode2keysym(ev, ndx); 260 } 261 262 Keysym2JavaKeycode jkc = getJavaKeycode( keysym ); 263 return jkc; 264 } 265 static int getJavaKeycodeOnly( XKeyEvent ev ) { 266 Keysym2JavaKeycode jkc = getJavaKeycode( ev ); 267 return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode(); 268 } 269 /** 270 * Return an integer java keycode apprx as it was before extending keycodes range. 271 * This call would ignore for instance XKB and process whatever is on the bottom 272 * of keysym stack. Result will not depend on actual locale, will differ between 273 * dual/multiple keyboard setup systems (e.g. English+Russian vs French+Russian) 274 * but will be someway compatible with old releases. 275 */ 276 static int getLegacyJavaKeycodeOnly( XKeyEvent ev ) { 277 long keysym = XConstants.NoSymbol; 278 int ndx = 0; 279 if( (ev.get_state() & XToolkit.numLockMask) != 0 && 280 isKPEvent(ev)) { 281 keysym = getKeypadKeysym( ev ); 282 } else { 283 // we only need primary-layer keysym to derive a java keycode. 284 ndx = 0; 285 keysym = xkeycode2keysym_noxkb(ev, ndx); 286 } 287 Keysym2JavaKeycode jkc = getJavaKeycode( keysym ); 288 return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode(); 289 } 290 static long javaKeycode2Keysym( int jkey ) { 291 Long ks = javaKeycode2KeysymHash.get( jkey ); 292 return (ks == null ? 0 : ks.longValue()); 293 } 294 /** 295 Return keysym derived from a keycode and modifiers. 296 Usually an input method does this. However non-system input methods (e.g. Java IMs) do not. 297 For rules, see "Xlib - C Language X Interface", 298 MIT X Consortium Standard 299 X Version 11, Release 6 300 Ch. 12.7 301 XXX TODO: or maybe not to do: process Mode Lock and therefore 302 not only 0-th and 1-st but 2-nd and 3-rd keysyms for a keystroke. 303 */ 304 static long getKeysym( XKeyEvent ev ) { 305 long keysym = XConstants.NoSymbol; 306 long uppercaseKeysym = XConstants.NoSymbol; 307 int ndx = 0; 308 boolean getUppercase = false; 309 if ((ev.get_state() & XToolkit.numLockMask) != 0 && 310 isKPEvent(ev)) { 311 keysym = getKeypadKeysym( ev ); 312 } else { 313 // XXX: at this point, anything in keysym[23] is ignored. 314 // 315 // Shift & Lock are off ===> ndx = 0; 316 // Shift off & Lock on & Lock is CapsLock ===> ndx = 0; 317 // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used. 318 // Shift on & Lock on & Lock is CapsLock ===> ndx == 1; 319 // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used. 320 // Shift on || (Lock on & Lock is ShiftLock) ===> ndx = 1. 321 if ((ev.get_state() & XConstants.ShiftMask) == 0) { // shift is off 322 if ((ev.get_state() & XConstants.LockMask) == 0 ) { // lock is off 323 ndx = 0; 324 getUppercase = false; 325 } else if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on 326 (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock 327 ndx = 0; 328 getUppercase = true; 329 } else if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on 330 (XToolkit.modLockIsShiftLock != 0)) { // lock is shift lock 331 ndx = 1; 332 getUppercase = false; 333 } 334 } else { // shift on 335 if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on 336 (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock 337 ndx = 1; 338 getUppercase = true; 339 } else { 340 ndx = 1; 341 getUppercase = false; 342 } 343 } 344 keysym = xkeycode2keysym(ev, ndx); 345 if (getUppercase && (uppercaseKeysym = getUppercaseAlphabetic( keysym )) != -1) { 346 keysym = uppercaseKeysym; 347 } 348 } 349 return keysym; 350 } 351 352 static { 353 keysym2UCSHash.put( (long)0xFF08, (char)0x0008); // XK_BackSpace --> <control> 354 keysym2UCSHash.put( (long)0xFF09, (char)0x0009); // XK_Tab --> <control> 355 keysym2UCSHash.put( (long)0xFF0A, (char)0x000a); // XK_Linefeed --> <control> 356 keysym2UCSHash.put( (long)0xFF0B, (char)0x000b); // XK_Clear --> <control> 357 keysym2UCSHash.put( (long)0xFF0D, (char)0x000a); // XK_Return --> <control> 358 keysym2UCSHash.put( (long)0xFF1B, (char)0x001B); // XK_Escape --> <control> 359 keysym2UCSHash.put( (long)0xFFFF, (char)0x007F); // XK_Delete --> <control> 360 keysym2UCSHash.put( (long)0xFF80, (char)0x0020); // XK_KP_Space --> SPACE 361 keysym2UCSHash.put( (long)0xFF89, (char)0x0009); // XK_KP_Tab --> <control> 362 keysym2UCSHash.put( (long)0xFF8D, (char)0x000A); // XK_KP_Enter --> <control> 363 keysym2UCSHash.put( (long)0xFF9F, (char)0x007F); // XK_KP_Delete --> <control> 364 keysym2UCSHash.put( (long)0xFFBD, (char)0x003d); // XK_KP_Equal --> EQUALS SIGN 365 keysym2UCSHash.put( (long)0xFFAA, (char)0x002a); // XK_KP_Multiply --> ASTERISK 366 keysym2UCSHash.put( (long)0xFFAB, (char)0x002b); // XK_KP_Add --> PLUS SIGN 367 keysym2UCSHash.put( (long)0xFFAC, (char)0x002c); // XK_KP_Separator --> COMMA 368 keysym2UCSHash.put( (long)0xFFAD, (char)0x002d); // XK_KP_Subtract --> HYPHEN-MINUS 369 keysym2UCSHash.put( (long)0xFFAE, (char)0x002e); // XK_KP_Decimal --> FULL STOP 370 keysym2UCSHash.put( (long)0xFFAF, (char)0x002f); // XK_KP_Divide --> SOLIDUS 371 keysym2UCSHash.put( (long)0xFFB0, (char)0x0030); // XK_KP_0 --> DIGIT ZERO 372 keysym2UCSHash.put( (long)0xFFB1, (char)0x0031); // XK_KP_1 --> DIGIT ONE 373 keysym2UCSHash.put( (long)0xFFB2, (char)0x0032); // XK_KP_2 --> DIGIT TWO 374 keysym2UCSHash.put( (long)0xFFB3, (char)0x0033); // XK_KP_3 --> DIGIT THREE 375 keysym2UCSHash.put( (long)0xFFB4, (char)0x0034); // XK_KP_4 --> DIGIT FOUR 376 keysym2UCSHash.put( (long)0xFFB5, (char)0x0035); // XK_KP_5 --> DIGIT FIVE 377 keysym2UCSHash.put( (long)0xFFB6, (char)0x0036); // XK_KP_6 --> DIGIT SIX 378 keysym2UCSHash.put( (long)0xFFB7, (char)0x0037); // XK_KP_7 --> DIGIT SEVEN 379 keysym2UCSHash.put( (long)0xFFB8, (char)0x0038); // XK_KP_8 --> DIGIT EIGHT 380 keysym2UCSHash.put( (long)0xFFB9, (char)0x0039); // XK_KP_9 --> DIGIT NINE 381 keysym2UCSHash.put( (long)0xFE20, (char)0x0009); // XK_ISO_Left_Tab --> <control> 382 keysym2UCSHash.put( (long)0xFE50, (char)0x02CB); // XK_dead_grave --> MODIFIER LETTER GRAVE ACCENT 383 keysym2UCSHash.put( (long)0xFE51, (char)0x02CA); // XK_dead_acute --> MODIFIER LETTER ACUTE ACCENT 384 keysym2UCSHash.put( (long)0xFE52, (char)0x02C6); // XK_dead_circumflex --> MODIFIER LETTER CIRCUMFLEX ACCENT 385 keysym2UCSHash.put( (long)0xFE53, (char)0x02DC); // XK_dead_tilde --> SMALL TILDE 386 keysym2UCSHash.put( (long)0xFE54, (char)0x02C9); // XK_dead_macron --> MODIFIER LETTER MACRON 387 keysym2UCSHash.put( (long)0xFE55, (char)0x02D8); // XK_dead_breve --> BREVE 388 keysym2UCSHash.put( (long)0xFE56, (char)0x02D9); // XK_dead_abovedot --> DOT ABOVE 389 keysym2UCSHash.put( (long)0xFE57, (char)0x00A8); // XK_dead_diaeresis --> DIAERESIS 390 keysym2UCSHash.put( (long)0xFE58, (char)0x02DA); // XK_dead_abovering --> RING ABOVE 391 keysym2UCSHash.put( (long)0xFE59, (char)0x02DD); // XK_dead_doubleacute --> DOUBLE ACUTE ACCENT 392 keysym2UCSHash.put( (long)0xFE5A, (char)0x02C7); // XK_dead_caron --> CARON 393 keysym2UCSHash.put( (long)0xFE5B, (char)0x00B8); // XK_dead_cedilla --> CEDILLA 394 keysym2UCSHash.put( (long)0xFE5C, (char)0x02DB); // XK_dead_ogonek --> OGONEK 395 keysym2UCSHash.put( (long)0xFE5D, (char)0x0269); // XK_dead_iota --> LATIN SMALL LETTER IOTA 396 keysym2UCSHash.put( (long)0xFE5E, (char)0x3099); // XK_dead_voiced_sound --> COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK 397 keysym2UCSHash.put( (long)0xFE5F, (char)0x309A); // XK_dead_semivoiced_sound --> COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK 398 keysym2UCSHash.put( (long)0xFE60, (char)0x0323); // XK_dead_belowdot --> COMBINING DOT BELOW 399 keysym2UCSHash.put( (long)0xFE61, (char)0x0321); // XK_dead_hook --> COMBINING PALATALIZED HOOK BELOW 400 keysym2UCSHash.put( (long)0xFE62, (char)0x031B); // XK_dead_horn --> COMBINING HORN 401 keysym2UCSHash.put( (long)0x1a1, (char)0x0104); // XK_Aogonek --> LATIN CAPITAL LETTER A WITH OGONEK 402 keysym2UCSHash.put( (long)0x1a2, (char)0x02d8); // XK_breve --> BREVE 403 keysym2UCSHash.put( (long)0x1a3, (char)0x0141); // XK_Lstroke --> LATIN CAPITAL LETTER L WITH STROKE 404 keysym2UCSHash.put( (long)0x1a5, (char)0x013d); // XK_Lcaron --> LATIN CAPITAL LETTER L WITH CARON 405 keysym2UCSHash.put( (long)0x1a6, (char)0x015a); // XK_Sacute --> LATIN CAPITAL LETTER S WITH ACUTE 406 keysym2UCSHash.put( (long)0x1a9, (char)0x0160); // XK_Scaron --> LATIN CAPITAL LETTER S WITH CARON 407 keysym2UCSHash.put( (long)0x1aa, (char)0x015e); // XK_Scedilla --> LATIN CAPITAL LETTER S WITH CEDILLA 408 keysym2UCSHash.put( (long)0x1ab, (char)0x0164); // XK_Tcaron --> LATIN CAPITAL LETTER T WITH CARON 409 keysym2UCSHash.put( (long)0x1ac, (char)0x0179); // XK_Zacute --> LATIN CAPITAL LETTER Z WITH ACUTE 410 keysym2UCSHash.put( (long)0x1ae, (char)0x017d); // XK_Zcaron --> LATIN CAPITAL LETTER Z WITH CARON 411 keysym2UCSHash.put( (long)0x1af, (char)0x017b); // XK_Zabovedot --> LATIN CAPITAL LETTER Z WITH DOT ABOVE 412 keysym2UCSHash.put( (long)0x1b1, (char)0x0105); // XK_aogonek --> LATIN SMALL LETTER A WITH OGONEK 413 keysym2UCSHash.put( (long)0x1b2, (char)0x02db); // XK_ogonek --> OGONEK 414 keysym2UCSHash.put( (long)0x1b3, (char)0x0142); // XK_lstroke --> LATIN SMALL LETTER L WITH STROKE 415 keysym2UCSHash.put( (long)0x1b5, (char)0x013e); // XK_lcaron --> LATIN SMALL LETTER L WITH CARON 416 keysym2UCSHash.put( (long)0x1b6, (char)0x015b); // XK_sacute --> LATIN SMALL LETTER S WITH ACUTE 417 keysym2UCSHash.put( (long)0x1b7, (char)0x02c7); // XK_caron --> CARON 418 keysym2UCSHash.put( (long)0x1b9, (char)0x0161); // XK_scaron --> LATIN SMALL LETTER S WITH CARON 419 keysym2UCSHash.put( (long)0x1ba, (char)0x015f); // XK_scedilla --> LATIN SMALL LETTER S WITH CEDILLA 420 keysym2UCSHash.put( (long)0x1bb, (char)0x0165); // XK_tcaron --> LATIN SMALL LETTER T WITH CARON 421 keysym2UCSHash.put( (long)0x1bc, (char)0x017a); // XK_zacute --> LATIN SMALL LETTER Z WITH ACUTE 422 keysym2UCSHash.put( (long)0x1bd, (char)0x02dd); // XK_doubleacute --> DOUBLE ACUTE ACCENT 423 keysym2UCSHash.put( (long)0x1be, (char)0x017e); // XK_zcaron --> LATIN SMALL LETTER Z WITH CARON 424 keysym2UCSHash.put( (long)0x1bf, (char)0x017c); // XK_zabovedot --> LATIN SMALL LETTER Z WITH DOT ABOVE 425 keysym2UCSHash.put( (long)0x1c0, (char)0x0154); // XK_Racute --> LATIN CAPITAL LETTER R WITH ACUTE 426 keysym2UCSHash.put( (long)0x1c3, (char)0x0102); // XK_Abreve --> LATIN CAPITAL LETTER A WITH BREVE 427 keysym2UCSHash.put( (long)0x1c5, (char)0x0139); // XK_Lacute --> LATIN CAPITAL LETTER L WITH ACUTE 428 keysym2UCSHash.put( (long)0x1c6, (char)0x0106); // XK_Cacute --> LATIN CAPITAL LETTER C WITH ACUTE 429 keysym2UCSHash.put( (long)0x1c8, (char)0x010c); // XK_Ccaron --> LATIN CAPITAL LETTER C WITH CARON 430 keysym2UCSHash.put( (long)0x1ca, (char)0x0118); // XK_Eogonek --> LATIN CAPITAL LETTER E WITH OGONEK 431 keysym2UCSHash.put( (long)0x1cc, (char)0x011a); // XK_Ecaron --> LATIN CAPITAL LETTER E WITH CARON 432 keysym2UCSHash.put( (long)0x1cf, (char)0x010e); // XK_Dcaron --> LATIN CAPITAL LETTER D WITH CARON 433 keysym2UCSHash.put( (long)0x1d0, (char)0x0110); // XK_Dstroke --> LATIN CAPITAL LETTER D WITH STROKE 434 keysym2UCSHash.put( (long)0x1d1, (char)0x0143); // XK_Nacute --> LATIN CAPITAL LETTER N WITH ACUTE 435 keysym2UCSHash.put( (long)0x1d2, (char)0x0147); // XK_Ncaron --> LATIN CAPITAL LETTER N WITH CARON 436 keysym2UCSHash.put( (long)0x1d5, (char)0x0150); // XK_Odoubleacute --> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE 437 keysym2UCSHash.put( (long)0x1d8, (char)0x0158); // XK_Rcaron --> LATIN CAPITAL LETTER R WITH CARON 438 keysym2UCSHash.put( (long)0x1d9, (char)0x016e); // XK_Uring --> LATIN CAPITAL LETTER U WITH RING ABOVE 439 keysym2UCSHash.put( (long)0x1db, (char)0x0170); // XK_Udoubleacute --> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE 440 keysym2UCSHash.put( (long)0x1de, (char)0x0162); // XK_Tcedilla --> LATIN CAPITAL LETTER T WITH CEDILLA 441 keysym2UCSHash.put( (long)0x1e0, (char)0x0155); // XK_racute --> LATIN SMALL LETTER R WITH ACUTE 442 keysym2UCSHash.put( (long)0x1e3, (char)0x0103); // XK_abreve --> LATIN SMALL LETTER A WITH BREVE 443 keysym2UCSHash.put( (long)0x1e5, (char)0x013a); // XK_lacute --> LATIN SMALL LETTER L WITH ACUTE 444 keysym2UCSHash.put( (long)0x1e6, (char)0x0107); // XK_cacute --> LATIN SMALL LETTER C WITH ACUTE 445 keysym2UCSHash.put( (long)0x1e8, (char)0x010d); // XK_ccaron --> LATIN SMALL LETTER C WITH CARON 446 keysym2UCSHash.put( (long)0x1ea, (char)0x0119); // XK_eogonek --> LATIN SMALL LETTER E WITH OGONEK 447 keysym2UCSHash.put( (long)0x1ec, (char)0x011b); // XK_ecaron --> LATIN SMALL LETTER E WITH CARON 448 keysym2UCSHash.put( (long)0x1ef, (char)0x010f); // XK_dcaron --> LATIN SMALL LETTER D WITH CARON 449 keysym2UCSHash.put( (long)0x1f0, (char)0x0111); // XK_dstroke --> LATIN SMALL LETTER D WITH STROKE 450 keysym2UCSHash.put( (long)0x1f1, (char)0x0144); // XK_nacute --> LATIN SMALL LETTER N WITH ACUTE 451 keysym2UCSHash.put( (long)0x1f2, (char)0x0148); // XK_ncaron --> LATIN SMALL LETTER N WITH CARON 452 keysym2UCSHash.put( (long)0x1f5, (char)0x0151); // XK_odoubleacute --> LATIN SMALL LETTER O WITH DOUBLE ACUTE 453 keysym2UCSHash.put( (long)0x1fb, (char)0x0171); // XK_udoubleacute --> LATIN SMALL LETTER U WITH DOUBLE ACUTE 454 keysym2UCSHash.put( (long)0x1f8, (char)0x0159); // XK_rcaron --> LATIN SMALL LETTER R WITH CARON 455 keysym2UCSHash.put( (long)0x1f9, (char)0x016f); // XK_uring --> LATIN SMALL LETTER U WITH RING ABOVE 456 keysym2UCSHash.put( (long)0x1fe, (char)0x0163); // XK_tcedilla --> LATIN SMALL LETTER T WITH CEDILLA 457 keysym2UCSHash.put( (long)0x1ff, (char)0x02d9); // XK_abovedot --> DOT ABOVE 458 keysym2UCSHash.put( (long)0x2a1, (char)0x0126); // XK_Hstroke --> LATIN CAPITAL LETTER H WITH STROKE 459 keysym2UCSHash.put( (long)0x2a6, (char)0x0124); // XK_Hcircumflex --> LATIN CAPITAL LETTER H WITH CIRCUMFLEX 460 keysym2UCSHash.put( (long)0x2a9, (char)0x0130); // XK_Iabovedot --> LATIN CAPITAL LETTER I WITH DOT ABOVE 461 keysym2UCSHash.put( (long)0x2ab, (char)0x011e); // XK_Gbreve --> LATIN CAPITAL LETTER G WITH BREVE 462 keysym2UCSHash.put( (long)0x2ac, (char)0x0134); // XK_Jcircumflex --> LATIN CAPITAL LETTER J WITH CIRCUMFLEX 463 keysym2UCSHash.put( (long)0x2b1, (char)0x0127); // XK_hstroke --> LATIN SMALL LETTER H WITH STROKE 464 keysym2UCSHash.put( (long)0x2b6, (char)0x0125); // XK_hcircumflex --> LATIN SMALL LETTER H WITH CIRCUMFLEX 465 keysym2UCSHash.put( (long)0x2b9, (char)0x0131); // XK_idotless --> LATIN SMALL LETTER DOTLESS I 466 keysym2UCSHash.put( (long)0x2bb, (char)0x011f); // XK_gbreve --> LATIN SMALL LETTER G WITH BREVE 467 keysym2UCSHash.put( (long)0x2bc, (char)0x0135); // XK_jcircumflex --> LATIN SMALL LETTER J WITH CIRCUMFLEX 468 keysym2UCSHash.put( (long)0x2c5, (char)0x010a); // XK_Cabovedot --> LATIN CAPITAL LETTER C WITH DOT ABOVE 469 keysym2UCSHash.put( (long)0x2c6, (char)0x0108); // XK_Ccircumflex --> LATIN CAPITAL LETTER C WITH CIRCUMFLEX 470 keysym2UCSHash.put( (long)0x2d5, (char)0x0120); // XK_Gabovedot --> LATIN CAPITAL LETTER G WITH DOT ABOVE 471 keysym2UCSHash.put( (long)0x2d8, (char)0x011c); // XK_Gcircumflex --> LATIN CAPITAL LETTER G WITH CIRCUMFLEX 472 keysym2UCSHash.put( (long)0x2dd, (char)0x016c); // XK_Ubreve --> LATIN CAPITAL LETTER U WITH BREVE 473 keysym2UCSHash.put( (long)0x2de, (char)0x015c); // XK_Scircumflex --> LATIN CAPITAL LETTER S WITH CIRCUMFLEX 474 keysym2UCSHash.put( (long)0x2e5, (char)0x010b); // XK_cabovedot --> LATIN SMALL LETTER C WITH DOT ABOVE 475 keysym2UCSHash.put( (long)0x2e6, (char)0x0109); // XK_ccircumflex --> LATIN SMALL LETTER C WITH CIRCUMFLEX 476 keysym2UCSHash.put( (long)0x2f5, (char)0x0121); // XK_gabovedot --> LATIN SMALL LETTER G WITH DOT ABOVE 477 keysym2UCSHash.put( (long)0x2f8, (char)0x011d); // XK_gcircumflex --> LATIN SMALL LETTER G WITH CIRCUMFLEX 478 keysym2UCSHash.put( (long)0x2fd, (char)0x016d); // XK_ubreve --> LATIN SMALL LETTER U WITH BREVE 479 keysym2UCSHash.put( (long)0x2fe, (char)0x015d); // XK_scircumflex --> LATIN SMALL LETTER S WITH CIRCUMFLEX 480 keysym2UCSHash.put( (long)0x3a2, (char)0x0138); // XK_kra --> LATIN SMALL LETTER KRA 481 keysym2UCSHash.put( (long)0x3a3, (char)0x0156); // XK_Rcedilla --> LATIN CAPITAL LETTER R WITH CEDILLA 482 keysym2UCSHash.put( (long)0x3a5, (char)0x0128); // XK_Itilde --> LATIN CAPITAL LETTER I WITH TILDE 483 keysym2UCSHash.put( (long)0x3a6, (char)0x013b); // XK_Lcedilla --> LATIN CAPITAL LETTER L WITH CEDILLA 484 keysym2UCSHash.put( (long)0x3aa, (char)0x0112); // XK_Emacron --> LATIN CAPITAL LETTER E WITH MACRON 485 keysym2UCSHash.put( (long)0x3ab, (char)0x0122); // XK_Gcedilla --> LATIN CAPITAL LETTER G WITH CEDILLA 486 keysym2UCSHash.put( (long)0x3ac, (char)0x0166); // XK_Tslash --> LATIN CAPITAL LETTER T WITH STROKE 487 keysym2UCSHash.put( (long)0x3b3, (char)0x0157); // XK_rcedilla --> LATIN SMALL LETTER R WITH CEDILLA 488 keysym2UCSHash.put( (long)0x3b5, (char)0x0129); // XK_itilde --> LATIN SMALL LETTER I WITH TILDE 489 keysym2UCSHash.put( (long)0x3b6, (char)0x013c); // XK_lcedilla --> LATIN SMALL LETTER L WITH CEDILLA 490 keysym2UCSHash.put( (long)0x3ba, (char)0x0113); // XK_emacron --> LATIN SMALL LETTER E WITH MACRON 491 keysym2UCSHash.put( (long)0x3bb, (char)0x0123); // XK_gcedilla --> LATIN SMALL LETTER G WITH CEDILLA 492 keysym2UCSHash.put( (long)0x3bc, (char)0x0167); // XK_tslash --> LATIN SMALL LETTER T WITH STROKE 493 keysym2UCSHash.put( (long)0x3bd, (char)0x014a); // XK_ENG --> LATIN CAPITAL LETTER ENG 494 keysym2UCSHash.put( (long)0x3bf, (char)0x014b); // XK_eng --> LATIN SMALL LETTER ENG 495 keysym2UCSHash.put( (long)0x3c0, (char)0x0100); // XK_Amacron --> LATIN CAPITAL LETTER A WITH MACRON 496 keysym2UCSHash.put( (long)0x3c7, (char)0x012e); // XK_Iogonek --> LATIN CAPITAL LETTER I WITH OGONEK 497 keysym2UCSHash.put( (long)0x3cc, (char)0x0116); // XK_Eabovedot --> LATIN CAPITAL LETTER E WITH DOT ABOVE 498 keysym2UCSHash.put( (long)0x3cf, (char)0x012a); // XK_Imacron --> LATIN CAPITAL LETTER I WITH MACRON 499 keysym2UCSHash.put( (long)0x3d1, (char)0x0145); // XK_Ncedilla --> LATIN CAPITAL LETTER N WITH CEDILLA 500 keysym2UCSHash.put( (long)0x3d2, (char)0x014c); // XK_Omacron --> LATIN CAPITAL LETTER O WITH MACRON 501 keysym2UCSHash.put( (long)0x3d3, (char)0x0136); // XK_Kcedilla --> LATIN CAPITAL LETTER K WITH CEDILLA 502 keysym2UCSHash.put( (long)0x3d9, (char)0x0172); // XK_Uogonek --> LATIN CAPITAL LETTER U WITH OGONEK 503 keysym2UCSHash.put( (long)0x3dd, (char)0x0168); // XK_Utilde --> LATIN CAPITAL LETTER U WITH TILDE 504 keysym2UCSHash.put( (long)0x3de, (char)0x016a); // XK_Umacron --> LATIN CAPITAL LETTER U WITH MACRON 505 keysym2UCSHash.put( (long)0x3e0, (char)0x0101); // XK_amacron --> LATIN SMALL LETTER A WITH MACRON 506 keysym2UCSHash.put( (long)0x3e7, (char)0x012f); // XK_iogonek --> LATIN SMALL LETTER I WITH OGONEK 507 keysym2UCSHash.put( (long)0x3ec, (char)0x0117); // XK_eabovedot --> LATIN SMALL LETTER E WITH DOT ABOVE 508 keysym2UCSHash.put( (long)0x3ef, (char)0x012b); // XK_imacron --> LATIN SMALL LETTER I WITH MACRON 509 keysym2UCSHash.put( (long)0x3f1, (char)0x0146); // XK_ncedilla --> LATIN SMALL LETTER N WITH CEDILLA 510 keysym2UCSHash.put( (long)0x3f2, (char)0x014d); // XK_omacron --> LATIN SMALL LETTER O WITH MACRON 511 keysym2UCSHash.put( (long)0x3f3, (char)0x0137); // XK_kcedilla --> LATIN SMALL LETTER K WITH CEDILLA 512 keysym2UCSHash.put( (long)0x3f9, (char)0x0173); // XK_uogonek --> LATIN SMALL LETTER U WITH OGONEK 513 keysym2UCSHash.put( (long)0x3fd, (char)0x0169); // XK_utilde --> LATIN SMALL LETTER U WITH TILDE 514 keysym2UCSHash.put( (long)0x3fe, (char)0x016b); // XK_umacron --> LATIN SMALL LETTER U WITH MACRON 515 keysym2UCSHash.put( (long)0x12a1, (char)0x1e02); // XK_Babovedot --> LATIN CAPITAL LETTER B WITH DOT ABOVE 516 keysym2UCSHash.put( (long)0x12a2, (char)0x1e03); // XK_babovedot --> LATIN SMALL LETTER B WITH DOT ABOVE 517 keysym2UCSHash.put( (long)0x12a6, (char)0x1e0a); // XK_Dabovedot --> LATIN CAPITAL LETTER D WITH DOT ABOVE 518 keysym2UCSHash.put( (long)0x12a8, (char)0x1e80); // XK_Wgrave --> LATIN CAPITAL LETTER W WITH GRAVE 519 keysym2UCSHash.put( (long)0x12aa, (char)0x1e82); // XK_Wacute --> LATIN CAPITAL LETTER W WITH ACUTE 520 keysym2UCSHash.put( (long)0x12ab, (char)0x1e0b); // XK_dabovedot --> LATIN SMALL LETTER D WITH DOT ABOVE 521 keysym2UCSHash.put( (long)0x12ac, (char)0x1ef2); // XK_Ygrave --> LATIN CAPITAL LETTER Y WITH GRAVE 522 keysym2UCSHash.put( (long)0x12b0, (char)0x1e1e); // XK_Fabovedot --> LATIN CAPITAL LETTER F WITH DOT ABOVE 523 keysym2UCSHash.put( (long)0x12b1, (char)0x1e1f); // XK_fabovedot --> LATIN SMALL LETTER F WITH DOT ABOVE 524 keysym2UCSHash.put( (long)0x12b4, (char)0x1e40); // XK_Mabovedot --> LATIN CAPITAL LETTER M WITH DOT ABOVE 525 keysym2UCSHash.put( (long)0x12b5, (char)0x1e41); // XK_mabovedot --> LATIN SMALL LETTER M WITH DOT ABOVE 526 keysym2UCSHash.put( (long)0x12b7, (char)0x1e56); // XK_Pabovedot --> LATIN CAPITAL LETTER P WITH DOT ABOVE 527 keysym2UCSHash.put( (long)0x12b8, (char)0x1e81); // XK_wgrave --> LATIN SMALL LETTER W WITH GRAVE 528 keysym2UCSHash.put( (long)0x12b9, (char)0x1e57); // XK_pabovedot --> LATIN SMALL LETTER P WITH DOT ABOVE 529 keysym2UCSHash.put( (long)0x12ba, (char)0x1e83); // XK_wacute --> LATIN SMALL LETTER W WITH ACUTE 530 keysym2UCSHash.put( (long)0x12bb, (char)0x1e60); // XK_Sabovedot --> LATIN CAPITAL LETTER S WITH DOT ABOVE 531 keysym2UCSHash.put( (long)0x12bc, (char)0x1ef3); // XK_ygrave --> LATIN SMALL LETTER Y WITH GRAVE 532 keysym2UCSHash.put( (long)0x12bd, (char)0x1e84); // XK_Wdiaeresis --> LATIN CAPITAL LETTER W WITH DIAERESIS 533 keysym2UCSHash.put( (long)0x12be, (char)0x1e85); // XK_wdiaeresis --> LATIN SMALL LETTER W WITH DIAERESIS 534 keysym2UCSHash.put( (long)0x12bf, (char)0x1e61); // XK_sabovedot --> LATIN SMALL LETTER S WITH DOT ABOVE 535 keysym2UCSHash.put( (long)0x12d0, (char)0x017); // XK_Wcircumflex --> 536 keysym2UCSHash.put( (long)0x12d7, (char)0x1e6a); // XK_Tabovedot --> LATIN CAPITAL LETTER T WITH DOT ABOVE 537 keysym2UCSHash.put( (long)0x12de, (char)0x0176); // XK_Ycircumflex --> LATIN CAPITAL LETTER Y WITH CIRCUMFLEX 538 keysym2UCSHash.put( (long)0x12f0, (char)0x0175); // XK_wcircumflex --> LATIN SMALL LETTER W WITH CIRCUMFLEX 539 keysym2UCSHash.put( (long)0x12f7, (char)0x1e6b); // XK_tabovedot --> LATIN SMALL LETTER T WITH DOT ABOVE 540 keysym2UCSHash.put( (long)0x12fe, (char)0x0177); // XK_ycircumflex --> LATIN SMALL LETTER Y WITH CIRCUMFLEX 541 keysym2UCSHash.put( (long)0x13bc, (char)0x0152); // XK_OE --> LATIN CAPITAL LIGATURE OE 542 keysym2UCSHash.put( (long)0x13bd, (char)0x0153); // XK_oe --> LATIN SMALL LIGATURE OE 543 keysym2UCSHash.put( (long)0x13be, (char)0x0178); // XK_Ydiaeresis --> LATIN CAPITAL LETTER Y WITH DIAERESIS 544 keysym2UCSHash.put( (long)0x47e, (char)0x203e); // XK_overline --> OVERLINE 545 keysym2UCSHash.put( (long)0x4a1, (char)0x3002); // XK_kana_fullstop --> IDEOGRAPHIC FULL STOP 546 keysym2UCSHash.put( (long)0x4a2, (char)0x300c); // XK_kana_openingbracket --> LEFT CORNER BRACKET 547 keysym2UCSHash.put( (long)0x4a3, (char)0x300d); // XK_kana_closingbracket --> RIGHT CORNER BRACKET 548 keysym2UCSHash.put( (long)0x4a4, (char)0x3001); // XK_kana_comma --> IDEOGRAPHIC COMMA 549 keysym2UCSHash.put( (long)0x4a5, (char)0x30fb); // XK_kana_conjunctive --> KATAKANA MIDDLE DOT 550 keysym2UCSHash.put( (long)0x4a6, (char)0x30f2); // XK_kana_WO --> KATAKANA LETTER WO 551 keysym2UCSHash.put( (long)0x4a7, (char)0x30a1); // XK_kana_a --> KATAKANA LETTER SMALL A 552 keysym2UCSHash.put( (long)0x4a8, (char)0x30a3); // XK_kana_i --> KATAKANA LETTER SMALL I 553 keysym2UCSHash.put( (long)0x4a9, (char)0x30a5); // XK_kana_u --> KATAKANA LETTER SMALL U 554 keysym2UCSHash.put( (long)0x4aa, (char)0x30a7); // XK_kana_e --> KATAKANA LETTER SMALL E 555 keysym2UCSHash.put( (long)0x4ab, (char)0x30a9); // XK_kana_o --> KATAKANA LETTER SMALL O 556 keysym2UCSHash.put( (long)0x4ac, (char)0x30e3); // XK_kana_ya --> KATAKANA LETTER SMALL YA 557 keysym2UCSHash.put( (long)0x4ad, (char)0x30e5); // XK_kana_yu --> KATAKANA LETTER SMALL YU 558 keysym2UCSHash.put( (long)0x4ae, (char)0x30e7); // XK_kana_yo --> KATAKANA LETTER SMALL YO 559 keysym2UCSHash.put( (long)0x4af, (char)0x30c3); // XK_kana_tsu --> KATAKANA LETTER SMALL TU 560 keysym2UCSHash.put( (long)0x4b0, (char)0x30fc); // XK_prolongedsound --> KATAKANA-HIRAGANA PROLONGED SOUND MARK 561 keysym2UCSHash.put( (long)0x4b1, (char)0x30a2); // XK_kana_A --> KATAKANA LETTER A 562 keysym2UCSHash.put( (long)0x4b2, (char)0x30a4); // XK_kana_I --> KATAKANA LETTER I 563 keysym2UCSHash.put( (long)0x4b3, (char)0x30a6); // XK_kana_U --> KATAKANA LETTER U 564 keysym2UCSHash.put( (long)0x4b4, (char)0x30a8); // XK_kana_E --> KATAKANA LETTER E 565 keysym2UCSHash.put( (long)0x4b5, (char)0x30aa); // XK_kana_O --> KATAKANA LETTER O 566 keysym2UCSHash.put( (long)0x4b6, (char)0x30ab); // XK_kana_KA --> KATAKANA LETTER KA 567 keysym2UCSHash.put( (long)0x4b7, (char)0x30ad); // XK_kana_KI --> KATAKANA LETTER KI 568 keysym2UCSHash.put( (long)0x4b8, (char)0x30af); // XK_kana_KU --> KATAKANA LETTER KU 569 keysym2UCSHash.put( (long)0x4b9, (char)0x30b1); // XK_kana_KE --> KATAKANA LETTER KE 570 keysym2UCSHash.put( (long)0x4ba, (char)0x30b3); // XK_kana_KO --> KATAKANA LETTER KO 571 keysym2UCSHash.put( (long)0x4bb, (char)0x30b5); // XK_kana_SA --> KATAKANA LETTER SA 572 keysym2UCSHash.put( (long)0x4bc, (char)0x30b7); // XK_kana_SHI --> KATAKANA LETTER SI 573 keysym2UCSHash.put( (long)0x4bd, (char)0x30b9); // XK_kana_SU --> KATAKANA LETTER SU 574 keysym2UCSHash.put( (long)0x4be, (char)0x30bb); // XK_kana_SE --> KATAKANA LETTER SE 575 keysym2UCSHash.put( (long)0x4bf, (char)0x30bd); // XK_kana_SO --> KATAKANA LETTER SO 576 keysym2UCSHash.put( (long)0x4c0, (char)0x30bf); // XK_kana_TA --> KATAKANA LETTER TA 577 keysym2UCSHash.put( (long)0x4c1, (char)0x30c1); // XK_kana_CHI --> KATAKANA LETTER TI 578 keysym2UCSHash.put( (long)0x4c2, (char)0x30c4); // XK_kana_TSU --> KATAKANA LETTER TU 579 keysym2UCSHash.put( (long)0x4c3, (char)0x30c6); // XK_kana_TE --> KATAKANA LETTER TE 580 keysym2UCSHash.put( (long)0x4c4, (char)0x30c8); // XK_kana_TO --> KATAKANA LETTER TO 581 keysym2UCSHash.put( (long)0x4c5, (char)0x30ca); // XK_kana_NA --> KATAKANA LETTER NA 582 keysym2UCSHash.put( (long)0x4c6, (char)0x30cb); // XK_kana_NI --> KATAKANA LETTER NI 583 keysym2UCSHash.put( (long)0x4c7, (char)0x30cc); // XK_kana_NU --> KATAKANA LETTER NU 584 keysym2UCSHash.put( (long)0x4c8, (char)0x30cd); // XK_kana_NE --> KATAKANA LETTER NE 585 keysym2UCSHash.put( (long)0x4c9, (char)0x30ce); // XK_kana_NO --> KATAKANA LETTER NO 586 keysym2UCSHash.put( (long)0x4ca, (char)0x30cf); // XK_kana_HA --> KATAKANA LETTER HA 587 keysym2UCSHash.put( (long)0x4cb, (char)0x30d2); // XK_kana_HI --> KATAKANA LETTER HI 588 keysym2UCSHash.put( (long)0x4cc, (char)0x30d5); // XK_kana_FU --> KATAKANA LETTER HU 589 keysym2UCSHash.put( (long)0x4cd, (char)0x30d8); // XK_kana_HE --> KATAKANA LETTER HE 590 keysym2UCSHash.put( (long)0x4ce, (char)0x30db); // XK_kana_HO --> KATAKANA LETTER HO 591 keysym2UCSHash.put( (long)0x4cf, (char)0x30de); // XK_kana_MA --> KATAKANA LETTER MA 592 keysym2UCSHash.put( (long)0x4d0, (char)0x30df); // XK_kana_MI --> KATAKANA LETTER MI 593 keysym2UCSHash.put( (long)0x4d1, (char)0x30e0); // XK_kana_MU --> KATAKANA LETTER MU 594 keysym2UCSHash.put( (long)0x4d2, (char)0x30e1); // XK_kana_ME --> KATAKANA LETTER ME 595 keysym2UCSHash.put( (long)0x4d3, (char)0x30e2); // XK_kana_MO --> KATAKANA LETTER MO 596 keysym2UCSHash.put( (long)0x4d4, (char)0x30e4); // XK_kana_YA --> KATAKANA LETTER YA 597 keysym2UCSHash.put( (long)0x4d5, (char)0x30e6); // XK_kana_YU --> KATAKANA LETTER YU 598 keysym2UCSHash.put( (long)0x4d6, (char)0x30e8); // XK_kana_YO --> KATAKANA LETTER YO 599 keysym2UCSHash.put( (long)0x4d7, (char)0x30e9); // XK_kana_RA --> KATAKANA LETTER RA 600 keysym2UCSHash.put( (long)0x4d8, (char)0x30ea); // XK_kana_RI --> KATAKANA LETTER RI 601 keysym2UCSHash.put( (long)0x4d9, (char)0x30eb); // XK_kana_RU --> KATAKANA LETTER RU 602 keysym2UCSHash.put( (long)0x4da, (char)0x30ec); // XK_kana_RE --> KATAKANA LETTER RE 603 keysym2UCSHash.put( (long)0x4db, (char)0x30ed); // XK_kana_RO --> KATAKANA LETTER RO 604 keysym2UCSHash.put( (long)0x4dc, (char)0x30ef); // XK_kana_WA --> KATAKANA LETTER WA 605 keysym2UCSHash.put( (long)0x4dd, (char)0x30f3); // XK_kana_N --> KATAKANA LETTER N 606 keysym2UCSHash.put( (long)0x4de, (char)0x309b); // XK_voicedsound --> KATAKANA-HIRAGANA VOICED SOUND MARK 607 keysym2UCSHash.put( (long)0x4df, (char)0x309c); // XK_semivoicedsound --> KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK 608 keysym2UCSHash.put( (long)0x590, (char)0x0670); // XK_Farsi_0 --> ARABIC LETTER SUPERSCRIPT ALEF 609 keysym2UCSHash.put( (long)0x591, (char)0x06f1); // XK_Farsi_1 --> EXTENDED ARABIC-INDIC DIGIT ONE 610 keysym2UCSHash.put( (long)0x592, (char)0x06f2); // XK_Farsi_2 --> EXTENDED ARABIC-INDIC DIGIT TWO 611 keysym2UCSHash.put( (long)0x593, (char)0x06f3); // XK_Farsi_3 --> EXTENDED ARABIC-INDIC DIGIT THREE 612 keysym2UCSHash.put( (long)0x594, (char)0x06f4); // XK_Farsi_4 --> EXTENDED ARABIC-INDIC DIGIT FOUR 613 keysym2UCSHash.put( (long)0x595, (char)0x06f5); // XK_Farsi_5 --> EXTENDED ARABIC-INDIC DIGIT FIVE 614 keysym2UCSHash.put( (long)0x596, (char)0x06f6); // XK_Farsi_6 --> EXTENDED ARABIC-INDIC DIGIT SIX 615 keysym2UCSHash.put( (long)0x597, (char)0x06f7); // XK_Farsi_7 --> EXTENDED ARABIC-INDIC DIGIT SEVEN 616 keysym2UCSHash.put( (long)0x598, (char)0x06f8); // XK_Farsi_8 --> EXTENDED ARABIC-INDIC DIGIT EIGHT 617 keysym2UCSHash.put( (long)0x599, (char)0x06f9); // XK_Farsi_9 --> EXTENDED ARABIC-INDIC DIGIT NINE 618 keysym2UCSHash.put( (long)0x5a5, (char)0x066a); // XK_Arabic_percent --> ARABIC PERCENT SIGN 619 keysym2UCSHash.put( (long)0x5a6, (char)0x0670); // XK_Arabic_superscript_alef --> ARABIC LETTER SUPERSCRIPT ALEF 620 keysym2UCSHash.put( (long)0x5a7, (char)0x0679); // XK_Arabic_tteh --> ARABIC LETTER TTEH 621 keysym2UCSHash.put( (long)0x5a8, (char)0x067e); // XK_Arabic_peh --> ARABIC LETTER PEH 622 keysym2UCSHash.put( (long)0x5a9, (char)0x0686); // XK_Arabic_tcheh --> ARABIC LETTER TCHEH 623 keysym2UCSHash.put( (long)0x5aa, (char)0x0688); // XK_Arabic_ddal --> ARABIC LETTER DDAL 624 keysym2UCSHash.put( (long)0x5ab, (char)0x0691); // XK_Arabic_rreh --> ARABIC LETTER RREH 625 keysym2UCSHash.put( (long)0x5ac, (char)0x060c); // XK_Arabic_comma --> ARABIC COMMA 626 keysym2UCSHash.put( (long)0x5ae, (char)0x06d4); // XK_Arabic_fullstop --> ARABIC FULL STOP 627 keysym2UCSHash.put( (long)0x5b0, (char)0x0660); // XK_Arabic_0 --> ARABIC-INDIC DIGIT ZERO 628 keysym2UCSHash.put( (long)0x5b1, (char)0x0661); // XK_Arabic_1 --> ARABIC-INDIC DIGIT ONE 629 keysym2UCSHash.put( (long)0x5b2, (char)0x0662); // XK_Arabic_2 --> ARABIC-INDIC DIGIT TWO 630 keysym2UCSHash.put( (long)0x5b3, (char)0x0663); // XK_Arabic_3 --> ARABIC-INDIC DIGIT THREE 631 keysym2UCSHash.put( (long)0x5b4, (char)0x0664); // XK_Arabic_4 --> ARABIC-INDIC DIGIT FOUR 632 keysym2UCSHash.put( (long)0x5b5, (char)0x0665); // XK_Arabic_5 --> ARABIC-INDIC DIGIT FIVE 633 keysym2UCSHash.put( (long)0x5b6, (char)0x0666); // XK_Arabic_6 --> ARABIC-INDIC DIGIT SIX 634 keysym2UCSHash.put( (long)0x5b7, (char)0x0667); // XK_Arabic_7 --> ARABIC-INDIC DIGIT SEVEN 635 keysym2UCSHash.put( (long)0x5b8, (char)0x0668); // XK_Arabic_8 --> ARABIC-INDIC DIGIT EIGHT 636 keysym2UCSHash.put( (long)0x5b9, (char)0x0669); // XK_Arabic_9 --> ARABIC-INDIC DIGIT NINE 637 keysym2UCSHash.put( (long)0x5bb, (char)0x061b); // XK_Arabic_semicolon --> ARABIC SEMICOLON 638 keysym2UCSHash.put( (long)0x5bf, (char)0x061f); // XK_Arabic_question_mark --> ARABIC QUESTION MARK 639 keysym2UCSHash.put( (long)0x5c1, (char)0x0621); // XK_Arabic_hamza --> ARABIC LETTER HAMZA 640 keysym2UCSHash.put( (long)0x5c2, (char)0x0622); // XK_Arabic_maddaonalef --> ARABIC LETTER ALEF WITH MADDA ABOVE 641 keysym2UCSHash.put( (long)0x5c3, (char)0x0623); // XK_Arabic_hamzaonalef --> ARABIC LETTER ALEF WITH HAMZA ABOVE 642 keysym2UCSHash.put( (long)0x5c4, (char)0x0624); // XK_Arabic_hamzaonwaw --> ARABIC LETTER WAW WITH HAMZA ABOVE 643 keysym2UCSHash.put( (long)0x5c5, (char)0x0625); // XK_Arabic_hamzaunderalef --> ARABIC LETTER ALEF WITH HAMZA BELOW 644 keysym2UCSHash.put( (long)0x5c6, (char)0x0626); // XK_Arabic_hamzaonyeh --> ARABIC LETTER YEH WITH HAMZA ABOVE 645 keysym2UCSHash.put( (long)0x5c7, (char)0x0627); // XK_Arabic_alef --> ARABIC LETTER ALEF 646 keysym2UCSHash.put( (long)0x5c8, (char)0x0628); // XK_Arabic_beh --> ARABIC LETTER BEH 647 keysym2UCSHash.put( (long)0x5c9, (char)0x0629); // XK_Arabic_tehmarbuta --> ARABIC LETTER TEH MARBUTA 648 keysym2UCSHash.put( (long)0x5ca, (char)0x062a); // XK_Arabic_teh --> ARABIC LETTER TEH 649 keysym2UCSHash.put( (long)0x5cb, (char)0x062b); // XK_Arabic_theh --> ARABIC LETTER THEH 650 keysym2UCSHash.put( (long)0x5cc, (char)0x062c); // XK_Arabic_jeem --> ARABIC LETTER JEEM 651 keysym2UCSHash.put( (long)0x5cd, (char)0x062d); // XK_Arabic_hah --> ARABIC LETTER HAH 652 keysym2UCSHash.put( (long)0x5ce, (char)0x062e); // XK_Arabic_khah --> ARABIC LETTER KHAH 653 keysym2UCSHash.put( (long)0x5cf, (char)0x062f); // XK_Arabic_dal --> ARABIC LETTER DAL 654 keysym2UCSHash.put( (long)0x5d0, (char)0x0630); // XK_Arabic_thal --> ARABIC LETTER THAL 655 keysym2UCSHash.put( (long)0x5d1, (char)0x0631); // XK_Arabic_ra --> ARABIC LETTER REH 656 keysym2UCSHash.put( (long)0x5d2, (char)0x0632); // XK_Arabic_zain --> ARABIC LETTER ZAIN 657 keysym2UCSHash.put( (long)0x5d3, (char)0x0633); // XK_Arabic_seen --> ARABIC LETTER SEEN 658 keysym2UCSHash.put( (long)0x5d4, (char)0x0634); // XK_Arabic_sheen --> ARABIC LETTER SHEEN 659 keysym2UCSHash.put( (long)0x5d5, (char)0x0635); // XK_Arabic_sad --> ARABIC LETTER SAD 660 keysym2UCSHash.put( (long)0x5d6, (char)0x0636); // XK_Arabic_dad --> ARABIC LETTER DAD 661 keysym2UCSHash.put( (long)0x5d7, (char)0x0637); // XK_Arabic_tah --> ARABIC LETTER TAH 662 keysym2UCSHash.put( (long)0x5d8, (char)0x0638); // XK_Arabic_zah --> ARABIC LETTER ZAH 663 keysym2UCSHash.put( (long)0x5d9, (char)0x0639); // XK_Arabic_ain --> ARABIC LETTER AIN 664 keysym2UCSHash.put( (long)0x5da, (char)0x063a); // XK_Arabic_ghain --> ARABIC LETTER GHAIN 665 keysym2UCSHash.put( (long)0x5e0, (char)0x0640); // XK_Arabic_tatweel --> ARABIC TATWEEL 666 keysym2UCSHash.put( (long)0x5e1, (char)0x0641); // XK_Arabic_feh --> ARABIC LETTER FEH 667 keysym2UCSHash.put( (long)0x5e2, (char)0x0642); // XK_Arabic_qaf --> ARABIC LETTER QAF 668 keysym2UCSHash.put( (long)0x5e3, (char)0x0643); // XK_Arabic_kaf --> ARABIC LETTER KAF 669 keysym2UCSHash.put( (long)0x5e4, (char)0x0644); // XK_Arabic_lam --> ARABIC LETTER LAM 670 keysym2UCSHash.put( (long)0x5e5, (char)0x0645); // XK_Arabic_meem --> ARABIC LETTER MEEM 671 keysym2UCSHash.put( (long)0x5e6, (char)0x0646); // XK_Arabic_noon --> ARABIC LETTER NOON 672 keysym2UCSHash.put( (long)0x5e7, (char)0x0647); // XK_Arabic_ha --> ARABIC LETTER HEH 673 keysym2UCSHash.put( (long)0x5e8, (char)0x0648); // XK_Arabic_waw --> ARABIC LETTER WAW 674 keysym2UCSHash.put( (long)0x5e9, (char)0x0649); // XK_Arabic_alefmaksura --> ARABIC LETTER ALEF MAKSURA 675 keysym2UCSHash.put( (long)0x5ea, (char)0x064a); // XK_Arabic_yeh --> ARABIC LETTER YEH 676 keysym2UCSHash.put( (long)0x5eb, (char)0x064b); // XK_Arabic_fathatan --> ARABIC FATHATAN 677 keysym2UCSHash.put( (long)0x5ec, (char)0x064c); // XK_Arabic_dammatan --> ARABIC DAMMATAN 678 keysym2UCSHash.put( (long)0x5ed, (char)0x064d); // XK_Arabic_kasratan --> ARABIC KASRATAN 679 keysym2UCSHash.put( (long)0x5ee, (char)0x064e); // XK_Arabic_fatha --> ARABIC FATHA 680 keysym2UCSHash.put( (long)0x5ef, (char)0x064f); // XK_Arabic_damma --> ARABIC DAMMA 681 keysym2UCSHash.put( (long)0x5f0, (char)0x0650); // XK_Arabic_kasra --> ARABIC KASRA 682 keysym2UCSHash.put( (long)0x5f1, (char)0x0651); // XK_Arabic_shadda --> ARABIC SHADDA 683 keysym2UCSHash.put( (long)0x5f2, (char)0x0652); // XK_Arabic_sukun --> ARABIC SUKUN 684 keysym2UCSHash.put( (long)0x5f3, (char)0x0653); // XK_Arabic_madda_above --> ARABIC MADDAH ABOVE 685 keysym2UCSHash.put( (long)0x5f4, (char)0x0654); // XK_Arabic_hamza_above --> ARABIC HAMZA ABOVE 686 keysym2UCSHash.put( (long)0x5f5, (char)0x0655); // XK_Arabic_hamza_below --> ARABIC HAMZA BELOW 687 keysym2UCSHash.put( (long)0x5f6, (char)0x0698); // XK_Arabic_jeh --> ARABIC LETTER JEH 688 keysym2UCSHash.put( (long)0x5f7, (char)0x06a4); // XK_Arabic_veh --> ARABIC LETTER VEH 689 keysym2UCSHash.put( (long)0x5f8, (char)0x06a9); // XK_Arabic_keheh --> ARABIC LETTER KEHEH 690 keysym2UCSHash.put( (long)0x5f9, (char)0x06af); // XK_Arabic_gaf --> ARABIC LETTER GAF 691 keysym2UCSHash.put( (long)0x5fa, (char)0x06ba); // XK_Arabic_noon_ghunna --> ARABIC LETTER NOON GHUNNA 692 keysym2UCSHash.put( (long)0x5fb, (char)0x06be); // XK_Arabic_heh_doachashmee --> ARABIC LETTER HEH DOACHASHMEE 693 keysym2UCSHash.put( (long)0x5fc, (char)0x06cc); // XK_Farsi_yeh --> ARABIC LETTER FARSI YEH 694 keysym2UCSHash.put( (long)0x5fd, (char)0x06d2); // XK_Arabic_yeh_baree --> ARABIC LETTER YEH BARREE 695 keysym2UCSHash.put( (long)0x5fe, (char)0x06c1); // XK_Arabic_heh_goal --> ARABIC LETTER HEH GOAL 696 keysym2UCSHash.put( (long)0x680, (char)0x0492); // XK_Cyrillic_GHE_bar --> CYRILLIC CAPITAL LETTER GHE WITH STROKE 697 keysym2UCSHash.put( (long)0x690, (char)0x0493); // XK_Cyrillic_ghe_bar --> CYRILLIC SMALL LETTER GHE WITH STROKE 698 keysym2UCSHash.put( (long)0x681, (char)0x0496); // XK_Cyrillic_ZHE_descender --> CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER 699 keysym2UCSHash.put( (long)0x691, (char)0x0497); // XK_Cyrillic_zhe_descender --> CYRILLIC SMALL LETTER ZHE WITH DESCENDER 700 keysym2UCSHash.put( (long)0x682, (char)0x049a); // XK_Cyrillic_KA_descender --> CYRILLIC CAPITAL LETTER KA WITH DESCENDER 701 keysym2UCSHash.put( (long)0x692, (char)0x049b); // XK_Cyrillic_ka_descender --> CYRILLIC SMALL LETTER KA WITH DESCENDER 702 keysym2UCSHash.put( (long)0x683, (char)0x049c); // XK_Cyrillic_KA_vertstroke --> CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE 703 keysym2UCSHash.put( (long)0x693, (char)0x049d); // XK_Cyrillic_ka_vertstroke --> CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE 704 keysym2UCSHash.put( (long)0x684, (char)0x04a2); // XK_Cyrillic_EN_descender --> CYRILLIC CAPITAL LETTER EN WITH DESCENDER 705 keysym2UCSHash.put( (long)0x694, (char)0x04a3); // XK_Cyrillic_en_descender --> CYRILLIC SMALL LETTER EN WITH DESCENDER 706 keysym2UCSHash.put( (long)0x685, (char)0x04ae); // XK_Cyrillic_U_straight --> CYRILLIC CAPITAL LETTER STRAIGHT U 707 keysym2UCSHash.put( (long)0x695, (char)0x04af); // XK_Cyrillic_u_straight --> CYRILLIC SMALL LETTER STRAIGHT U 708 keysym2UCSHash.put( (long)0x686, (char)0x04b0); // XK_Cyrillic_U_straight_bar --> CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE 709 keysym2UCSHash.put( (long)0x696, (char)0x04b1); // XK_Cyrillic_u_straight_bar --> CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE 710 keysym2UCSHash.put( (long)0x687, (char)0x04b2); // XK_Cyrillic_HA_descender --> CYRILLIC CAPITAL LETTER HA WITH DESCENDER 711 keysym2UCSHash.put( (long)0x697, (char)0x04b3); // XK_Cyrillic_ha_descender --> CYRILLIC SMALL LETTER HA WITH DESCENDER 712 keysym2UCSHash.put( (long)0x688, (char)0x04b6); // XK_Cyrillic_CHE_descender --> CYRILLIC CAPITAL LETTER CHE WITH DESCENDER 713 keysym2UCSHash.put( (long)0x698, (char)0x04b7); // XK_Cyrillic_che_descender --> CYRILLIC SMALL LETTER CHE WITH DESCENDER 714 keysym2UCSHash.put( (long)0x689, (char)0x04b8); // XK_Cyrillic_CHE_vertstroke --> CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE 715 keysym2UCSHash.put( (long)0x699, (char)0x04b9); // XK_Cyrillic_che_vertstroke --> CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE 716 keysym2UCSHash.put( (long)0x68a, (char)0x04ba); // XK_Cyrillic_SHHA --> CYRILLIC CAPITAL LETTER SHHA 717 keysym2UCSHash.put( (long)0x69a, (char)0x04bb); // XK_Cyrillic_shha --> CYRILLIC SMALL LETTER SHHA 718 keysym2UCSHash.put( (long)0x68c, (char)0x04d8); // XK_Cyrillic_SCHWA --> CYRILLIC CAPITAL LETTER SCHWA 719 keysym2UCSHash.put( (long)0x69c, (char)0x04d9); // XK_Cyrillic_schwa --> CYRILLIC SMALL LETTER SCHWA 720 keysym2UCSHash.put( (long)0x68d, (char)0x04e2); // XK_Cyrillic_I_macron --> CYRILLIC CAPITAL LETTER I WITH MACRON 721 keysym2UCSHash.put( (long)0x69d, (char)0x04e3); // XK_Cyrillic_i_macron --> CYRILLIC SMALL LETTER I WITH MACRON 722 keysym2UCSHash.put( (long)0x68e, (char)0x04e8); // XK_Cyrillic_O_bar --> CYRILLIC CAPITAL LETTER BARRED O 723 keysym2UCSHash.put( (long)0x69e, (char)0x04e9); // XK_Cyrillic_o_bar --> CYRILLIC SMALL LETTER BARRED O 724 keysym2UCSHash.put( (long)0x68f, (char)0x04ee); // XK_Cyrillic_U_macron --> CYRILLIC CAPITAL LETTER U WITH MACRON 725 keysym2UCSHash.put( (long)0x69f, (char)0x04ef); // XK_Cyrillic_u_macron --> CYRILLIC SMALL LETTER U WITH MACRON 726 keysym2UCSHash.put( (long)0x6a1, (char)0x0452); // XK_Serbian_dje --> CYRILLIC SMALL LETTER DJE 727 keysym2UCSHash.put( (long)0x6a2, (char)0x0453); // XK_Macedonia_gje --> CYRILLIC SMALL LETTER GJE 728 keysym2UCSHash.put( (long)0x6a3, (char)0x0451); // XK_Cyrillic_io --> CYRILLIC SMALL LETTER IO 729 keysym2UCSHash.put( (long)0x6a4, (char)0x0454); // XK_Ukrainian_ie --> CYRILLIC SMALL LETTER UKRAINIAN IE 730 keysym2UCSHash.put( (long)0x6a5, (char)0x0455); // XK_Macedonia_dse --> CYRILLIC SMALL LETTER DZE 731 keysym2UCSHash.put( (long)0x6a6, (char)0x0456); // XK_Ukrainian_i --> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 732 keysym2UCSHash.put( (long)0x6a7, (char)0x0457); // XK_Ukrainian_yi --> CYRILLIC SMALL LETTER YI 733 keysym2UCSHash.put( (long)0x6a8, (char)0x0458); // XK_Cyrillic_je --> CYRILLIC SMALL LETTER JE 734 keysym2UCSHash.put( (long)0x6a9, (char)0x0459); // XK_Cyrillic_lje --> CYRILLIC SMALL LETTER LJE 735 keysym2UCSHash.put( (long)0x6aa, (char)0x045a); // XK_Cyrillic_nje --> CYRILLIC SMALL LETTER NJE 736 keysym2UCSHash.put( (long)0x6ab, (char)0x045b); // XK_Serbian_tshe --> CYRILLIC SMALL LETTER TSHE 737 keysym2UCSHash.put( (long)0x6ac, (char)0x045c); // XK_Macedonia_kje --> CYRILLIC SMALL LETTER KJE 738 keysym2UCSHash.put( (long)0x6ad, (char)0x0491); // XK_Ukrainian_ghe_with_upturn --> CYRILLIC SMALL LETTER GHE WITH UPTURN 739 keysym2UCSHash.put( (long)0x6ae, (char)0x045e); // XK_Byelorussian_shortu --> CYRILLIC SMALL LETTER SHORT U 740 keysym2UCSHash.put( (long)0x6af, (char)0x045f); // XK_Cyrillic_dzhe --> CYRILLIC SMALL LETTER DZHE 741 keysym2UCSHash.put( (long)0x6b0, (char)0x2116); // XK_numerosign --> NUMERO SIGN 742 keysym2UCSHash.put( (long)0x6b1, (char)0x0402); // XK_Serbian_DJE --> CYRILLIC CAPITAL LETTER DJE 743 keysym2UCSHash.put( (long)0x6b2, (char)0x0403); // XK_Macedonia_GJE --> CYRILLIC CAPITAL LETTER GJE 744 keysym2UCSHash.put( (long)0x6b3, (char)0x0401); // XK_Cyrillic_IO --> CYRILLIC CAPITAL LETTER IO 745 keysym2UCSHash.put( (long)0x6b4, (char)0x0404); // XK_Ukrainian_IE --> CYRILLIC CAPITAL LETTER UKRAINIAN IE 746 keysym2UCSHash.put( (long)0x6b5, (char)0x0405); // XK_Macedonia_DSE --> CYRILLIC CAPITAL LETTER DZE 747 keysym2UCSHash.put( (long)0x6b6, (char)0x0406); // XK_Ukrainian_I --> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I 748 keysym2UCSHash.put( (long)0x6b7, (char)0x0407); // XK_Ukrainian_YI --> CYRILLIC CAPITAL LETTER YI 749 keysym2UCSHash.put( (long)0x6b8, (char)0x0408); // XK_Cyrillic_JE --> CYRILLIC CAPITAL LETTER JE 750 keysym2UCSHash.put( (long)0x6b9, (char)0x0409); // XK_Cyrillic_LJE --> CYRILLIC CAPITAL LETTER LJE 751 keysym2UCSHash.put( (long)0x6ba, (char)0x040a); // XK_Cyrillic_NJE --> CYRILLIC CAPITAL LETTER NJE 752 keysym2UCSHash.put( (long)0x6bb, (char)0x040b); // XK_Serbian_TSHE --> CYRILLIC CAPITAL LETTER TSHE 753 keysym2UCSHash.put( (long)0x6bc, (char)0x040c); // XK_Macedonia_KJE --> CYRILLIC CAPITAL LETTER KJE 754 keysym2UCSHash.put( (long)0x6bd, (char)0x0490); // XK_Ukrainian_GHE_WITH_UPTURN --> CYRILLIC CAPITAL LETTER GHE WITH UPTURN 755 keysym2UCSHash.put( (long)0x6be, (char)0x040e); // XK_Byelorussian_SHORTU --> CYRILLIC CAPITAL LETTER SHORT U 756 keysym2UCSHash.put( (long)0x6bf, (char)0x040f); // XK_Cyrillic_DZHE --> CYRILLIC CAPITAL LETTER DZHE 757 keysym2UCSHash.put( (long)0x6c0, (char)0x044e); // XK_Cyrillic_yu --> CYRILLIC SMALL LETTER YU 758 keysym2UCSHash.put( (long)0x6c1, (char)0x0430); // XK_Cyrillic_a --> CYRILLIC SMALL LETTER A 759 keysym2UCSHash.put( (long)0x6c2, (char)0x0431); // XK_Cyrillic_be --> CYRILLIC SMALL LETTER BE 760 keysym2UCSHash.put( (long)0x6c3, (char)0x0446); // XK_Cyrillic_tse --> CYRILLIC SMALL LETTER TSE 761 keysym2UCSHash.put( (long)0x6c4, (char)0x0434); // XK_Cyrillic_de --> CYRILLIC SMALL LETTER DE 762 keysym2UCSHash.put( (long)0x6c5, (char)0x0435); // XK_Cyrillic_ie --> CYRILLIC SMALL LETTER IE 763 keysym2UCSHash.put( (long)0x6c6, (char)0x0444); // XK_Cyrillic_ef --> CYRILLIC SMALL LETTER EF 764 keysym2UCSHash.put( (long)0x6c7, (char)0x0433); // XK_Cyrillic_ghe --> CYRILLIC SMALL LETTER GHE 765 keysym2UCSHash.put( (long)0x6c8, (char)0x0445); // XK_Cyrillic_ha --> CYRILLIC SMALL LETTER HA 766 keysym2UCSHash.put( (long)0x6c9, (char)0x0438); // XK_Cyrillic_i --> CYRILLIC SMALL LETTER I 767 keysym2UCSHash.put( (long)0x6ca, (char)0x0439); // XK_Cyrillic_shorti --> CYRILLIC SMALL LETTER SHORT I 768 keysym2UCSHash.put( (long)0x6cb, (char)0x043a); // XK_Cyrillic_ka --> CYRILLIC SMALL LETTER KA 769 keysym2UCSHash.put( (long)0x6cc, (char)0x043b); // XK_Cyrillic_el --> CYRILLIC SMALL LETTER EL 770 keysym2UCSHash.put( (long)0x6cd, (char)0x043c); // XK_Cyrillic_em --> CYRILLIC SMALL LETTER EM 771 keysym2UCSHash.put( (long)0x6ce, (char)0x043d); // XK_Cyrillic_en --> CYRILLIC SMALL LETTER EN 772 keysym2UCSHash.put( (long)0x6cf, (char)0x043e); // XK_Cyrillic_o --> CYRILLIC SMALL LETTER O 773 keysym2UCSHash.put( (long)0x6d0, (char)0x043f); // XK_Cyrillic_pe --> CYRILLIC SMALL LETTER PE 774 keysym2UCSHash.put( (long)0x6d1, (char)0x044f); // XK_Cyrillic_ya --> CYRILLIC SMALL LETTER YA 775 keysym2UCSHash.put( (long)0x6d2, (char)0x0440); // XK_Cyrillic_er --> CYRILLIC SMALL LETTER ER 776 keysym2UCSHash.put( (long)0x6d3, (char)0x0441); // XK_Cyrillic_es --> CYRILLIC SMALL LETTER ES 777 keysym2UCSHash.put( (long)0x6d4, (char)0x0442); // XK_Cyrillic_te --> CYRILLIC SMALL LETTER TE 778 keysym2UCSHash.put( (long)0x6d5, (char)0x0443); // XK_Cyrillic_u --> CYRILLIC SMALL LETTER U 779 keysym2UCSHash.put( (long)0x6d6, (char)0x0436); // XK_Cyrillic_zhe --> CYRILLIC SMALL LETTER ZHE 780 keysym2UCSHash.put( (long)0x6d7, (char)0x0432); // XK_Cyrillic_ve --> CYRILLIC SMALL LETTER VE 781 keysym2UCSHash.put( (long)0x6d8, (char)0x044c); // XK_Cyrillic_softsign --> CYRILLIC SMALL LETTER SOFT SIGN 782 keysym2UCSHash.put( (long)0x6d9, (char)0x044b); // XK_Cyrillic_yeru --> CYRILLIC SMALL LETTER YERU 783 keysym2UCSHash.put( (long)0x6da, (char)0x0437); // XK_Cyrillic_ze --> CYRILLIC SMALL LETTER ZE 784 keysym2UCSHash.put( (long)0x6db, (char)0x0448); // XK_Cyrillic_sha --> CYRILLIC SMALL LETTER SHA 785 keysym2UCSHash.put( (long)0x6dc, (char)0x044d); // XK_Cyrillic_e --> CYRILLIC SMALL LETTER E 786 keysym2UCSHash.put( (long)0x6dd, (char)0x0449); // XK_Cyrillic_shcha --> CYRILLIC SMALL LETTER SHCHA 787 keysym2UCSHash.put( (long)0x6de, (char)0x0447); // XK_Cyrillic_che --> CYRILLIC SMALL LETTER CHE 788 keysym2UCSHash.put( (long)0x6df, (char)0x044a); // XK_Cyrillic_hardsign --> CYRILLIC SMALL LETTER HARD SIGN 789 keysym2UCSHash.put( (long)0x6e0, (char)0x042e); // XK_Cyrillic_YU --> CYRILLIC CAPITAL LETTER YU 790 keysym2UCSHash.put( (long)0x6e1, (char)0x0410); // XK_Cyrillic_A --> CYRILLIC CAPITAL LETTER A 791 keysym2UCSHash.put( (long)0x6e2, (char)0x0411); // XK_Cyrillic_BE --> CYRILLIC CAPITAL LETTER BE 792 keysym2UCSHash.put( (long)0x6e3, (char)0x0426); // XK_Cyrillic_TSE --> CYRILLIC CAPITAL LETTER TSE 793 keysym2UCSHash.put( (long)0x6e4, (char)0x0414); // XK_Cyrillic_DE --> CYRILLIC CAPITAL LETTER DE 794 keysym2UCSHash.put( (long)0x6e5, (char)0x0415); // XK_Cyrillic_IE --> CYRILLIC CAPITAL LETTER IE 795 keysym2UCSHash.put( (long)0x6e6, (char)0x0424); // XK_Cyrillic_EF --> CYRILLIC CAPITAL LETTER EF 796 keysym2UCSHash.put( (long)0x6e7, (char)0x0413); // XK_Cyrillic_GHE --> CYRILLIC CAPITAL LETTER GHE 797 keysym2UCSHash.put( (long)0x6e8, (char)0x0425); // XK_Cyrillic_HA --> CYRILLIC CAPITAL LETTER HA 798 keysym2UCSHash.put( (long)0x6e9, (char)0x0418); // XK_Cyrillic_I --> CYRILLIC CAPITAL LETTER I 799 keysym2UCSHash.put( (long)0x6ea, (char)0x0419); // XK_Cyrillic_SHORTI --> CYRILLIC CAPITAL LETTER SHORT I 800 keysym2UCSHash.put( (long)0x6eb, (char)0x041a); // XK_Cyrillic_KA --> CYRILLIC CAPITAL LETTER KA 801 keysym2UCSHash.put( (long)0x6ec, (char)0x041b); // XK_Cyrillic_EL --> CYRILLIC CAPITAL LETTER EL 802 keysym2UCSHash.put( (long)0x6ed, (char)0x041c); // XK_Cyrillic_EM --> CYRILLIC CAPITAL LETTER EM 803 keysym2UCSHash.put( (long)0x6ee, (char)0x041d); // XK_Cyrillic_EN --> CYRILLIC CAPITAL LETTER EN 804 keysym2UCSHash.put( (long)0x6ef, (char)0x041e); // XK_Cyrillic_O --> CYRILLIC CAPITAL LETTER O 805 keysym2UCSHash.put( (long)0x6f0, (char)0x041f); // XK_Cyrillic_PE --> CYRILLIC CAPITAL LETTER PE 806 keysym2UCSHash.put( (long)0x6f1, (char)0x042f); // XK_Cyrillic_YA --> CYRILLIC CAPITAL LETTER YA 807 keysym2UCSHash.put( (long)0x6f2, (char)0x0420); // XK_Cyrillic_ER --> CYRILLIC CAPITAL LETTER ER 808 keysym2UCSHash.put( (long)0x6f3, (char)0x0421); // XK_Cyrillic_ES --> CYRILLIC CAPITAL LETTER ES 809 keysym2UCSHash.put( (long)0x6f4, (char)0x0422); // XK_Cyrillic_TE --> CYRILLIC CAPITAL LETTER TE 810 keysym2UCSHash.put( (long)0x6f5, (char)0x0423); // XK_Cyrillic_U --> CYRILLIC CAPITAL LETTER U 811 keysym2UCSHash.put( (long)0x6f6, (char)0x0416); // XK_Cyrillic_ZHE --> CYRILLIC CAPITAL LETTER ZHE 812 keysym2UCSHash.put( (long)0x6f7, (char)0x0412); // XK_Cyrillic_VE --> CYRILLIC CAPITAL LETTER VE 813 keysym2UCSHash.put( (long)0x6f8, (char)0x042c); // XK_Cyrillic_SOFTSIGN --> CYRILLIC CAPITAL LETTER SOFT SIGN 814 keysym2UCSHash.put( (long)0x6f9, (char)0x042b); // XK_Cyrillic_YERU --> CYRILLIC CAPITAL LETTER YERU 815 keysym2UCSHash.put( (long)0x6fa, (char)0x0417); // XK_Cyrillic_ZE --> CYRILLIC CAPITAL LETTER ZE 816 keysym2UCSHash.put( (long)0x6fb, (char)0x0428); // XK_Cyrillic_SHA --> CYRILLIC CAPITAL LETTER SHA 817 keysym2UCSHash.put( (long)0x6fc, (char)0x042d); // XK_Cyrillic_E --> CYRILLIC CAPITAL LETTER E 818 keysym2UCSHash.put( (long)0x6fd, (char)0x0429); // XK_Cyrillic_SHCHA --> CYRILLIC CAPITAL LETTER SHCHA 819 keysym2UCSHash.put( (long)0x6fe, (char)0x0427); // XK_Cyrillic_CHE --> CYRILLIC CAPITAL LETTER CHE 820 keysym2UCSHash.put( (long)0x6ff, (char)0x042a); // XK_Cyrillic_HARDSIGN --> CYRILLIC CAPITAL LETTER HARD SIGN 821 keysym2UCSHash.put( (long)0x7a1, (char)0x0386); // XK_Greek_ALPHAaccent --> GREEK CAPITAL LETTER ALPHA WITH TONOS 822 keysym2UCSHash.put( (long)0x7a2, (char)0x0388); // XK_Greek_EPSILONaccent --> GREEK CAPITAL LETTER EPSILON WITH TONOS 823 keysym2UCSHash.put( (long)0x7a3, (char)0x0389); // XK_Greek_ETAaccent --> GREEK CAPITAL LETTER ETA WITH TONOS 824 keysym2UCSHash.put( (long)0x7a4, (char)0x038a); // XK_Greek_IOTAaccent --> GREEK CAPITAL LETTER IOTA WITH TONOS 825 keysym2UCSHash.put( (long)0x7a5, (char)0x03aa); // XK_Greek_IOTAdieresis --> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA 826 keysym2UCSHash.put( (long)0x7a7, (char)0x038c); // XK_Greek_OMICRONaccent --> GREEK CAPITAL LETTER OMICRON WITH TONOS 827 keysym2UCSHash.put( (long)0x7a8, (char)0x038e); // XK_Greek_UPSILONaccent --> GREEK CAPITAL LETTER UPSILON WITH TONOS 828 keysym2UCSHash.put( (long)0x7a9, (char)0x03ab); // XK_Greek_UPSILONdieresis --> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA 829 keysym2UCSHash.put( (long)0x7ab, (char)0x038f); // XK_Greek_OMEGAaccent --> GREEK CAPITAL LETTER OMEGA WITH TONOS 830 keysym2UCSHash.put( (long)0x7ae, (char)0x0385); // XK_Greek_accentdieresis --> GREEK DIALYTIKA TONOS 831 keysym2UCSHash.put( (long)0x7af, (char)0x2015); // XK_Greek_horizbar --> HORIZONTAL BAR 832 keysym2UCSHash.put( (long)0x7b1, (char)0x03ac); // XK_Greek_alphaaccent --> GREEK SMALL LETTER ALPHA WITH TONOS 833 keysym2UCSHash.put( (long)0x7b2, (char)0x03ad); // XK_Greek_epsilonaccent --> GREEK SMALL LETTER EPSILON WITH TONOS 834 keysym2UCSHash.put( (long)0x7b3, (char)0x03ae); // XK_Greek_etaaccent --> GREEK SMALL LETTER ETA WITH TONOS 835 keysym2UCSHash.put( (long)0x7b4, (char)0x03af); // XK_Greek_iotaaccent --> GREEK SMALL LETTER IOTA WITH TONOS 836 keysym2UCSHash.put( (long)0x7b5, (char)0x03ca); // XK_Greek_iotadieresis --> GREEK SMALL LETTER IOTA WITH DIALYTIKA 837 keysym2UCSHash.put( (long)0x7b6, (char)0x0390); // XK_Greek_iotaaccentdieresis --> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS 838 keysym2UCSHash.put( (long)0x7b7, (char)0x03cc); // XK_Greek_omicronaccent --> GREEK SMALL LETTER OMICRON WITH TONOS 839 keysym2UCSHash.put( (long)0x7b8, (char)0x03cd); // XK_Greek_upsilonaccent --> GREEK SMALL LETTER UPSILON WITH TONOS 840 keysym2UCSHash.put( (long)0x7b9, (char)0x03cb); // XK_Greek_upsilondieresis --> GREEK SMALL LETTER UPSILON WITH DIALYTIKA 841 keysym2UCSHash.put( (long)0x7ba, (char)0x03b0); // XK_Greek_upsilonaccentdieresis --> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS 842 keysym2UCSHash.put( (long)0x7bb, (char)0x03ce); // XK_Greek_omegaaccent --> GREEK SMALL LETTER OMEGA WITH TONOS 843 keysym2UCSHash.put( (long)0x7c1, (char)0x0391); // XK_Greek_ALPHA --> GREEK CAPITAL LETTER ALPHA 844 keysym2UCSHash.put( (long)0x7c2, (char)0x0392); // XK_Greek_BETA --> GREEK CAPITAL LETTER BETA 845 keysym2UCSHash.put( (long)0x7c3, (char)0x0393); // XK_Greek_GAMMA --> GREEK CAPITAL LETTER GAMMA 846 keysym2UCSHash.put( (long)0x7c4, (char)0x0394); // XK_Greek_DELTA --> GREEK CAPITAL LETTER DELTA 847 keysym2UCSHash.put( (long)0x7c5, (char)0x0395); // XK_Greek_EPSILON --> GREEK CAPITAL LETTER EPSILON 848 keysym2UCSHash.put( (long)0x7c6, (char)0x0396); // XK_Greek_ZETA --> GREEK CAPITAL LETTER ZETA 849 keysym2UCSHash.put( (long)0x7c7, (char)0x0397); // XK_Greek_ETA --> GREEK CAPITAL LETTER ETA 850 keysym2UCSHash.put( (long)0x7c8, (char)0x0398); // XK_Greek_THETA --> GREEK CAPITAL LETTER THETA 851 keysym2UCSHash.put( (long)0x7c9, (char)0x0399); // XK_Greek_IOTA --> GREEK CAPITAL LETTER IOTA 852 keysym2UCSHash.put( (long)0x7ca, (char)0x039a); // XK_Greek_KAPPA --> GREEK CAPITAL LETTER KAPPA 853 keysym2UCSHash.put( (long)0x7cb, (char)0x039b); // XK_Greek_LAMBDA --> GREEK CAPITAL LETTER LAMDA 854 keysym2UCSHash.put( (long)0x7cc, (char)0x039c); // XK_Greek_MU --> GREEK CAPITAL LETTER MU 855 keysym2UCSHash.put( (long)0x7cd, (char)0x039d); // XK_Greek_NU --> GREEK CAPITAL LETTER NU 856 keysym2UCSHash.put( (long)0x7ce, (char)0x039e); // XK_Greek_XI --> GREEK CAPITAL LETTER XI 857 keysym2UCSHash.put( (long)0x7cf, (char)0x039f); // XK_Greek_OMICRON --> GREEK CAPITAL LETTER OMICRON 858 keysym2UCSHash.put( (long)0x7d0, (char)0x03a0); // XK_Greek_PI --> GREEK CAPITAL LETTER PI 859 keysym2UCSHash.put( (long)0x7d1, (char)0x03a1); // XK_Greek_RHO --> GREEK CAPITAL LETTER RHO 860 keysym2UCSHash.put( (long)0x7d2, (char)0x03a3); // XK_Greek_SIGMA --> GREEK CAPITAL LETTER SIGMA 861 keysym2UCSHash.put( (long)0x7d4, (char)0x03a4); // XK_Greek_TAU --> GREEK CAPITAL LETTER TAU 862 keysym2UCSHash.put( (long)0x7d5, (char)0x03a5); // XK_Greek_UPSILON --> GREEK CAPITAL LETTER UPSILON 863 keysym2UCSHash.put( (long)0x7d6, (char)0x03a6); // XK_Greek_PHI --> GREEK CAPITAL LETTER PHI 864 keysym2UCSHash.put( (long)0x7d7, (char)0x03a7); // XK_Greek_CHI --> GREEK CAPITAL LETTER CHI 865 keysym2UCSHash.put( (long)0x7d8, (char)0x03a8); // XK_Greek_PSI --> GREEK CAPITAL LETTER PSI 866 keysym2UCSHash.put( (long)0x7d9, (char)0x03a9); // XK_Greek_OMEGA --> GREEK CAPITAL LETTER OMEGA 867 keysym2UCSHash.put( (long)0x7e1, (char)0x03b1); // XK_Greek_alpha --> GREEK SMALL LETTER ALPHA 868 keysym2UCSHash.put( (long)0x7e2, (char)0x03b2); // XK_Greek_beta --> GREEK SMALL LETTER BETA 869 keysym2UCSHash.put( (long)0x7e3, (char)0x03b3); // XK_Greek_gamma --> GREEK SMALL LETTER GAMMA 870 keysym2UCSHash.put( (long)0x7e4, (char)0x03b4); // XK_Greek_delta --> GREEK SMALL LETTER DELTA 871 keysym2UCSHash.put( (long)0x7e5, (char)0x03b5); // XK_Greek_epsilon --> GREEK SMALL LETTER EPSILON 872 keysym2UCSHash.put( (long)0x7e6, (char)0x03b6); // XK_Greek_zeta --> GREEK SMALL LETTER ZETA 873 keysym2UCSHash.put( (long)0x7e7, (char)0x03b7); // XK_Greek_eta --> GREEK SMALL LETTER ETA 874 keysym2UCSHash.put( (long)0x7e8, (char)0x03b8); // XK_Greek_theta --> GREEK SMALL LETTER THETA 875 keysym2UCSHash.put( (long)0x7e9, (char)0x03b9); // XK_Greek_iota --> GREEK SMALL LETTER IOTA 876 keysym2UCSHash.put( (long)0x7ea, (char)0x03ba); // XK_Greek_kappa --> GREEK SMALL LETTER KAPPA 877 keysym2UCSHash.put( (long)0x7eb, (char)0x03bb); // XK_Greek_lambda --> GREEK SMALL LETTER LAMDA 878 keysym2UCSHash.put( (long)0x7ec, (char)0x03bc); // XK_Greek_mu --> GREEK SMALL LETTER MU 879 keysym2UCSHash.put( (long)0x7ed, (char)0x03bd); // XK_Greek_nu --> GREEK SMALL LETTER NU 880 keysym2UCSHash.put( (long)0x7ee, (char)0x03be); // XK_Greek_xi --> GREEK SMALL LETTER XI 881 keysym2UCSHash.put( (long)0x7ef, (char)0x03bf); // XK_Greek_omicron --> GREEK SMALL LETTER OMICRON 882 keysym2UCSHash.put( (long)0x7f0, (char)0x03c0); // XK_Greek_pi --> GREEK SMALL LETTER PI 883 keysym2UCSHash.put( (long)0x7f1, (char)0x03c1); // XK_Greek_rho --> GREEK SMALL LETTER RHO 884 keysym2UCSHash.put( (long)0x7f2, (char)0x03c3); // XK_Greek_sigma --> GREEK SMALL LETTER SIGMA 885 keysym2UCSHash.put( (long)0x7f3, (char)0x03c2); // XK_Greek_finalsmallsigma --> GREEK SMALL LETTER FINAL SIGMA 886 keysym2UCSHash.put( (long)0x7f4, (char)0x03c4); // XK_Greek_tau --> GREEK SMALL LETTER TAU 887 keysym2UCSHash.put( (long)0x7f5, (char)0x03c5); // XK_Greek_upsilon --> GREEK SMALL LETTER UPSILON 888 keysym2UCSHash.put( (long)0x7f6, (char)0x03c6); // XK_Greek_phi --> GREEK SMALL LETTER PHI 889 keysym2UCSHash.put( (long)0x7f7, (char)0x03c7); // XK_Greek_chi --> GREEK SMALL LETTER CHI 890 keysym2UCSHash.put( (long)0x7f8, (char)0x03c8); // XK_Greek_psi --> GREEK SMALL LETTER PSI 891 keysym2UCSHash.put( (long)0x7f9, (char)0x03c9); // XK_Greek_omega --> GREEK SMALL LETTER OMEGA 892 keysym2UCSHash.put( (long)0x8a1, (char)0x23b7); // XK_leftradical --> RADICAL SYMBOL BOTTOM 893 keysym2UCSHash.put( (long)0x8a2, (char)0x250c); // XK_topleftradical --> BOX DRAWINGS LIGHT DOWN AND RIGHT 894 keysym2UCSHash.put( (long)0x8a3, (char)0x2500); // XK_horizconnector --> BOX DRAWINGS LIGHT HORIZONTAL 895 keysym2UCSHash.put( (long)0x8a4, (char)0x2320); // XK_topintegral --> TOP HALF INTEGRAL 896 keysym2UCSHash.put( (long)0x8a5, (char)0x2321); // XK_botintegral --> BOTTOM HALF INTEGRAL 897 keysym2UCSHash.put( (long)0x8a6, (char)0x2502); // XK_vertconnector --> BOX DRAWINGS LIGHT VERTICAL 898 keysym2UCSHash.put( (long)0x8a7, (char)0x23a1); // XK_topleftsqbracket --> LEFT SQUARE BRACKET UPPER CORNER 899 keysym2UCSHash.put( (long)0x8a8, (char)0x23a3); // XK_botleftsqbracket --> LEFT SQUARE BRACKET LOWER CORNER 900 keysym2UCSHash.put( (long)0x8a9, (char)0x23a4); // XK_toprightsqbracket --> RIGHT SQUARE BRACKET UPPER CORNER 901 keysym2UCSHash.put( (long)0x8aa, (char)0x23a6); // XK_botrightsqbracket --> RIGHT SQUARE BRACKET LOWER CORNER 902 keysym2UCSHash.put( (long)0x8ab, (char)0x239b); // XK_topleftparens --> LEFT PARENTHESIS UPPER HOOK 903 keysym2UCSHash.put( (long)0x8ac, (char)0x239d); // XK_botleftparens --> LEFT PARENTHESIS LOWER HOOK 904 keysym2UCSHash.put( (long)0x8ad, (char)0x239e); // XK_toprightparens --> RIGHT PARENTHESIS UPPER HOOK 905 keysym2UCSHash.put( (long)0x8ae, (char)0x23a0); // XK_botrightparens --> RIGHT PARENTHESIS LOWER HOOK 906 keysym2UCSHash.put( (long)0x8af, (char)0x23a8); // XK_leftmiddlecurlybrace --> LEFT CURLY BRACKET MIDDLE PIECE 907 keysym2UCSHash.put( (long)0x8b0, (char)0x23ac); // XK_rightmiddlecurlybrace --> RIGHT CURLY BRACKET MIDDLE PIECE 908 keysym2UCSHash.put( (long)0x8bc, (char)0x2264); // XK_lessthanequal --> LESS-THAN OR EQUAL TO 909 keysym2UCSHash.put( (long)0x8bd, (char)0x2260); // XK_notequal --> NOT EQUAL TO 910 keysym2UCSHash.put( (long)0x8be, (char)0x2265); // XK_greaterthanequal --> GREATER-THAN OR EQUAL TO 911 keysym2UCSHash.put( (long)0x8bf, (char)0x222b); // XK_integral --> INTEGRAL 912 keysym2UCSHash.put( (long)0x8c0, (char)0x2234); // XK_therefore --> THEREFORE 913 keysym2UCSHash.put( (long)0x8c1, (char)0x221d); // XK_variation --> PROPORTIONAL TO 914 keysym2UCSHash.put( (long)0x8c2, (char)0x221e); // XK_infinity --> INFINITY 915 keysym2UCSHash.put( (long)0x8c5, (char)0x2207); // XK_nabla --> NABLA 916 keysym2UCSHash.put( (long)0x8c8, (char)0x223c); // XK_approximate --> TILDE OPERATOR 917 keysym2UCSHash.put( (long)0x8c9, (char)0x2243); // XK_similarequal --> ASYMPTOTICALLY EQUAL TO 918 keysym2UCSHash.put( (long)0x8cd, (char)0x2104); // XK_ifonlyif --> CENTRE LINE SYMBOL 919 keysym2UCSHash.put( (long)0x8ce, (char)0x21d2); // XK_implies --> RIGHTWARDS DOUBLE ARROW 920 keysym2UCSHash.put( (long)0x8cf, (char)0x2261); // XK_identical --> IDENTICAL TO 921 keysym2UCSHash.put( (long)0x8d6, (char)0x221a); // XK_radical --> SQUARE ROOT 922 keysym2UCSHash.put( (long)0x8da, (char)0x2282); // XK_includedin --> SUBSET OF 923 keysym2UCSHash.put( (long)0x8db, (char)0x2283); // XK_includes --> SUPERSET OF 924 keysym2UCSHash.put( (long)0x8dc, (char)0x2229); // XK_intersection --> INTERSECTION 925 keysym2UCSHash.put( (long)0x8dd, (char)0x222a); // XK_union --> UNION 926 keysym2UCSHash.put( (long)0x8de, (char)0x2227); // XK_logicaland --> LOGICAL AND 927 keysym2UCSHash.put( (long)0x8df, (char)0x2228); // XK_logicalor --> LOGICAL OR 928 keysym2UCSHash.put( (long)0x8ef, (char)0x2202); // XK_partialderivative --> PARTIAL DIFFERENTIAL 929 keysym2UCSHash.put( (long)0x8f6, (char)0x0192); // XK_function --> LATIN SMALL LETTER F WITH HOOK 930 keysym2UCSHash.put( (long)0x8fb, (char)0x2190); // XK_leftarrow --> LEFTWARDS ARROW 931 keysym2UCSHash.put( (long)0x8fc, (char)0x2191); // XK_uparrow --> UPWARDS ARROW 932 keysym2UCSHash.put( (long)0x8fd, (char)0x2192); // XK_rightarrow --> RIGHTWARDS ARROW 933 keysym2UCSHash.put( (long)0x8fe, (char)0x2193); // XK_downarrow --> DOWNWARDS ARROW 934 keysym2UCSHash.put( (long)0x9e0, (char)0x25c6); // XK_soliddiamond --> BLACK DIAMOND 935 keysym2UCSHash.put( (long)0x9e1, (char)0x2592); // XK_checkerboard --> MEDIUM SHADE 936 keysym2UCSHash.put( (long)0x9e2, (char)0x2409); // XK_ht --> SYMBOL FOR HORIZONTAL TABULATION 937 keysym2UCSHash.put( (long)0x9e3, (char)0x240c); // XK_ff --> SYMBOL FOR FORM FEED 938 keysym2UCSHash.put( (long)0x9e4, (char)0x240d); // XK_cr --> SYMBOL FOR CARRIAGE RETURN 939 keysym2UCSHash.put( (long)0x9e5, (char)0x240a); // XK_lf --> SYMBOL FOR LINE FEED 940 keysym2UCSHash.put( (long)0x9e8, (char)0x2424); // XK_nl --> SYMBOL FOR NEWLINE 941 keysym2UCSHash.put( (long)0x9e9, (char)0x240b); // XK_vt --> SYMBOL FOR VERTICAL TABULATION 942 keysym2UCSHash.put( (long)0x9ea, (char)0x2518); // XK_lowrightcorner --> BOX DRAWINGS LIGHT UP AND LEFT 943 keysym2UCSHash.put( (long)0x9eb, (char)0x2510); // XK_uprightcorner --> BOX DRAWINGS LIGHT DOWN AND LEFT 944 keysym2UCSHash.put( (long)0x9ec, (char)0x250c); // XK_upleftcorner --> BOX DRAWINGS LIGHT DOWN AND RIGHT 945 keysym2UCSHash.put( (long)0x9ed, (char)0x2514); // XK_lowleftcorner --> BOX DRAWINGS LIGHT UP AND RIGHT 946 keysym2UCSHash.put( (long)0x9ee, (char)0x253c); // XK_crossinglines --> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL 947 keysym2UCSHash.put( (long)0x9ef, (char)0x23ba); // XK_horizlinescan1 --> HORIZONTAL SCAN LINE-1 948 keysym2UCSHash.put( (long)0x9f0, (char)0x23bb); // XK_horizlinescan3 --> HORIZONTAL SCAN LINE-3 949 keysym2UCSHash.put( (long)0x9f1, (char)0x2500); // XK_horizlinescan5 --> BOX DRAWINGS LIGHT HORIZONTAL 950 keysym2UCSHash.put( (long)0x9f2, (char)0x23bc); // XK_horizlinescan7 --> HORIZONTAL SCAN LINE-7 951 keysym2UCSHash.put( (long)0x9f3, (char)0x23bd); // XK_horizlinescan9 --> HORIZONTAL SCAN LINE-9 952 keysym2UCSHash.put( (long)0x9f4, (char)0x251c); // XK_leftt --> BOX DRAWINGS LIGHT VERTICAL AND RIGHT 953 keysym2UCSHash.put( (long)0x9f5, (char)0x2524); // XK_rightt --> BOX DRAWINGS LIGHT VERTICAL AND LEFT 954 keysym2UCSHash.put( (long)0x9f6, (char)0x2534); // XK_bott --> BOX DRAWINGS LIGHT UP AND HORIZONTAL 955 keysym2UCSHash.put( (long)0x9f7, (char)0x242c); // XK_topt --> 956 keysym2UCSHash.put( (long)0x9f8, (char)0x2502); // XK_vertbar --> BOX DRAWINGS LIGHT VERTICAL 957 keysym2UCSHash.put( (long)0xaa1, (char)0x2003); // XK_emspace --> EM SPACE 958 keysym2UCSHash.put( (long)0xaa2, (char)0x2002); // XK_enspace --> EN SPACE 959 keysym2UCSHash.put( (long)0xaa3, (char)0x2004); // XK_em3space --> THREE-PER-EM SPACE 960 keysym2UCSHash.put( (long)0xaa4, (char)0x2005); // XK_em4space --> FOUR-PER-EM SPACE 961 keysym2UCSHash.put( (long)0xaa5, (char)0x2007); // XK_digitspace --> FIGURE SPACE 962 keysym2UCSHash.put( (long)0xaa6, (char)0x2008); // XK_punctspace --> PUNCTUATION SPACE 963 keysym2UCSHash.put( (long)0xaa7, (char)0x2009); // XK_thinspace --> THIN SPACE 964 keysym2UCSHash.put( (long)0xaa8, (char)0x200a); // XK_hairspace --> HAIR SPACE 965 keysym2UCSHash.put( (long)0xaa9, (char)0x2014); // XK_emdash --> EM DASH 966 keysym2UCSHash.put( (long)0xaaa, (char)0x2013); // XK_endash --> EN DASH 967 keysym2UCSHash.put( (long)0xaac, (char)0x2423); // XK_signifblank --> OPEN BOX 968 keysym2UCSHash.put( (long)0xaae, (char)0x2026); // XK_ellipsis --> HORIZONTAL ELLIPSIS 969 keysym2UCSHash.put( (long)0xaaf, (char)0x2025); // XK_doubbaselinedot --> TWO DOT LEADER 970 keysym2UCSHash.put( (long)0xab0, (char)0x2153); // XK_onethird --> VULGAR FRACTION ONE THIRD 971 keysym2UCSHash.put( (long)0xab1, (char)0x2154); // XK_twothirds --> VULGAR FRACTION TWO THIRDS 972 keysym2UCSHash.put( (long)0xab2, (char)0x2155); // XK_onefifth --> VULGAR FRACTION ONE FIFTH 973 keysym2UCSHash.put( (long)0xab3, (char)0x2156); // XK_twofifths --> VULGAR FRACTION TWO FIFTHS 974 keysym2UCSHash.put( (long)0xab4, (char)0x2157); // XK_threefifths --> VULGAR FRACTION THREE FIFTHS 975 keysym2UCSHash.put( (long)0xab5, (char)0x2158); // XK_fourfifths --> VULGAR FRACTION FOUR FIFTHS 976 keysym2UCSHash.put( (long)0xab6, (char)0x2159); // XK_onesixth --> VULGAR FRACTION ONE SIXTH 977 keysym2UCSHash.put( (long)0xab7, (char)0x215a); // XK_fivesixths --> VULGAR FRACTION FIVE SIXTHS 978 keysym2UCSHash.put( (long)0xab8, (char)0x2105); // XK_careof --> CARE OF 979 keysym2UCSHash.put( (long)0xabb, (char)0x2012); // XK_figdash --> FIGURE DASH 980 keysym2UCSHash.put( (long)0xabc, (char)0x27e8); // XK_leftanglebracket --> MATHEMATICAL LEFT ANGLE BRACKET 981 keysym2UCSHash.put( (long)0xabd, (char)0x002e); // XK_decimalpoint --> FULL STOP 982 keysym2UCSHash.put( (long)0xabe, (char)0x27e9); // XK_rightanglebracket --> MATHEMATICAL RIGHT ANGLE BRACKET 983 keysym2UCSHash.put( (long)0xac3, (char)0x215b); // XK_oneeighth --> VULGAR FRACTION ONE EIGHTH 984 keysym2UCSHash.put( (long)0xac4, (char)0x215c); // XK_threeeighths --> VULGAR FRACTION THREE EIGHTHS 985 keysym2UCSHash.put( (long)0xac5, (char)0x215d); // XK_fiveeighths --> VULGAR FRACTION FIVE EIGHTHS 986 keysym2UCSHash.put( (long)0xac6, (char)0x215e); // XK_seveneighths --> VULGAR FRACTION SEVEN EIGHTHS 987 keysym2UCSHash.put( (long)0xac9, (char)0x2122); // XK_trademark --> TRADE MARK SIGN 988 keysym2UCSHash.put( (long)0xaca, (char)0x2613); // XK_signaturemark --> SALTIRE 989 keysym2UCSHash.put( (long)0xacc, (char)0x25c1); // XK_leftopentriangle --> WHITE LEFT-POINTING TRIANGLE 990 keysym2UCSHash.put( (long)0xacd, (char)0x25b7); // XK_rightopentriangle --> WHITE RIGHT-POINTING TRIANGLE 991 keysym2UCSHash.put( (long)0xace, (char)0x25cb); // XK_emopencircle --> WHITE CIRCLE 992 keysym2UCSHash.put( (long)0xacf, (char)0x25af); // XK_emopenrectangle --> WHITE VERTICAL RECTANGLE 993 keysym2UCSHash.put( (long)0xad0, (char)0x2018); // XK_leftsinglequotemark --> LEFT SINGLE QUOTATION MARK 994 keysym2UCSHash.put( (long)0xad1, (char)0x2019); // XK_rightsinglequotemark --> RIGHT SINGLE QUOTATION MARK 995 keysym2UCSHash.put( (long)0xad2, (char)0x201c); // XK_leftdoublequotemark --> LEFT DOUBLE QUOTATION MARK 996 keysym2UCSHash.put( (long)0xad3, (char)0x201d); // XK_rightdoublequotemark --> RIGHT DOUBLE QUOTATION MARK 997 keysym2UCSHash.put( (long)0xad4, (char)0x211e); // XK_prescription --> PRESCRIPTION TAKE 998 keysym2UCSHash.put( (long)0xad6, (char)0x2032); // XK_minutes --> PRIME 999 keysym2UCSHash.put( (long)0xad7, (char)0x2033); // XK_seconds --> DOUBLE PRIME 1000 keysym2UCSHash.put( (long)0xad9, (char)0x271d); // XK_latincross --> LATIN CROSS 1001 keysym2UCSHash.put( (long)0xadb, (char)0x25ac); // XK_filledrectbullet --> BLACK RECTANGLE 1002 keysym2UCSHash.put( (long)0xadc, (char)0x25c0); // XK_filledlefttribullet --> BLACK LEFT-POINTING TRIANGLE 1003 keysym2UCSHash.put( (long)0xadd, (char)0x25b6); // XK_filledrighttribullet --> BLACK RIGHT-POINTING TRIANGLE 1004 keysym2UCSHash.put( (long)0xade, (char)0x25cf); // XK_emfilledcircle --> BLACK CIRCLE 1005 keysym2UCSHash.put( (long)0xadf, (char)0x25ae); // XK_emfilledrect --> BLACK VERTICAL RECTANGLE 1006 keysym2UCSHash.put( (long)0xae0, (char)0x25e6); // XK_enopencircbullet --> WHITE BULLET 1007 keysym2UCSHash.put( (long)0xae1, (char)0x25ab); // XK_enopensquarebullet --> WHITE SMALL SQUARE 1008 keysym2UCSHash.put( (long)0xae2, (char)0x25ad); // XK_openrectbullet --> WHITE RECTANGLE 1009 keysym2UCSHash.put( (long)0xae3, (char)0x25b3); // XK_opentribulletup --> WHITE UP-POINTING TRIANGLE 1010 keysym2UCSHash.put( (long)0xae4, (char)0x25bd); // XK_opentribulletdown --> WHITE DOWN-POINTING TRIANGLE 1011 keysym2UCSHash.put( (long)0xae5, (char)0x2606); // XK_openstar --> WHITE STAR 1012 keysym2UCSHash.put( (long)0xae6, (char)0x2022); // XK_enfilledcircbullet --> BULLET 1013 keysym2UCSHash.put( (long)0xae7, (char)0x25aa); // XK_enfilledsqbullet --> BLACK SMALL SQUARE 1014 keysym2UCSHash.put( (long)0xae8, (char)0x25b2); // XK_filledtribulletup --> BLACK UP-POINTING TRIANGLE 1015 keysym2UCSHash.put( (long)0xae9, (char)0x25bc); // XK_filledtribulletdown --> BLACK DOWN-POINTING TRIANGLE 1016 keysym2UCSHash.put( (long)0xaea, (char)0x261c); // XK_leftpointer --> WHITE LEFT POINTING INDEX 1017 keysym2UCSHash.put( (long)0xaeb, (char)0x261e); // XK_rightpointer --> WHITE RIGHT POINTING INDEX 1018 keysym2UCSHash.put( (long)0xaec, (char)0x2663); // XK_club --> BLACK CLUB SUIT 1019 keysym2UCSHash.put( (long)0xaed, (char)0x2666); // XK_diamond --> BLACK DIAMOND SUIT 1020 keysym2UCSHash.put( (long)0xaee, (char)0x2665); // XK_heart --> BLACK HEART SUIT 1021 keysym2UCSHash.put( (long)0xaf0, (char)0x2720); // XK_maltesecross --> MALTESE CROSS 1022 keysym2UCSHash.put( (long)0xaf1, (char)0x2020); // XK_dagger --> DAGGER 1023 keysym2UCSHash.put( (long)0xaf2, (char)0x2021); // XK_doubledagger --> DOUBLE DAGGER 1024 keysym2UCSHash.put( (long)0xaf3, (char)0x2713); // XK_checkmark --> CHECK MARK 1025 keysym2UCSHash.put( (long)0xaf4, (char)0x2717); // XK_ballotcross --> BALLOT X 1026 keysym2UCSHash.put( (long)0xaf5, (char)0x266f); // XK_musicalsharp --> MUSIC SHARP SIGN 1027 keysym2UCSHash.put( (long)0xaf6, (char)0x266d); // XK_musicalflat --> MUSIC FLAT SIGN 1028 keysym2UCSHash.put( (long)0xaf7, (char)0x2642); // XK_malesymbol --> MALE SIGN 1029 keysym2UCSHash.put( (long)0xaf8, (char)0x2640); // XK_femalesymbol --> FEMALE SIGN 1030 keysym2UCSHash.put( (long)0xaf9, (char)0x260e); // XK_telephone --> BLACK TELEPHONE 1031 keysym2UCSHash.put( (long)0xafa, (char)0x2315); // XK_telephonerecorder --> TELEPHONE RECORDER 1032 keysym2UCSHash.put( (long)0xafb, (char)0x2117); // XK_phonographcopyright --> SOUND RECORDING COPYRIGHT 1033 keysym2UCSHash.put( (long)0xafc, (char)0x2038); // XK_caret --> CARET 1034 keysym2UCSHash.put( (long)0xafd, (char)0x201a); // XK_singlelowquotemark --> SINGLE LOW-9 QUOTATION MARK 1035 keysym2UCSHash.put( (long)0xafe, (char)0x201e); // XK_doublelowquotemark --> DOUBLE LOW-9 QUOTATION MARK 1036 keysym2UCSHash.put( (long)0xba3, (char)0x003c); // XK_leftcaret --> LESS-THAN SIGN 1037 keysym2UCSHash.put( (long)0xba6, (char)0x003e); // XK_rightcaret --> GREATER-THAN SIGN 1038 keysym2UCSHash.put( (long)0xba8, (char)0x2228); // XK_downcaret --> LOGICAL OR 1039 keysym2UCSHash.put( (long)0xba9, (char)0x2227); // XK_upcaret --> LOGICAL AND 1040 keysym2UCSHash.put( (long)0xbc0, (char)0x00af); // XK_overbar --> MACRON 1041 keysym2UCSHash.put( (long)0xbc2, (char)0x22a5); // XK_downtack --> UP TACK 1042 keysym2UCSHash.put( (long)0xbc3, (char)0x2229); // XK_upshoe --> INTERSECTION 1043 keysym2UCSHash.put( (long)0xbc4, (char)0x230a); // XK_downstile --> LEFT FLOOR 1044 keysym2UCSHash.put( (long)0xbc6, (char)0x005f); // XK_underbar --> LOW LINE 1045 keysym2UCSHash.put( (long)0xbca, (char)0x2218); // XK_jot --> RING OPERATOR 1046 keysym2UCSHash.put( (long)0xbcc, (char)0x2395); // XK_quad --> APL FUNCTIONAL SYMBOL QUAD 1047 keysym2UCSHash.put( (long)0xbce, (char)0x22a4); // XK_uptack --> DOWN TACK 1048 keysym2UCSHash.put( (long)0xbcf, (char)0x25cb); // XK_circle --> WHITE CIRCLE 1049 keysym2UCSHash.put( (long)0xbd3, (char)0x2308); // XK_upstile --> LEFT CEILING 1050 keysym2UCSHash.put( (long)0xbd6, (char)0x222a); // XK_downshoe --> UNION 1051 keysym2UCSHash.put( (long)0xbd8, (char)0x2283); // XK_rightshoe --> SUPERSET OF 1052 keysym2UCSHash.put( (long)0xbda, (char)0x2282); // XK_leftshoe --> SUBSET OF 1053 keysym2UCSHash.put( (long)0xbdc, (char)0x22a2); // XK_lefttack --> RIGHT TACK 1054 keysym2UCSHash.put( (long)0xbfc, (char)0x22a3); // XK_righttack --> LEFT TACK 1055 keysym2UCSHash.put( (long)0xcdf, (char)0x2017); // XK_hebrew_doublelowline --> DOUBLE LOW LINE 1056 keysym2UCSHash.put( (long)0xce0, (char)0x05d0); // XK_hebrew_aleph --> HEBREW LETTER ALEF 1057 keysym2UCSHash.put( (long)0xce1, (char)0x05d1); // XK_hebrew_bet --> HEBREW LETTER BET 1058 keysym2UCSHash.put( (long)0xce2, (char)0x05d2); // XK_hebrew_gimel --> HEBREW LETTER GIMEL 1059 keysym2UCSHash.put( (long)0xce3, (char)0x05d3); // XK_hebrew_dalet --> HEBREW LETTER DALET 1060 keysym2UCSHash.put( (long)0xce4, (char)0x05d4); // XK_hebrew_he --> HEBREW LETTER HE 1061 keysym2UCSHash.put( (long)0xce5, (char)0x05d5); // XK_hebrew_waw --> HEBREW LETTER VAV 1062 keysym2UCSHash.put( (long)0xce6, (char)0x05d6); // XK_hebrew_zain --> HEBREW LETTER ZAYIN 1063 keysym2UCSHash.put( (long)0xce7, (char)0x05d7); // XK_hebrew_chet --> HEBREW LETTER HET 1064 keysym2UCSHash.put( (long)0xce8, (char)0x05d8); // XK_hebrew_tet --> HEBREW LETTER TET 1065 keysym2UCSHash.put( (long)0xce9, (char)0x05d9); // XK_hebrew_yod --> HEBREW LETTER YOD 1066 keysym2UCSHash.put( (long)0xcea, (char)0x05da); // XK_hebrew_finalkaph --> HEBREW LETTER FINAL KAF 1067 keysym2UCSHash.put( (long)0xceb, (char)0x05db); // XK_hebrew_kaph --> HEBREW LETTER KAF 1068 keysym2UCSHash.put( (long)0xcec, (char)0x05dc); // XK_hebrew_lamed --> HEBREW LETTER LAMED 1069 keysym2UCSHash.put( (long)0xced, (char)0x05dd); // XK_hebrew_finalmem --> HEBREW LETTER FINAL MEM 1070 keysym2UCSHash.put( (long)0xcee, (char)0x05de); // XK_hebrew_mem --> HEBREW LETTER MEM 1071 keysym2UCSHash.put( (long)0xcef, (char)0x05df); // XK_hebrew_finalnun --> HEBREW LETTER FINAL NUN 1072 keysym2UCSHash.put( (long)0xcf0, (char)0x05e0); // XK_hebrew_nun --> HEBREW LETTER NUN 1073 keysym2UCSHash.put( (long)0xcf1, (char)0x05e1); // XK_hebrew_samech --> HEBREW LETTER SAMEKH 1074 keysym2UCSHash.put( (long)0xcf2, (char)0x05e2); // XK_hebrew_ayin --> HEBREW LETTER AYIN 1075 keysym2UCSHash.put( (long)0xcf3, (char)0x05e3); // XK_hebrew_finalpe --> HEBREW LETTER FINAL PE 1076 keysym2UCSHash.put( (long)0xcf4, (char)0x05e4); // XK_hebrew_pe --> HEBREW LETTER PE 1077 keysym2UCSHash.put( (long)0xcf5, (char)0x05e5); // XK_hebrew_finalzade --> HEBREW LETTER FINAL TSADI 1078 keysym2UCSHash.put( (long)0xcf6, (char)0x05e6); // XK_hebrew_zade --> HEBREW LETTER TSADI 1079 keysym2UCSHash.put( (long)0xcf7, (char)0x05e7); // XK_hebrew_qoph --> HEBREW LETTER QOF 1080 keysym2UCSHash.put( (long)0xcf8, (char)0x05e8); // XK_hebrew_resh --> HEBREW LETTER RESH 1081 keysym2UCSHash.put( (long)0xcf9, (char)0x05e9); // XK_hebrew_shin --> HEBREW LETTER SHIN 1082 keysym2UCSHash.put( (long)0xcfa, (char)0x05ea); // XK_hebrew_taw --> HEBREW LETTER TAV 1083 keysym2UCSHash.put( (long)0xda1, (char)0x0e01); // XK_Thai_kokai --> THAI CHARACTER KO KAI 1084 keysym2UCSHash.put( (long)0xda2, (char)0x0e02); // XK_Thai_khokhai --> THAI CHARACTER KHO KHAI 1085 keysym2UCSHash.put( (long)0xda3, (char)0x0e03); // XK_Thai_khokhuat --> THAI CHARACTER KHO KHUAT 1086 keysym2UCSHash.put( (long)0xda4, (char)0x0e04); // XK_Thai_khokhwai --> THAI CHARACTER KHO KHWAI 1087 keysym2UCSHash.put( (long)0xda5, (char)0x0e05); // XK_Thai_khokhon --> THAI CHARACTER KHO KHON 1088 keysym2UCSHash.put( (long)0xda6, (char)0x0e06); // XK_Thai_khorakhang --> THAI CHARACTER KHO RAKHANG 1089 keysym2UCSHash.put( (long)0xda7, (char)0x0e07); // XK_Thai_ngongu --> THAI CHARACTER NGO NGU 1090 keysym2UCSHash.put( (long)0xda8, (char)0x0e08); // XK_Thai_chochan --> THAI CHARACTER CHO CHAN 1091 keysym2UCSHash.put( (long)0xda9, (char)0x0e09); // XK_Thai_choching --> THAI CHARACTER CHO CHING 1092 keysym2UCSHash.put( (long)0xdaa, (char)0x0e0a); // XK_Thai_chochang --> THAI CHARACTER CHO CHANG 1093 keysym2UCSHash.put( (long)0xdab, (char)0x0e0b); // XK_Thai_soso --> THAI CHARACTER SO SO 1094 keysym2UCSHash.put( (long)0xdac, (char)0x0e0c); // XK_Thai_chochoe --> THAI CHARACTER CHO CHOE 1095 keysym2UCSHash.put( (long)0xdad, (char)0x0e0d); // XK_Thai_yoying --> THAI CHARACTER YO YING 1096 keysym2UCSHash.put( (long)0xdae, (char)0x0e0e); // XK_Thai_dochada --> THAI CHARACTER DO CHADA 1097 keysym2UCSHash.put( (long)0xdaf, (char)0x0e0f); // XK_Thai_topatak --> THAI CHARACTER TO PATAK 1098 keysym2UCSHash.put( (long)0xdb0, (char)0x0e10); // XK_Thai_thothan --> THAI CHARACTER THO THAN 1099 keysym2UCSHash.put( (long)0xdb1, (char)0x0e11); // XK_Thai_thonangmontho --> THAI CHARACTER THO NANGMONTHO 1100 keysym2UCSHash.put( (long)0xdb2, (char)0x0e12); // XK_Thai_thophuthao --> THAI CHARACTER THO PHUTHAO 1101 keysym2UCSHash.put( (long)0xdb3, (char)0x0e13); // XK_Thai_nonen --> THAI CHARACTER NO NEN 1102 keysym2UCSHash.put( (long)0xdb4, (char)0x0e14); // XK_Thai_dodek --> THAI CHARACTER DO DEK 1103 keysym2UCSHash.put( (long)0xdb5, (char)0x0e15); // XK_Thai_totao --> THAI CHARACTER TO TAO 1104 keysym2UCSHash.put( (long)0xdb6, (char)0x0e16); // XK_Thai_thothung --> THAI CHARACTER THO THUNG 1105 keysym2UCSHash.put( (long)0xdb7, (char)0x0e17); // XK_Thai_thothahan --> THAI CHARACTER THO THAHAN 1106 keysym2UCSHash.put( (long)0xdb8, (char)0x0e18); // XK_Thai_thothong --> THAI CHARACTER THO THONG 1107 keysym2UCSHash.put( (long)0xdb9, (char)0x0e19); // XK_Thai_nonu --> THAI CHARACTER NO NU 1108 keysym2UCSHash.put( (long)0xdba, (char)0x0e1a); // XK_Thai_bobaimai --> THAI CHARACTER BO BAIMAI 1109 keysym2UCSHash.put( (long)0xdbb, (char)0x0e1b); // XK_Thai_popla --> THAI CHARACTER PO PLA 1110 keysym2UCSHash.put( (long)0xdbc, (char)0x0e1c); // XK_Thai_phophung --> THAI CHARACTER PHO PHUNG 1111 keysym2UCSHash.put( (long)0xdbd, (char)0x0e1d); // XK_Thai_fofa --> THAI CHARACTER FO FA 1112 keysym2UCSHash.put( (long)0xdbe, (char)0x0e1e); // XK_Thai_phophan --> THAI CHARACTER PHO PHAN 1113 keysym2UCSHash.put( (long)0xdbf, (char)0x0e1f); // XK_Thai_fofan --> THAI CHARACTER FO FAN 1114 keysym2UCSHash.put( (long)0xdc0, (char)0x0e20); // XK_Thai_phosamphao --> THAI CHARACTER PHO SAMPHAO 1115 keysym2UCSHash.put( (long)0xdc1, (char)0x0e21); // XK_Thai_moma --> THAI CHARACTER MO MA 1116 keysym2UCSHash.put( (long)0xdc2, (char)0x0e22); // XK_Thai_yoyak --> THAI CHARACTER YO YAK 1117 keysym2UCSHash.put( (long)0xdc3, (char)0x0e23); // XK_Thai_rorua --> THAI CHARACTER RO RUA 1118 keysym2UCSHash.put( (long)0xdc4, (char)0x0e24); // XK_Thai_ru --> THAI CHARACTER RU 1119 keysym2UCSHash.put( (long)0xdc5, (char)0x0e25); // XK_Thai_loling --> THAI CHARACTER LO LING 1120 keysym2UCSHash.put( (long)0xdc6, (char)0x0e26); // XK_Thai_lu --> THAI CHARACTER LU 1121 keysym2UCSHash.put( (long)0xdc7, (char)0x0e27); // XK_Thai_wowaen --> THAI CHARACTER WO WAEN 1122 keysym2UCSHash.put( (long)0xdc8, (char)0x0e28); // XK_Thai_sosala --> THAI CHARACTER SO SALA 1123 keysym2UCSHash.put( (long)0xdc9, (char)0x0e29); // XK_Thai_sorusi --> THAI CHARACTER SO RUSI 1124 keysym2UCSHash.put( (long)0xdca, (char)0x0e2a); // XK_Thai_sosua --> THAI CHARACTER SO SUA 1125 keysym2UCSHash.put( (long)0xdcb, (char)0x0e2b); // XK_Thai_hohip --> THAI CHARACTER HO HIP 1126 keysym2UCSHash.put( (long)0xdcc, (char)0x0e2c); // XK_Thai_lochula --> THAI CHARACTER LO CHULA 1127 keysym2UCSHash.put( (long)0xdcd, (char)0x0e2d); // XK_Thai_oang --> THAI CHARACTER O ANG 1128 keysym2UCSHash.put( (long)0xdce, (char)0x0e2e); // XK_Thai_honokhuk --> THAI CHARACTER HO NOKHUK 1129 keysym2UCSHash.put( (long)0xdcf, (char)0x0e2f); // XK_Thai_paiyannoi --> THAI CHARACTER PAIYANNOI 1130 keysym2UCSHash.put( (long)0xdd0, (char)0x0e30); // XK_Thai_saraa --> THAI CHARACTER SARA A 1131 keysym2UCSHash.put( (long)0xdd1, (char)0x0e31); // XK_Thai_maihanakat --> THAI CHARACTER MAI HAN-AKAT 1132 keysym2UCSHash.put( (long)0xdd2, (char)0x0e32); // XK_Thai_saraaa --> THAI CHARACTER SARA AA 1133 keysym2UCSHash.put( (long)0xdd3, (char)0x0e33); // XK_Thai_saraam --> THAI CHARACTER SARA AM 1134 keysym2UCSHash.put( (long)0xdd4, (char)0x0e34); // XK_Thai_sarai --> THAI CHARACTER SARA I 1135 keysym2UCSHash.put( (long)0xdd5, (char)0x0e35); // XK_Thai_saraii --> THAI CHARACTER SARA II 1136 keysym2UCSHash.put( (long)0xdd6, (char)0x0e36); // XK_Thai_saraue --> THAI CHARACTER SARA UE 1137 keysym2UCSHash.put( (long)0xdd7, (char)0x0e37); // XK_Thai_sarauee --> THAI CHARACTER SARA UEE 1138 keysym2UCSHash.put( (long)0xdd8, (char)0x0e38); // XK_Thai_sarau --> THAI CHARACTER SARA U 1139 keysym2UCSHash.put( (long)0xdd9, (char)0x0e39); // XK_Thai_sarauu --> THAI CHARACTER SARA UU 1140 keysym2UCSHash.put( (long)0xdda, (char)0x0e3a); // XK_Thai_phinthu --> THAI CHARACTER PHINTHU 1141 keysym2UCSHash.put( (long)0xddf, (char)0x0e3f); // XK_Thai_baht --> THAI CURRENCY SYMBOL BAHT 1142 keysym2UCSHash.put( (long)0xde0, (char)0x0e40); // XK_Thai_sarae --> THAI CHARACTER SARA E 1143 keysym2UCSHash.put( (long)0xde1, (char)0x0e41); // XK_Thai_saraae --> THAI CHARACTER SARA AE 1144 keysym2UCSHash.put( (long)0xde2, (char)0x0e42); // XK_Thai_sarao --> THAI CHARACTER SARA O 1145 keysym2UCSHash.put( (long)0xde3, (char)0x0e43); // XK_Thai_saraaimaimuan --> THAI CHARACTER SARA AI MAIMUAN 1146 keysym2UCSHash.put( (long)0xde4, (char)0x0e44); // XK_Thai_saraaimaimalai --> THAI CHARACTER SARA AI MAIMALAI 1147 keysym2UCSHash.put( (long)0xde5, (char)0x0e45); // XK_Thai_lakkhangyao --> THAI CHARACTER LAKKHANGYAO 1148 keysym2UCSHash.put( (long)0xde6, (char)0x0e46); // XK_Thai_maiyamok --> THAI CHARACTER MAIYAMOK 1149 keysym2UCSHash.put( (long)0xde7, (char)0x0e47); // XK_Thai_maitaikhu --> THAI CHARACTER MAITAIKHU 1150 keysym2UCSHash.put( (long)0xde8, (char)0x0e48); // XK_Thai_maiek --> THAI CHARACTER MAI EK 1151 keysym2UCSHash.put( (long)0xde9, (char)0x0e49); // XK_Thai_maitho --> THAI CHARACTER MAI THO 1152 keysym2UCSHash.put( (long)0xdea, (char)0x0e4a); // XK_Thai_maitri --> THAI CHARACTER MAI TRI 1153 keysym2UCSHash.put( (long)0xdeb, (char)0x0e4b); // XK_Thai_maichattawa --> THAI CHARACTER MAI CHATTAWA 1154 keysym2UCSHash.put( (long)0xdec, (char)0x0e4c); // XK_Thai_thanthakhat --> THAI CHARACTER THANTHAKHAT 1155 keysym2UCSHash.put( (long)0xded, (char)0x0e4d); // XK_Thai_nikhahit --> THAI CHARACTER NIKHAHIT 1156 keysym2UCSHash.put( (long)0xdf0, (char)0x0e50); // XK_Thai_leksun --> THAI DIGIT ZERO 1157 keysym2UCSHash.put( (long)0xdf1, (char)0x0e51); // XK_Thai_leknung --> THAI DIGIT ONE 1158 keysym2UCSHash.put( (long)0xdf2, (char)0x0e52); // XK_Thai_leksong --> THAI DIGIT TWO 1159 keysym2UCSHash.put( (long)0xdf3, (char)0x0e53); // XK_Thai_leksam --> THAI DIGIT THREE 1160 keysym2UCSHash.put( (long)0xdf4, (char)0x0e54); // XK_Thai_leksi --> THAI DIGIT FOUR 1161 keysym2UCSHash.put( (long)0xdf5, (char)0x0e55); // XK_Thai_lekha --> THAI DIGIT FIVE 1162 keysym2UCSHash.put( (long)0xdf6, (char)0x0e56); // XK_Thai_lekhok --> THAI DIGIT SIX 1163 keysym2UCSHash.put( (long)0xdf7, (char)0x0e57); // XK_Thai_lekchet --> THAI DIGIT SEVEN 1164 keysym2UCSHash.put( (long)0xdf8, (char)0x0e58); // XK_Thai_lekpaet --> THAI DIGIT EIGHT 1165 keysym2UCSHash.put( (long)0xdf9, (char)0x0e59); // XK_Thai_lekkao --> THAI DIGIT NINE 1166 keysym2UCSHash.put( (long)0xea1, (char)0x3131); // XK_Hangul_Kiyeog --> HANGUL LETTER KIYEOK 1167 keysym2UCSHash.put( (long)0xea2, (char)0x3132); // XK_Hangul_SsangKiyeog --> HANGUL LETTER SSANGKIYEOK 1168 keysym2UCSHash.put( (long)0xea3, (char)0x3133); // XK_Hangul_KiyeogSios --> HANGUL LETTER KIYEOK-SIOS 1169 keysym2UCSHash.put( (long)0xea4, (char)0x3134); // XK_Hangul_Nieun --> HANGUL LETTER NIEUN 1170 keysym2UCSHash.put( (long)0xea5, (char)0x3135); // XK_Hangul_NieunJieuj --> HANGUL LETTER NIEUN-CIEUC 1171 keysym2UCSHash.put( (long)0xea6, (char)0x3136); // XK_Hangul_NieunHieuh --> HANGUL LETTER NIEUN-HIEUH 1172 keysym2UCSHash.put( (long)0xea7, (char)0x3137); // XK_Hangul_Dikeud --> HANGUL LETTER TIKEUT 1173 keysym2UCSHash.put( (long)0xea8, (char)0x3138); // XK_Hangul_SsangDikeud --> HANGUL LETTER SSANGTIKEUT 1174 keysym2UCSHash.put( (long)0xea9, (char)0x3139); // XK_Hangul_Rieul --> HANGUL LETTER RIEUL 1175 keysym2UCSHash.put( (long)0xeaa, (char)0x313a); // XK_Hangul_RieulKiyeog --> HANGUL LETTER RIEUL-KIYEOK 1176 keysym2UCSHash.put( (long)0xeab, (char)0x313b); // XK_Hangul_RieulMieum --> HANGUL LETTER RIEUL-MIEUM 1177 keysym2UCSHash.put( (long)0xeac, (char)0x313c); // XK_Hangul_RieulPieub --> HANGUL LETTER RIEUL-PIEUP 1178 keysym2UCSHash.put( (long)0xead, (char)0x313d); // XK_Hangul_RieulSios --> HANGUL LETTER RIEUL-SIOS 1179 keysym2UCSHash.put( (long)0xeae, (char)0x313e); // XK_Hangul_RieulTieut --> HANGUL LETTER RIEUL-THIEUTH 1180 keysym2UCSHash.put( (long)0xeaf, (char)0x313f); // XK_Hangul_RieulPhieuf --> HANGUL LETTER RIEUL-PHIEUPH 1181 keysym2UCSHash.put( (long)0xeb0, (char)0x3140); // XK_Hangul_RieulHieuh --> HANGUL LETTER RIEUL-HIEUH 1182 keysym2UCSHash.put( (long)0xeb1, (char)0x3141); // XK_Hangul_Mieum --> HANGUL LETTER MIEUM 1183 keysym2UCSHash.put( (long)0xeb2, (char)0x3142); // XK_Hangul_Pieub --> HANGUL LETTER PIEUP 1184 keysym2UCSHash.put( (long)0xeb3, (char)0x3143); // XK_Hangul_SsangPieub --> HANGUL LETTER SSANGPIEUP 1185 keysym2UCSHash.put( (long)0xeb4, (char)0x3144); // XK_Hangul_PieubSios --> HANGUL LETTER PIEUP-SIOS 1186 keysym2UCSHash.put( (long)0xeb5, (char)0x3145); // XK_Hangul_Sios --> HANGUL LETTER SIOS 1187 keysym2UCSHash.put( (long)0xeb6, (char)0x3146); // XK_Hangul_SsangSios --> HANGUL LETTER SSANGSIOS 1188 keysym2UCSHash.put( (long)0xeb7, (char)0x3147); // XK_Hangul_Ieung --> HANGUL LETTER IEUNG 1189 keysym2UCSHash.put( (long)0xeb8, (char)0x3148); // XK_Hangul_Jieuj --> HANGUL LETTER CIEUC 1190 keysym2UCSHash.put( (long)0xeb9, (char)0x3149); // XK_Hangul_SsangJieuj --> HANGUL LETTER SSANGCIEUC 1191 keysym2UCSHash.put( (long)0xeba, (char)0x314a); // XK_Hangul_Cieuc --> HANGUL LETTER CHIEUCH 1192 keysym2UCSHash.put( (long)0xebb, (char)0x314b); // XK_Hangul_Khieuq --> HANGUL LETTER KHIEUKH 1193 keysym2UCSHash.put( (long)0xebc, (char)0x314c); // XK_Hangul_Tieut --> HANGUL LETTER THIEUTH 1194 keysym2UCSHash.put( (long)0xebd, (char)0x314d); // XK_Hangul_Phieuf --> HANGUL LETTER PHIEUPH 1195 keysym2UCSHash.put( (long)0xebe, (char)0x314e); // XK_Hangul_Hieuh --> HANGUL LETTER HIEUH 1196 keysym2UCSHash.put( (long)0xebf, (char)0x314f); // XK_Hangul_A --> HANGUL LETTER A 1197 keysym2UCSHash.put( (long)0xec0, (char)0x3150); // XK_Hangul_AE --> HANGUL LETTER AE 1198 keysym2UCSHash.put( (long)0xec1, (char)0x3151); // XK_Hangul_YA --> HANGUL LETTER YA 1199 keysym2UCSHash.put( (long)0xec2, (char)0x3152); // XK_Hangul_YAE --> HANGUL LETTER YAE 1200 keysym2UCSHash.put( (long)0xec3, (char)0x3153); // XK_Hangul_EO --> HANGUL LETTER EO 1201 keysym2UCSHash.put( (long)0xec4, (char)0x3154); // XK_Hangul_E --> HANGUL LETTER E 1202 keysym2UCSHash.put( (long)0xec5, (char)0x3155); // XK_Hangul_YEO --> HANGUL LETTER YEO 1203 keysym2UCSHash.put( (long)0xec6, (char)0x3156); // XK_Hangul_YE --> HANGUL LETTER YE 1204 keysym2UCSHash.put( (long)0xec7, (char)0x3157); // XK_Hangul_O --> HANGUL LETTER O 1205 keysym2UCSHash.put( (long)0xec8, (char)0x3158); // XK_Hangul_WA --> HANGUL LETTER WA 1206 keysym2UCSHash.put( (long)0xec9, (char)0x3159); // XK_Hangul_WAE --> HANGUL LETTER WAE 1207 keysym2UCSHash.put( (long)0xeca, (char)0x315a); // XK_Hangul_OE --> HANGUL LETTER OE 1208 keysym2UCSHash.put( (long)0xecb, (char)0x315b); // XK_Hangul_YO --> HANGUL LETTER YO 1209 keysym2UCSHash.put( (long)0xecc, (char)0x315c); // XK_Hangul_U --> HANGUL LETTER U 1210 keysym2UCSHash.put( (long)0xecd, (char)0x315d); // XK_Hangul_WEO --> HANGUL LETTER WEO 1211 keysym2UCSHash.put( (long)0xece, (char)0x315e); // XK_Hangul_WE --> HANGUL LETTER WE 1212 keysym2UCSHash.put( (long)0xecf, (char)0x315f); // XK_Hangul_WI --> HANGUL LETTER WI 1213 keysym2UCSHash.put( (long)0xed0, (char)0x3160); // XK_Hangul_YU --> HANGUL LETTER YU 1214 keysym2UCSHash.put( (long)0xed1, (char)0x3161); // XK_Hangul_EU --> HANGUL LETTER EU 1215 keysym2UCSHash.put( (long)0xed2, (char)0x3162); // XK_Hangul_YI --> HANGUL LETTER YI 1216 keysym2UCSHash.put( (long)0xed3, (char)0x3163); // XK_Hangul_I --> HANGUL LETTER I 1217 keysym2UCSHash.put( (long)0xed4, (char)0x11a8); // XK_Hangul_J_Kiyeog --> HANGUL JONGSEONG KIYEOK 1218 keysym2UCSHash.put( (long)0xed5, (char)0x11a9); // XK_Hangul_J_SsangKiyeog --> HANGUL JONGSEONG SSANGKIYEOK 1219 keysym2UCSHash.put( (long)0xed6, (char)0x11aa); // XK_Hangul_J_KiyeogSios --> HANGUL JONGSEONG KIYEOK-SIOS 1220 keysym2UCSHash.put( (long)0xed7, (char)0x11ab); // XK_Hangul_J_Nieun --> HANGUL JONGSEONG NIEUN 1221 keysym2UCSHash.put( (long)0xed8, (char)0x11ac); // XK_Hangul_J_NieunJieuj --> HANGUL JONGSEONG NIEUN-CIEUC 1222 keysym2UCSHash.put( (long)0xed9, (char)0x11ad); // XK_Hangul_J_NieunHieuh --> HANGUL JONGSEONG NIEUN-HIEUH 1223 keysym2UCSHash.put( (long)0xeda, (char)0x11ae); // XK_Hangul_J_Dikeud --> HANGUL JONGSEONG TIKEUT 1224 keysym2UCSHash.put( (long)0xedb, (char)0x11af); // XK_Hangul_J_Rieul --> HANGUL JONGSEONG RIEUL 1225 keysym2UCSHash.put( (long)0xedc, (char)0x11b0); // XK_Hangul_J_RieulKiyeog --> HANGUL JONGSEONG RIEUL-KIYEOK 1226 keysym2UCSHash.put( (long)0xedd, (char)0x11b1); // XK_Hangul_J_RieulMieum --> HANGUL JONGSEONG RIEUL-MIEUM 1227 keysym2UCSHash.put( (long)0xede, (char)0x11b2); // XK_Hangul_J_RieulPieub --> HANGUL JONGSEONG RIEUL-PIEUP 1228 keysym2UCSHash.put( (long)0xedf, (char)0x11b3); // XK_Hangul_J_RieulSios --> HANGUL JONGSEONG RIEUL-SIOS 1229 keysym2UCSHash.put( (long)0xee0, (char)0x11b4); // XK_Hangul_J_RieulTieut --> HANGUL JONGSEONG RIEUL-THIEUTH 1230 keysym2UCSHash.put( (long)0xee1, (char)0x11b5); // XK_Hangul_J_RieulPhieuf --> HANGUL JONGSEONG RIEUL-PHIEUPH 1231 keysym2UCSHash.put( (long)0xee2, (char)0x11b6); // XK_Hangul_J_RieulHieuh --> HANGUL JONGSEONG RIEUL-HIEUH 1232 keysym2UCSHash.put( (long)0xee3, (char)0x11b7); // XK_Hangul_J_Mieum --> HANGUL JONGSEONG MIEUM 1233 keysym2UCSHash.put( (long)0xee4, (char)0x11b8); // XK_Hangul_J_Pieub --> HANGUL JONGSEONG PIEUP 1234 keysym2UCSHash.put( (long)0xee5, (char)0x11b9); // XK_Hangul_J_PieubSios --> HANGUL JONGSEONG PIEUP-SIOS 1235 keysym2UCSHash.put( (long)0xee6, (char)0x11ba); // XK_Hangul_J_Sios --> HANGUL JONGSEONG SIOS 1236 keysym2UCSHash.put( (long)0xee7, (char)0x11bb); // XK_Hangul_J_SsangSios --> HANGUL JONGSEONG SSANGSIOS 1237 keysym2UCSHash.put( (long)0xee8, (char)0x11bc); // XK_Hangul_J_Ieung --> HANGUL JONGSEONG IEUNG 1238 keysym2UCSHash.put( (long)0xee9, (char)0x11bd); // XK_Hangul_J_Jieuj --> HANGUL JONGSEONG CIEUC 1239 keysym2UCSHash.put( (long)0xeea, (char)0x11be); // XK_Hangul_J_Cieuc --> HANGUL JONGSEONG CHIEUCH 1240 keysym2UCSHash.put( (long)0xeeb, (char)0x11bf); // XK_Hangul_J_Khieuq --> HANGUL JONGSEONG KHIEUKH 1241 keysym2UCSHash.put( (long)0xeec, (char)0x11c0); // XK_Hangul_J_Tieut --> HANGUL JONGSEONG THIEUTH 1242 keysym2UCSHash.put( (long)0xeed, (char)0x11c1); // XK_Hangul_J_Phieuf --> HANGUL JONGSEONG PHIEUPH 1243 keysym2UCSHash.put( (long)0xeee, (char)0x11c2); // XK_Hangul_J_Hieuh --> HANGUL JONGSEONG HIEUH 1244 keysym2UCSHash.put( (long)0xeef, (char)0x316d); // XK_Hangul_RieulYeorinHieuh --> HANGUL LETTER RIEUL-YEORINHIEUH 1245 keysym2UCSHash.put( (long)0xef0, (char)0x3171); // XK_Hangul_SunkyeongeumMieum --> HANGUL LETTER KAPYEOUNMIEUM 1246 keysym2UCSHash.put( (long)0xef1, (char)0x3178); // XK_Hangul_SunkyeongeumPieub --> HANGUL LETTER KAPYEOUNPIEUP 1247 keysym2UCSHash.put( (long)0xef2, (char)0x317f); // XK_Hangul_PanSios --> HANGUL LETTER PANSIOS 1248 keysym2UCSHash.put( (long)0xef3, (char)0x3181); // XK_Hangul_KkogjiDalrinIeung --> HANGUL LETTER YESIEUNG 1249 keysym2UCSHash.put( (long)0xef4, (char)0x3184); // XK_Hangul_SunkyeongeumPhieuf --> HANGUL LETTER KAPYEOUNPHIEUPH 1250 keysym2UCSHash.put( (long)0xef5, (char)0x3186); // XK_Hangul_YeorinHieuh --> HANGUL LETTER YEORINHIEUH 1251 keysym2UCSHash.put( (long)0xef6, (char)0x318d); // XK_Hangul_AraeA --> HANGUL LETTER ARAEA 1252 keysym2UCSHash.put( (long)0xef7, (char)0x318e); // XK_Hangul_AraeAE --> HANGUL LETTER ARAEAE 1253 keysym2UCSHash.put( (long)0xef8, (char)0x11eb); // XK_Hangul_J_PanSios --> HANGUL JONGSEONG PANSIOS 1254 keysym2UCSHash.put( (long)0xef9, (char)0x11f0); // XK_Hangul_J_KkogjiDalrinIeung --> HANGUL JONGSEONG YESIEUNG 1255 keysym2UCSHash.put( (long)0xefa, (char)0x11f9); // XK_Hangul_J_YeorinHieuh --> HANGUL JONGSEONG YEORINHIEUH 1256 keysym2UCSHash.put( (long)0xeff, (char)0x20a9); // XK_Korean_Won --> WON SIGN 1257 keysym2UCSHash.put( (long)0x16a3, (char)0x1e8a); // XK_Xabovedot --> LATIN CAPITAL LETTER X WITH DOT ABOVE 1258 keysym2UCSHash.put( (long)0x16a6, (char)0x012c); // XK_Ibreve --> LATIN CAPITAL LETTER I WITH BREVE 1259 keysym2UCSHash.put( (long)0x16a9, (char)0x01b5); // XK_Zstroke --> LATIN CAPITAL LETTER Z WITH STROKE 1260 keysym2UCSHash.put( (long)0x16aa, (char)0x01e6); // XK_Gcaron --> LATIN CAPITAL LETTER G WITH CARON 1261 keysym2UCSHash.put( (long)0x16af, (char)0x019f); // XK_Obarred --> LATIN CAPITAL LETTER O WITH MIDDLE TILDE 1262 keysym2UCSHash.put( (long)0x16b3, (char)0x1e8b); // XK_xabovedot --> LATIN SMALL LETTER X WITH DOT ABOVE 1263 keysym2UCSHash.put( (long)0x16b6, (char)0x012d); // XK_ibreve --> LATIN SMALL LETTER I WITH BREVE 1264 keysym2UCSHash.put( (long)0x16b9, (char)0x01b6); // XK_zstroke --> LATIN SMALL LETTER Z WITH STROKE 1265 keysym2UCSHash.put( (long)0x16ba, (char)0x01e7); // XK_gcaron --> LATIN SMALL LETTER G WITH CARON 1266 keysym2UCSHash.put( (long)0x16bd, (char)0x01d2); // XK_ocaron --> LATIN SMALL LETTER O WITH CARON 1267 keysym2UCSHash.put( (long)0x16bf, (char)0x0275); // XK_obarred --> LATIN SMALL LETTER BARRED O 1268 keysym2UCSHash.put( (long)0x16c6, (char)0x018f); // XK_SCHWA --> LATIN CAPITAL LETTER SCHWA 1269 keysym2UCSHash.put( (long)0x16f6, (char)0x0259); // XK_schwa --> LATIN SMALL LETTER SCHWA 1270 keysym2UCSHash.put( (long)0x1ea0, (char)0x1ea0); // XK_Abelowdot --> LATIN CAPITAL LETTER A WITH DOT BELOW 1271 keysym2UCSHash.put( (long)0x1ea1, (char)0x1ea1); // XK_abelowdot --> LATIN SMALL LETTER A WITH DOT BELOW 1272 keysym2UCSHash.put( (long)0x1ea2, (char)0x1ea2); // XK_Ahook --> LATIN CAPITAL LETTER A WITH HOOK ABOVE 1273 keysym2UCSHash.put( (long)0x1ea3, (char)0x1ea3); // XK_ahook --> LATIN SMALL LETTER A WITH HOOK ABOVE 1274 keysym2UCSHash.put( (long)0x1ea4, (char)0x1ea4); // XK_Acircumflexacute --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE 1275 keysym2UCSHash.put( (long)0x1ea5, (char)0x1ea5); // XK_acircumflexacute --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE 1276 keysym2UCSHash.put( (long)0x1ea6, (char)0x1ea6); // XK_Acircumflexgrave --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE 1277 keysym2UCSHash.put( (long)0x1ea7, (char)0x1ea7); // XK_acircumflexgrave --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE 1278 keysym2UCSHash.put( (long)0x1ea8, (char)0x1ea8); // XK_Acircumflexhook --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 1279 keysym2UCSHash.put( (long)0x1ea9, (char)0x1ea9); // XK_acircumflexhook --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 1280 keysym2UCSHash.put( (long)0x1eaa, (char)0x1eaa); // XK_Acircumflextilde --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE 1281 keysym2UCSHash.put( (long)0x1eab, (char)0x1eab); // XK_acircumflextilde --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE 1282 keysym2UCSHash.put( (long)0x1eac, (char)0x1eac); // XK_Acircumflexbelowdot --> LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW 1283 keysym2UCSHash.put( (long)0x1ead, (char)0x1ead); // XK_acircumflexbelowdot --> LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW 1284 keysym2UCSHash.put( (long)0x1eae, (char)0x1eae); // XK_Abreveacute --> LATIN CAPITAL LETTER A WITH BREVE AND ACUTE 1285 keysym2UCSHash.put( (long)0x1eaf, (char)0x1eaf); // XK_abreveacute --> LATIN SMALL LETTER A WITH BREVE AND ACUTE 1286 keysym2UCSHash.put( (long)0x1eb0, (char)0x1eb0); // XK_Abrevegrave --> LATIN CAPITAL LETTER A WITH BREVE AND GRAVE 1287 keysym2UCSHash.put( (long)0x1eb1, (char)0x1eb1); // XK_abrevegrave --> LATIN SMALL LETTER A WITH BREVE AND GRAVE 1288 keysym2UCSHash.put( (long)0x1eb2, (char)0x1eb2); // XK_Abrevehook --> LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE 1289 keysym2UCSHash.put( (long)0x1eb3, (char)0x1eb3); // XK_abrevehook --> LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE 1290 keysym2UCSHash.put( (long)0x1eb4, (char)0x1eb4); // XK_Abrevetilde --> LATIN CAPITAL LETTER A WITH BREVE AND TILDE 1291 keysym2UCSHash.put( (long)0x1eb5, (char)0x1eb5); // XK_abrevetilde --> LATIN SMALL LETTER A WITH BREVE AND TILDE 1292 keysym2UCSHash.put( (long)0x1eb6, (char)0x1eb6); // XK_Abrevebelowdot --> LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW 1293 keysym2UCSHash.put( (long)0x1eb7, (char)0x1eb7); // XK_abrevebelowdot --> LATIN SMALL LETTER A WITH BREVE AND DOT BELOW 1294 keysym2UCSHash.put( (long)0x1eb8, (char)0x1eb8); // XK_Ebelowdot --> LATIN CAPITAL LETTER E WITH DOT BELOW 1295 keysym2UCSHash.put( (long)0x1eb9, (char)0x1eb9); // XK_ebelowdot --> LATIN SMALL LETTER E WITH DOT BELOW 1296 keysym2UCSHash.put( (long)0x1eba, (char)0x1eba); // XK_Ehook --> LATIN CAPITAL LETTER E WITH HOOK ABOVE 1297 keysym2UCSHash.put( (long)0x1ebb, (char)0x1ebb); // XK_ehook --> LATIN SMALL LETTER E WITH HOOK ABOVE 1298 keysym2UCSHash.put( (long)0x1ebc, (char)0x1ebc); // XK_Etilde --> LATIN CAPITAL LETTER E WITH TILDE 1299 keysym2UCSHash.put( (long)0x1ebd, (char)0x1ebd); // XK_etilde --> LATIN SMALL LETTER E WITH TILDE 1300 keysym2UCSHash.put( (long)0x1ebe, (char)0x1ebe); // XK_Ecircumflexacute --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE 1301 keysym2UCSHash.put( (long)0x1ebf, (char)0x1ebf); // XK_ecircumflexacute --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE 1302 keysym2UCSHash.put( (long)0x1ec0, (char)0x1ec0); // XK_Ecircumflexgrave --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE 1303 keysym2UCSHash.put( (long)0x1ec1, (char)0x1ec1); // XK_ecircumflexgrave --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE 1304 keysym2UCSHash.put( (long)0x1ec2, (char)0x1ec2); // XK_Ecircumflexhook --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 1305 keysym2UCSHash.put( (long)0x1ec3, (char)0x1ec3); // XK_ecircumflexhook --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 1306 keysym2UCSHash.put( (long)0x1ec4, (char)0x1ec4); // XK_Ecircumflextilde --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE 1307 keysym2UCSHash.put( (long)0x1ec5, (char)0x1ec5); // XK_ecircumflextilde --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE 1308 keysym2UCSHash.put( (long)0x1ec6, (char)0x1ec6); // XK_Ecircumflexbelowdot --> LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW 1309 keysym2UCSHash.put( (long)0x1ec7, (char)0x1ec7); // XK_ecircumflexbelowdot --> LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW 1310 keysym2UCSHash.put( (long)0x1ec8, (char)0x1ec8); // XK_Ihook --> LATIN CAPITAL LETTER I WITH HOOK ABOVE 1311 keysym2UCSHash.put( (long)0x1ec9, (char)0x1ec9); // XK_ihook --> LATIN SMALL LETTER I WITH HOOK ABOVE 1312 keysym2UCSHash.put( (long)0x1eca, (char)0x1eca); // XK_Ibelowdot --> LATIN CAPITAL LETTER I WITH DOT BELOW 1313 keysym2UCSHash.put( (long)0x1ecb, (char)0x1ecb); // XK_ibelowdot --> LATIN SMALL LETTER I WITH DOT BELOW 1314 keysym2UCSHash.put( (long)0x1ecc, (char)0x1ecc); // XK_Obelowdot --> LATIN CAPITAL LETTER O WITH DOT BELOW 1315 keysym2UCSHash.put( (long)0x1ecd, (char)0x1ecd); // XK_obelowdot --> LATIN SMALL LETTER O WITH DOT BELOW 1316 keysym2UCSHash.put( (long)0x1ece, (char)0x1ece); // XK_Ohook --> LATIN CAPITAL LETTER O WITH HOOK ABOVE 1317 keysym2UCSHash.put( (long)0x1ecf, (char)0x1ecf); // XK_ohook --> LATIN SMALL LETTER O WITH HOOK ABOVE 1318 keysym2UCSHash.put( (long)0x1ed0, (char)0x1ed0); // XK_Ocircumflexacute --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE 1319 keysym2UCSHash.put( (long)0x1ed1, (char)0x1ed1); // XK_ocircumflexacute --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE 1320 keysym2UCSHash.put( (long)0x1ed2, (char)0x1ed2); // XK_Ocircumflexgrave --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE 1321 keysym2UCSHash.put( (long)0x1ed3, (char)0x1ed3); // XK_ocircumflexgrave --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE 1322 keysym2UCSHash.put( (long)0x1ed4, (char)0x1ed4); // XK_Ocircumflexhook --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 1323 keysym2UCSHash.put( (long)0x1ed5, (char)0x1ed5); // XK_ocircumflexhook --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 1324 keysym2UCSHash.put( (long)0x1ed6, (char)0x1ed6); // XK_Ocircumflextilde --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE 1325 keysym2UCSHash.put( (long)0x1ed7, (char)0x1ed7); // XK_ocircumflextilde --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE 1326 keysym2UCSHash.put( (long)0x1ed8, (char)0x1ed8); // XK_Ocircumflexbelowdot --> LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW 1327 keysym2UCSHash.put( (long)0x1ed9, (char)0x1ed9); // XK_ocircumflexbelowdot --> LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW 1328 keysym2UCSHash.put( (long)0x1eda, (char)0x1eda); // XK_Ohornacute --> LATIN CAPITAL LETTER O WITH HORN AND ACUTE 1329 keysym2UCSHash.put( (long)0x1edb, (char)0x1edb); // XK_ohornacute --> LATIN SMALL LETTER O WITH HORN AND ACUTE 1330 keysym2UCSHash.put( (long)0x1edc, (char)0x1edc); // XK_Ohorngrave --> LATIN CAPITAL LETTER O WITH HORN AND GRAVE 1331 keysym2UCSHash.put( (long)0x1edd, (char)0x1edd); // XK_ohorngrave --> LATIN SMALL LETTER O WITH HORN AND GRAVE 1332 keysym2UCSHash.put( (long)0x1ede, (char)0x1ede); // XK_Ohornhook --> LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE 1333 keysym2UCSHash.put( (long)0x1edf, (char)0x1edf); // XK_ohornhook --> LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE 1334 keysym2UCSHash.put( (long)0x1ee0, (char)0x1ee0); // XK_Ohorntilde --> LATIN CAPITAL LETTER O WITH HORN AND TILDE 1335 keysym2UCSHash.put( (long)0x1ee1, (char)0x1ee1); // XK_ohorntilde --> LATIN SMALL LETTER O WITH HORN AND TILDE 1336 keysym2UCSHash.put( (long)0x1ee2, (char)0x1ee2); // XK_Ohornbelowdot --> LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW 1337 keysym2UCSHash.put( (long)0x1ee3, (char)0x1ee3); // XK_ohornbelowdot --> LATIN SMALL LETTER O WITH HORN AND DOT BELOW 1338 keysym2UCSHash.put( (long)0x1ee4, (char)0x1ee4); // XK_Ubelowdot --> LATIN CAPITAL LETTER U WITH DOT BELOW 1339 keysym2UCSHash.put( (long)0x1ee5, (char)0x1ee5); // XK_ubelowdot --> LATIN SMALL LETTER U WITH DOT BELOW 1340 keysym2UCSHash.put( (long)0x1ee6, (char)0x1ee6); // XK_Uhook --> LATIN CAPITAL LETTER U WITH HOOK ABOVE 1341 keysym2UCSHash.put( (long)0x1ee7, (char)0x1ee7); // XK_uhook --> LATIN SMALL LETTER U WITH HOOK ABOVE 1342 keysym2UCSHash.put( (long)0x1ee8, (char)0x1ee8); // XK_Uhornacute --> LATIN CAPITAL LETTER U WITH HORN AND ACUTE 1343 keysym2UCSHash.put( (long)0x1ee9, (char)0x1ee9); // XK_uhornacute --> LATIN SMALL LETTER U WITH HORN AND ACUTE 1344 keysym2UCSHash.put( (long)0x1eea, (char)0x1eea); // XK_Uhorngrave --> LATIN CAPITAL LETTER U WITH HORN AND GRAVE 1345 keysym2UCSHash.put( (long)0x1eeb, (char)0x1eeb); // XK_uhorngrave --> LATIN SMALL LETTER U WITH HORN AND GRAVE 1346 keysym2UCSHash.put( (long)0x1eec, (char)0x1eec); // XK_Uhornhook --> LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE 1347 keysym2UCSHash.put( (long)0x1eed, (char)0x1eed); // XK_uhornhook --> LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE 1348 keysym2UCSHash.put( (long)0x1eee, (char)0x1eee); // XK_Uhorntilde --> LATIN CAPITAL LETTER U WITH HORN AND TILDE 1349 keysym2UCSHash.put( (long)0x1eef, (char)0x1eef); // XK_uhorntilde --> LATIN SMALL LETTER U WITH HORN AND TILDE 1350 keysym2UCSHash.put( (long)0x1ef0, (char)0x1ef0); // XK_Uhornbelowdot --> LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW 1351 keysym2UCSHash.put( (long)0x1ef1, (char)0x1ef1); // XK_uhornbelowdot --> LATIN SMALL LETTER U WITH HORN AND DOT BELOW 1352 keysym2UCSHash.put( (long)0x1ef4, (char)0x1ef4); // XK_Ybelowdot --> LATIN CAPITAL LETTER Y WITH DOT BELOW 1353 keysym2UCSHash.put( (long)0x1ef5, (char)0x1ef5); // XK_ybelowdot --> LATIN SMALL LETTER Y WITH DOT BELOW 1354 keysym2UCSHash.put( (long)0x1ef6, (char)0x1ef6); // XK_Yhook --> LATIN CAPITAL LETTER Y WITH HOOK ABOVE 1355 keysym2UCSHash.put( (long)0x1ef7, (char)0x1ef7); // XK_yhook --> LATIN SMALL LETTER Y WITH HOOK ABOVE 1356 keysym2UCSHash.put( (long)0x1ef8, (char)0x1ef8); // XK_Ytilde --> LATIN CAPITAL LETTER Y WITH TILDE 1357 keysym2UCSHash.put( (long)0x1ef9, (char)0x1ef9); // XK_ytilde --> LATIN SMALL LETTER Y WITH TILDE 1358 keysym2UCSHash.put( (long)0x1efa, (char)0x01a0); // XK_Ohorn --> LATIN CAPITAL LETTER O WITH HORN 1359 keysym2UCSHash.put( (long)0x1efb, (char)0x01a1); // XK_ohorn --> LATIN SMALL LETTER O WITH HORN 1360 keysym2UCSHash.put( (long)0x1efc, (char)0x01af); // XK_Uhorn --> LATIN CAPITAL LETTER U WITH HORN 1361 keysym2UCSHash.put( (long)0x1efd, (char)0x01b0); // XK_uhorn --> LATIN SMALL LETTER U WITH HORN 1362 keysym2UCSHash.put( (long)0x20a0, (char)0x20a0); // XK_EcuSign --> EURO-CURRENCY SIGN 1363 keysym2UCSHash.put( (long)0x20a1, (char)0x20a1); // XK_ColonSign --> COLON SIGN 1364 keysym2UCSHash.put( (long)0x20a2, (char)0x20a2); // XK_CruzeiroSign --> CRUZEIRO SIGN 1365 keysym2UCSHash.put( (long)0x20a3, (char)0x20a3); // XK_FFrancSign --> FRENCH FRANC SIGN 1366 keysym2UCSHash.put( (long)0x20a4, (char)0x20a4); // XK_LiraSign --> LIRA SIGN 1367 keysym2UCSHash.put( (long)0x20a5, (char)0x20a5); // XK_MillSign --> MILL SIGN 1368 keysym2UCSHash.put( (long)0x20a6, (char)0x20a6); // XK_NairaSign --> NAIRA SIGN 1369 keysym2UCSHash.put( (long)0x20a7, (char)0x20a7); // XK_PesetaSign --> PESETA SIGN 1370 keysym2UCSHash.put( (long)0x20a8, (char)0x20a8); // XK_RupeeSign --> RUPEE SIGN 1371 keysym2UCSHash.put( (long)0x20a9, (char)0x20a9); // XK_WonSign --> WON SIGN 1372 keysym2UCSHash.put( (long)0x20aa, (char)0x20aa); // XK_NewSheqelSign --> NEW SHEQEL SIGN 1373 keysym2UCSHash.put( (long)0x20ab, (char)0x20ab); // XK_DongSign --> DONG SIGN 1374 keysym2UCSHash.put( (long)0x20ac, (char)0x20ac); // XK_EuroSign --> EURO SIGN 1375 keysym2UCSHash.put( (long)0x1004FF08, (char)0x0008); // osfXK_BackSpace --> <control> 1376 keysym2UCSHash.put( (long)0x1004FF1B, (char)0x001b); // osfXK_Escape --> <control> 1377 keysym2UCSHash.put( (long)0x1004FFFF, (char)0x007f); // osfXK_Delete --> <control> 1378 1379 //XXX fill keysym2JavaKeycodeHash. 1380 1381 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_a), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_A, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1382 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_b), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_B, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1383 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_c), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_C, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1384 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_d), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_D, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1385 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_e), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_E, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1386 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_f), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1387 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_g), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_G, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1388 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_h), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_H, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1389 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_i), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_I, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1390 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_j), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_J, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1391 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_k), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_K, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1392 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_l), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_L, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1393 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_m), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_M, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1394 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_n), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_N, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1395 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_o), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_O, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1396 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_p), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_P, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1397 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_q), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Q, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1398 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_r), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_R, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1399 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_s), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_S, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1400 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_t), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_T, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1401 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_u), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_U, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1402 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_v), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_V, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1403 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_w), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_W, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1404 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_x), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_X, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1405 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_y), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Y, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1406 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_z), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Z, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1407 1408 /* TTY Function keys */ 1409 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_BackSpace), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1410 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1411 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ISO_Left_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1412 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Clear), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLEAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1413 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Return), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1414 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Linefeed), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1415 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Pause), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1416 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F21), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1417 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1418 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Scroll_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1419 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F23), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1420 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1421 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Escape), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ESCAPE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1422 1423 /* Other vendor-specific versions of TTY Function keys */ 1424 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_BackSpace), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1425 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Clear), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLEAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1426 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Escape), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ESCAPE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1427 1428 /* Modifier keys */ 1429 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Shift_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SHIFT, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); 1430 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Shift_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SHIFT, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); 1431 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Control_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTROL, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); 1432 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Control_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTROL, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); 1433 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Alt_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); 1434 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Alt_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); 1435 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Meta_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); 1436 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Meta_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); 1437 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Caps_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CAPS_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1438 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Shift_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CAPS_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1439 1440 /* Misc Functions */ 1441 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Print), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1442 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F22), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1443 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1444 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Cancel), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CANCEL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1445 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Help), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1446 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Num_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUM_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1447 1448 /* Other vendor-specific versions of Misc Functions */ 1449 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Cancel), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CANCEL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1450 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Help), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1451 1452 /* Rectangular Navigation Block */ 1453 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Home), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1454 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1455 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Page_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1456 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1457 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1458 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Page_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1459 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1460 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R15), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1461 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_End), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1462 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R13), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1463 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1464 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1465 1466 /* Keypad equivalents of Rectangular Navigation Block */ 1467 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Home), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1468 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Page_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1469 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1470 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Page_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1471 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1472 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_End), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1473 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1474 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1475 1476 /* Other vendor-specific Rectangular Navigation Block */ 1477 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_PageUp), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1478 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1479 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_PageDown), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1480 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1481 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_EndLine), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1482 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1483 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1484 1485 /* Triangular Navigation Block */ 1486 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1487 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1488 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1489 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1490 1491 /* Keypad equivalents of Triangular Navigation Block */ 1492 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1493 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_UP, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1494 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1495 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1496 1497 /* Other vendor-specific Triangular Navigation Block */ 1498 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1499 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1500 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1501 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1502 1503 /* Remaining Cursor control & motion */ 1504 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Begin), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BEGIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1505 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Begin), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BEGIN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1506 1507 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_0), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_0, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1508 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_1, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1509 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_2, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1510 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_3, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1511 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_4, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1512 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_5, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1513 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_6, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1514 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_7, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1515 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_8, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1516 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_9, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1517 1518 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_space), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1519 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_exclam), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EXCLAMATION_MARK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1520 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_quotedbl), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_QUOTEDBL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1521 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_numbersign), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMBER_SIGN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1522 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dollar), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOLLAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1523 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ampersand), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AMPERSAND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1524 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_apostrophe), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_QUOTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1525 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_parenleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT_PARENTHESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1526 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_parenright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT_PARENTHESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1527 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_asterisk), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ASTERISK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1528 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_plus), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PLUS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1529 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_comma), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COMMA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1530 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_minus), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MINUS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1531 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_period), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PERIOD, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1532 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_slash), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SLASH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1533 1534 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_colon), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COLON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1535 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_semicolon), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SEMICOLON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1536 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_less), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LESS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1537 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_equal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1538 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_greater), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_GREATER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1539 1540 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_at), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1541 1542 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_bracketleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_OPEN_BRACKET, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1543 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_backslash), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SLASH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1544 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_bracketright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLOSE_BRACKET, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1545 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_asciicircum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1546 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_underscore), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDERSCORE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1547 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Super_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_WINDOWS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1548 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Super_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_WINDOWS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1549 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Menu), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTEXT_MENU, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1550 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_QUOTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1551 1552 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_braceleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BRACELEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1553 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_braceright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BRACERIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1554 1555 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_exclamdown), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INVERTED_EXCLAMATION_MARK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1556 1557 /* Remaining Numeric Keypad Keys */ 1558 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_0), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD0, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1559 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD1, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1560 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD2, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1561 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD3, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1562 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD4, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1563 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD5, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1564 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD6, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1565 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD7, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1566 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD8, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1567 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD9, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1568 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Space), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1569 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1570 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Enter), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1571 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Equal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1572 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1573 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Multiply), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1574 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F26), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1575 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1576 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Add), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ADD, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1577 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Separator), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SEPARATOR, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1578 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Subtract), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1579 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F24), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1580 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Decimal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DECIMAL, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1581 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Divide), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1582 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F25), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1583 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); 1584 1585 /* Function Keys */ 1586 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F1, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1587 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F2, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1588 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F3, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1589 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F4, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1590 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F5, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1591 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F6, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1592 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F7, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1593 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F8, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1594 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F9, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1595 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F10), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F10, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1596 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F11), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1597 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F12), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1598 1599 /* Sun vendor-specific version of F11 and F12 */ 1600 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_F36), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1601 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_F37), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1602 1603 /* X11 keysym names for input method related keys don't always 1604 * match keytop engravings or Java virtual key names, so here we 1605 * only map constants that we've found on real keyboards. 1606 */ 1607 /* Type 5c Japanese keyboard: kakutei */ 1608 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Execute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ACCEPT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1609 /* Type 5c Japanese keyboard: henkan */ 1610 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Kanji), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONVERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1611 /* Type 5c Japanese keyboard: nihongo */ 1612 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Henkan_Mode), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INPUT_METHOD_ON_OFF, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1613 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Eisu_Shift ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALPHANUMERIC , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1614 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Eisu_toggle ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALPHANUMERIC , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1615 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Zenkaku ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FULL_WIDTH , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1616 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Hankaku ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HALF_WIDTH , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1617 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Hiragana ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HIRAGANA , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1618 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Katakana ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KATAKANA , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1619 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Romaji ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_JAPANESE_ROMAN , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1620 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Kana_Shift ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KANA , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1621 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Kana_Lock ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KANA_LOCK , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1622 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Muhenkan ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NONCONVERT , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1623 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Zen_Koho ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALL_CANDIDATES , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1624 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Kanji_Bangou ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CODE_INPUT , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1625 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Mae_Koho ), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PREVIOUS_CANDIDATE , java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1626 1627 1628 /* VK_KANA_LOCK is handled separately because it generates the 1629 * same keysym as ALT_GRAPH in spite of its different behavior. 1630 */ 1631 1632 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Multi_key), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COMPOSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1633 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Mode_switch), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT_GRAPH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1634 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ISO_Level3_Shift), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT_GRAPH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1635 1636 /* Editing block */ 1637 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Redo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1638 // XXX XK_L2 == F12; TODO: add code to use only one of them depending on the keyboard type. For now, restore 1639 // good PC behavior and bad but old Sparc behavior. 1640 // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1641 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1642 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1643 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1644 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1645 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L10), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1646 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Find), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1647 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1648 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PROPS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1649 // XXX XK_L1 == F11; TODO: add code to use only one of them depending on the keyboard type. For now, restore 1650 // good PC behavior and bad but old Sparc behavior. 1651 // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1652 1653 /* Sun vendor-specific versions for editing block */ 1654 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Again), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1655 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1656 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1657 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1658 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1659 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Find), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1660 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Props), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PROPS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1661 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Stop), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1662 1663 /* Apollo (HP) vendor-specific versions for editing block */ 1664 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1665 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1666 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1667 1668 /* Other vendor-specific versions for editing block */ 1669 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1670 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1671 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1672 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1673 1674 /* Dead key mappings (for European keyboards) */ 1675 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1676 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1677 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_circumflex), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1678 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1679 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_macron), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_MACRON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1680 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_breve), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_BREVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1681 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_abovedot), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVEDOT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1682 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1683 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_abovering), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVERING, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1684 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_doubleacute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DOUBLEACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1685 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_caron), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CARON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1686 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_cedilla), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1687 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_ogonek), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_OGONEK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1688 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_iota), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_IOTA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1689 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_voiced_sound), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_VOICED_SOUND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1690 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_semivoiced_sound), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_SEMIVOICED_SOUND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1691 1692 /* Sun vendor-specific dead key mappings (for European keyboards) */ 1693 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1694 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Circum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1695 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1696 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1697 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1698 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Cedilla), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1699 1700 /* DEC vendor-specific dead key mappings (for European keyboards) */ 1701 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_ring_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVERING, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1702 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_circumflex_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1703 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_cedilla_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1704 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_acute_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1705 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_grave_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1706 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1707 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1708 1709 /* Other vendor-specific dead key mappings (for European keyboards) */ 1710 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1711 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1712 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciicircum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1713 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1714 keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciitilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); 1715 1716 keysym2JavaKeycodeHash.put( Long.valueOf(XConstants.NoSymbol), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN)); 1717 1718 /* Reverse search of keysym by keycode. */ 1719 1720 /* Add keyboard locking codes. */ 1721 javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_CAPS_LOCK, XKeySymConstants.XK_Caps_Lock); 1722 javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_NUM_LOCK, XKeySymConstants.XK_Num_Lock); 1723 javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_SCROLL_LOCK, XKeySymConstants.XK_Scroll_Lock); 1724 javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_KANA_LOCK, XKeySymConstants.XK_Kana_Lock); 1725 }; 1726 1727 }