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