0N/A/*
2362N/A * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A
0N/A/*
0N/A * yan:
0N/A * This table looks like C header because
0N/A * (1) I use actual headers to make it;
0N/A * (2) syntax is nicely highlighted in my editor.
0N/A * Processed will be all lines started with 0x; 0x0000-started lines will
0N/A * be skipped though.
0N/A * Also java code will be copied to a resulting file.
0N/A *
0N/A * 0x0000 unicode means here either there's no equivalent to a keysym
0N/A * or we just skip it from the table for now because i.e. we'll never use
0N/A * the conversion in our workflow.
0N/A *
0N/A */
0N/A
0N/Atojava /*
2365N/Atojava * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
0N/Atojava * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/Atojava *
0N/Atojava * This code is free software; you can redistribute it and/or modify it
0N/Atojava * under the terms of the GNU General Public License version 2 only, as
2362N/Atojava * published by the Free Software Foundation. Oracle designates this
0N/Atojava * particular file as subject to the "Classpath" exception as provided
2362N/Atojava * by Oracle in the LICENSE file that accompanied this code.
0N/Atojava *
0N/Atojava * This code is distributed in the hope that it will be useful, but WITHOUT
0N/Atojava * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/Atojava * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/Atojava * version 2 for more details (a copy is included in the LICENSE file that
0N/Atojava * accompanied this code).
0N/Atojava *
0N/Atojava * You should have received a copy of the GNU General Public License version
0N/Atojava * 2 along with this work; if not, write to the Free Software Foundation,
0N/Atojava * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/Atojava *
2362N/Atojava * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/Atojava * or visit www.oracle.com if you need additional information or have any
2362N/Atojava * questions.
0N/Atojava */
0N/Atojava
0N/Atojava package sun.awt.X11;
0N/Atojava import java.util.Hashtable;
0N/Atojava import sun.misc.Unsafe;
0N/Atojava
1696N/Atojava import sun.util.logging.PlatformLogger;
1217N/Atojava
0N/Atojava public class XKeysym {
0N/Atojava
0N/Atojava public static void main( String args[] ) {
0N/Atojava System.out.println( "Cyrillc zhe:"+convertKeysym(0x06d6, 0));
0N/Atojava System.out.println( "Arabic sheen:"+convertKeysym(0x05d4, 0));
0N/Atojava System.out.println( "Latin a breve:"+convertKeysym(0x01e3, 0));
0N/Atojava System.out.println( "Latin f:"+convertKeysym(0x066, 0));
0N/Atojava System.out.println( "Backspace:"+Integer.toHexString(convertKeysym(0xff08, 0)));
0N/Atojava System.out.println( "Ctrl+f:"+Integer.toHexString(convertKeysym(0x066, XConstants.ControlMask)));
0N/Atojava }
0N/Atojava
0N/Atojava private XKeysym() {}
0N/Atojava
0N/Atojava static class Keysym2JavaKeycode {
0N/Atojava int jkeycode;
0N/Atojava int keyLocation;
0N/Atojava int getJavaKeycode() {
0N/Atojava return jkeycode;
0N/Atojava }
0N/Atojava int getKeyLocation() {
0N/Atojava return keyLocation;
0N/Atojava }
0N/Atojava Keysym2JavaKeycode(int jk, int loc) {
0N/Atojava jkeycode = jk;
0N/Atojava keyLocation = loc;
0N/Atojava }
0N/Atojava };
0N/Atojava private static Unsafe unsafe = XlibWrapper.unsafe;
0N/Atojava static Hashtable<Long, Keysym2JavaKeycode> keysym2JavaKeycodeHash = new Hashtable<Long, Keysym2JavaKeycode>();
0N/Atojava static Hashtable<Long, Character> keysym2UCSHash = new Hashtable<Long, Character>();
0N/Atojava static Hashtable<Long, Long> uppercaseHash = new Hashtable<Long, Long>();
0N/Atojava // TODO: or not to do: add reverse lookup javakeycode2keysym,
0N/Atojava // for robot only it seems to me. After that, we can remove lookup table
0N/Atojava // from XWindow.c altogether.
874N/Atojava // Another use for reverse lookup: query keyboard state, for some keys.
874N/Atojava static Hashtable<Integer, Long> javaKeycode2KeysymHash = new Hashtable<Integer, Long>();
0N/Atojava static long keysym_lowercase = unsafe.allocateMemory(Native.getLongSize());
0N/Atojava static long keysym_uppercase = unsafe.allocateMemory(Native.getLongSize());
1975N/Atojava static Keysym2JavaKeycode kanaLock = new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KANA_LOCK,
1975N/Atojava java.awt.event.KeyEvent.KEY_LOCATION_STANDARD);
1696N/Atojava private static PlatformLogger keyEventLog = PlatformLogger.getLogger("sun.awt.X11.kye.XKeysym");
0N/Atojava public static char convertKeysym( long ks, int state ) {
0N/Atojava
0N/Atojava /* First check for Latin-1 characters (1:1 mapping) */
0N/Atojava if ((ks >= 0x0020 && ks <= 0x007e) ||
0N/Atojava (ks >= 0x00a0 && ks <= 0x00ff)) {
0N/Atojava if( (state & XConstants.ControlMask) != 0 ) {
0N/Atojava if ((ks >= 'A' && ks <= ']') || (ks == '_') ||
0N/Atojava (ks >= 'a' && ks <='z')) {
0N/Atojava ks &= 0x1F;
0N/Atojava }
0N/Atojava }
0N/Atojava return (char)ks;
0N/Atojava }
0N/Atojava
0N/Atojava /* XXX: Also check for directly encoded 24-bit UCS characters:
0N/Atojava */
0N/Atojava if ((ks & 0xff000000) == 0x01000000)
0N/Atojava return (char)(ks & 0x00ffffff);
0N/Atojava
0N/Atojava Character ch = keysym2UCSHash.get(ks);
0N/Atojava return ch == null ? (char)0 : ch.charValue();
0N/Atojava }
1067N/Atojava static long xkeycode2keysym_noxkb(XKeyEvent ev, int ndx) {
1067N/Atojava XToolkit.awtLock();
1067N/Atojava try {
1067N/Atojava return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx);
1067N/Atojava } finally {
1067N/Atojava XToolkit.awtUnlock();
1067N/Atojava }
1067N/Atojava }
1067N/Atojava static long xkeycode2keysym_xkb(XKeyEvent ev, int ndx) {
1067N/Atojava XToolkit.awtLock();
1067N/Atojava try {
1067N/Atojava int mods = ev.get_state();
1067N/Atojava if ((ndx == 0) && ((mods & XConstants.ShiftMask) != 0)) {
1067N/Atojava // I don't know all possible meanings of 'ndx' in case of XKB
1067N/Atojava // and don't want to speculate. But this particular case
1067N/Atojava // clearly means that caller needs a so called primary keysym.
1067N/Atojava mods ^= XConstants.ShiftMask;
1067N/Atojava }
1217N/Atojava long kbdDesc = XToolkit.getXKBKbdDesc();
1217N/Atojava if( kbdDesc != 0 ) {
1217N/Atojava XlibWrapper.XkbTranslateKeyCode(kbdDesc, ev.get_keycode(),
1067N/Atojava mods, XlibWrapper.iarg1, XlibWrapper.larg3);
1217N/Atojava }else{
1217N/Atojava // xkb resources already gone
1217N/Atojava keyEventLog.fine("Thread race: Toolkit shutdown before the end of a key event processing.");
1217N/Atojava return 0;
1217N/Atojava }
1067N/Atojava //XXX unconsumed modifiers?
1067N/Atojava return Native.getLong(XlibWrapper.larg3);
1067N/Atojava } finally {
1067N/Atojava XToolkit.awtUnlock();
1067N/Atojava }
1067N/Atojava }
0N/Atojava static long xkeycode2keysym(XKeyEvent ev, int ndx) {
0N/Atojava XToolkit.awtLock();
0N/Atojava try {
1067N/Atojava if (XToolkit.canUseXKBCalls()) {
1067N/Atojava return xkeycode2keysym_xkb(ev, ndx);
1067N/Atojava }else{
1067N/Atojava return xkeycode2keysym_noxkb(ev, ndx);
1067N/Atojava }
0N/Atojava } finally {
0N/Atojava XToolkit.awtUnlock();
0N/Atojava }
0N/Atojava }
1067N/Atojava static long xkeycode2primary_keysym(XKeyEvent ev) {
1067N/Atojava return xkeycode2keysym(ev, 0);
1067N/Atojava }
0N/Atojava public static boolean isKPEvent( XKeyEvent ev )
0N/Atojava {
0N/Atojava // Xsun without XKB uses keysymarray[2] keysym to determine if it is KP event.
0N/Atojava // Otherwise, it is [1].
1342N/Atojava int ndx = XToolkit.isXsunKPBehavior() &&
0N/Atojava ! XToolkit.isXKBenabled() ? 2 : 1;
559N/Atojava // Even if XKB is enabled, we have another problem: some symbol tables (e.g. cz) force
559N/Atojava // a regular comma instead of KP_comma for a decimal separator. Result is,
559N/Atojava // bugs like 6454041. So, we will try for keypadness a keysym with ndx==0 as well.
0N/Atojava XToolkit.awtLock();
0N/Atojava try {
559N/Atojava return (XlibWrapper.IsKeypadKey(
559N/Atojava XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx ) ) ||
559N/Atojava XlibWrapper.IsKeypadKey(
559N/Atojava XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), 0 ) ));
0N/Atojava } finally {
0N/Atojava XToolkit.awtUnlock();
0N/Atojava }
0N/Atojava }
0N/Atojava /**
0N/Atojava Return uppercase keysym correspondent to a given keysym.
0N/Atojava If input keysym does not belong to any lower/uppercase pair, return -1.
0N/Atojava */
0N/Atojava public static long getUppercaseAlphabetic( long keysym ) {
0N/Atojava long lc = -1;
0N/Atojava long uc = -1;
0N/Atojava Long stored = uppercaseHash.get(keysym);
0N/Atojava if (stored != null ) {
0N/Atojava return stored.longValue();
0N/Atojava }
0N/Atojava XToolkit.awtLock();
0N/Atojava try {
0N/Atojava XlibWrapper.XConvertCase(keysym, keysym_lowercase, keysym_uppercase);
0N/Atojava lc = Native.getLong(keysym_lowercase);
0N/Atojava uc = Native.getLong(keysym_uppercase);
0N/Atojava if (lc == uc) {
0N/Atojava //not applicable
0N/Atojava uc = -1;
0N/Atojava }
0N/Atojava uppercaseHash.put(keysym, uc);
0N/Atojava } finally {
0N/Atojava XToolkit.awtUnlock();
0N/Atojava }
0N/Atojava return uc;
0N/Atojava }
0N/Atojava /**
0N/Atojava Get a keypad keysym derived from a keycode.
0N/Atojava I do not check if this is a keypad event, I just presume it.
0N/Atojava */
0N/Atojava private static long getKeypadKeysym( XKeyEvent ev ) {
0N/Atojava int ndx = 0;
0N/Atojava long keysym = XConstants.NoSymbol;
1342N/Atojava if( XToolkit.isXsunKPBehavior() &&
0N/Atojava ! XToolkit.isXKBenabled() ) {
0N/Atojava if( (ev.get_state() & XConstants.ShiftMask) != 0 ) { // shift modifier is on
0N/Atojava ndx = 3;
0N/Atojava keysym = xkeycode2keysym(ev, ndx);
0N/Atojava } else {
0N/Atojava ndx = 2;
0N/Atojava keysym = xkeycode2keysym(ev, ndx);
0N/Atojava }
0N/Atojava } else {
0N/Atojava if( (ev.get_state() & XConstants.ShiftMask) != 0 || // shift modifier is on
0N/Atojava ((ev.get_state() & XConstants.LockMask) != 0 && // lock modifier is on
0N/Atojava (XToolkit.modLockIsShiftLock != 0)) ) { // it is interpreted as ShiftLock
0N/Atojava ndx = 0;
0N/Atojava keysym = xkeycode2keysym(ev, ndx);
0N/Atojava } else {
0N/Atojava ndx = 1;
0N/Atojava keysym = xkeycode2keysym(ev, ndx);
0N/Atojava }
0N/Atojava }
0N/Atojava return keysym;
0N/Atojava }
1975N/Atojava
1975N/Atojava /**
1975N/Atojava Return java.awt.KeyEvent constant meaning (Java) keycode, derived from X keysym.
1975N/Atojava Some keysyms maps to more than one keycode, these would require extra processing.
1975N/Atojava */
1975N/Atojava static Keysym2JavaKeycode getJavaKeycode( long keysym ) {
1975N/Atojava if(keysym == XKeySymConstants.XK_Mode_switch){
1975N/Atojava /* XK_Mode_switch on solaris maps either to VK_ALT_GRAPH (default) or VK_KANA_LOCK */
1975N/Atojava if( XToolkit.isKanaKeyboard() ) {
1975N/Atojava return kanaLock;
1975N/Atojava }
1975N/Atojava }else if(keysym == XKeySymConstants.XK_L1){
1975N/Atojava /* if it is Sun keyboard, trick hash to return VK_STOP else VK_F11 (default) */
1975N/Atojava if( XToolkit.isSunKeyboard() ) {
1975N/Atojava keysym = XKeySymConstants.SunXK_Stop;
1975N/Atojava }
1975N/Atojava }else if(keysym == XKeySymConstants.XK_L2) {
1975N/Atojava /* if it is Sun keyboard, trick hash to return VK_AGAIN else VK_F12 (default) */
1975N/Atojava if( XToolkit.isSunKeyboard() ) {
1975N/Atojava keysym = XKeySymConstants.SunXK_Again;
1975N/Atojava }
1975N/Atojava }
1975N/Atojava
1975N/Atojava return keysym2JavaKeycodeHash.get( keysym );
1975N/Atojava }
0N/Atojava /**
0N/Atojava Return java.awt.KeyEvent constant meaning (Java) keycode, derived from X Window KeyEvent.
0N/Atojava Algorithm is, extract via XKeycodeToKeysym a proper keysym according to Xlib spec rules and
0N/Atojava err exceptions, then search a java keycode in a table.
0N/Atojava */
0N/Atojava static Keysym2JavaKeycode getJavaKeycode( XKeyEvent ev ) {
0N/Atojava // get from keysym2JavaKeycodeHash.
0N/Atojava long keysym = XConstants.NoSymbol;
0N/Atojava int ndx = 0;
0N/Atojava if( (ev.get_state() & XToolkit.numLockMask) != 0 &&
0N/Atojava isKPEvent(ev)) {
0N/Atojava keysym = getKeypadKeysym( ev );
0N/Atojava } else {
0N/Atojava // we only need primary-layer keysym to derive a java keycode.
0N/Atojava ndx = 0;
0N/Atojava keysym = xkeycode2keysym(ev, ndx);
0N/Atojava }
0N/Atojava
1975N/Atojava Keysym2JavaKeycode jkc = getJavaKeycode( keysym );
0N/Atojava return jkc;
0N/Atojava }
0N/Atojava static int getJavaKeycodeOnly( XKeyEvent ev ) {
0N/Atojava Keysym2JavaKeycode jkc = getJavaKeycode( ev );
0N/Atojava return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
0N/Atojava }
1067N/Atojava /**
1067N/Atojava * Return an integer java keycode apprx as it was before extending keycodes range.
1067N/Atojava * This call would ignore for instance XKB and process whatever is on the bottom
1067N/Atojava * of keysym stack. Result will not depend on actual locale, will differ between
1067N/Atojava * dual/multiple keyboard setup systems (e.g. English+Russian vs French+Russian)
1067N/Atojava * but will be someway compatible with old releases.
1067N/Atojava */
1067N/Atojava static int getLegacyJavaKeycodeOnly( XKeyEvent ev ) {
1067N/Atojava long keysym = XConstants.NoSymbol;
1067N/Atojava int ndx = 0;
1067N/Atojava if( (ev.get_state() & XToolkit.numLockMask) != 0 &&
1067N/Atojava isKPEvent(ev)) {
1067N/Atojava keysym = getKeypadKeysym( ev );
1067N/Atojava } else {
1067N/Atojava // we only need primary-layer keysym to derive a java keycode.
1067N/Atojava ndx = 0;
1067N/Atojava keysym = xkeycode2keysym_noxkb(ev, ndx);
1067N/Atojava }
1975N/Atojava Keysym2JavaKeycode jkc = getJavaKeycode( keysym );
1067N/Atojava return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode();
1067N/Atojava }
874N/Atojava static long javaKeycode2Keysym( int jkey ) {
874N/Atojava Long ks = javaKeycode2KeysymHash.get( jkey );
874N/Atojava return (ks == null ? 0 : ks.longValue());
874N/Atojava }
0N/Atojava /**
0N/Atojava Return keysym derived from a keycode and modifiers.
0N/Atojava Usually an input method does this. However non-system input methods (e.g. Java IMs) do not.
0N/Atojava For rules, see "Xlib - C Language X Interface",
0N/Atojava MIT X Consortium Standard
0N/Atojava X Version 11, Release 6
0N/Atojava Ch. 12.7
0N/Atojava XXX TODO: or maybe not to do: process Mode Lock and therefore
0N/Atojava not only 0-th and 1-st but 2-nd and 3-rd keysyms for a keystroke.
0N/Atojava */
0N/Atojava static long getKeysym( XKeyEvent ev ) {
0N/Atojava long keysym = XConstants.NoSymbol;
0N/Atojava long uppercaseKeysym = XConstants.NoSymbol;
0N/Atojava int ndx = 0;
0N/Atojava boolean getUppercase = false;
0N/Atojava if ((ev.get_state() & XToolkit.numLockMask) != 0 &&
0N/Atojava isKPEvent(ev)) {
0N/Atojava keysym = getKeypadKeysym( ev );
0N/Atojava } else {
0N/Atojava // XXX: at this point, anything in keysym[23] is ignored.
0N/Atojava //
0N/Atojava // Shift & Lock are off ===> ndx = 0;
0N/Atojava // Shift off & Lock on & Lock is CapsLock ===> ndx = 0;
0N/Atojava // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used.
0N/Atojava // Shift on & Lock on & Lock is CapsLock ===> ndx == 1;
0N/Atojava // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used.
0N/Atojava // Shift on || (Lock on & Lock is ShiftLock) ===> ndx = 1.
0N/Atojava if ((ev.get_state() & XConstants.ShiftMask) == 0) { // shift is off
0N/Atojava if ((ev.get_state() & XConstants.LockMask) == 0 ) { // lock is off
0N/Atojava ndx = 0;
0N/Atojava getUppercase = false;
0N/Atojava } else if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on
0N/Atojava (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock
0N/Atojava ndx = 0;
0N/Atojava getUppercase = true;
0N/Atojava } else if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on
0N/Atojava (XToolkit.modLockIsShiftLock != 0)) { // lock is shift lock
0N/Atojava ndx = 1;
0N/Atojava getUppercase = false;
0N/Atojava }
0N/Atojava } else { // shift on
0N/Atojava if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on
0N/Atojava (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock
0N/Atojava ndx = 1;
0N/Atojava getUppercase = true;
0N/Atojava } else {
0N/Atojava ndx = 1;
0N/Atojava getUppercase = false;
0N/Atojava }
0N/Atojava }
0N/Atojava keysym = xkeycode2keysym(ev, ndx);
0N/Atojava if (getUppercase && (uppercaseKeysym = getUppercaseAlphabetic( keysym )) != -1) {
0N/Atojava keysym = uppercaseKeysym;
0N/Atojava }
0N/Atojava }
0N/Atojava return keysym;
0N/Atojava }
0N/Atojava
0N/Atojava static {
0N/A
0N/A/***********************************************************
0N/ACopyright 1987, 1994, 1998 The Open Group
0N/A
0N/APermission to use, copy, modify, distribute, and sell this software and its
0N/Adocumentation for any purpose is hereby granted without fee, provided that
0N/Athe above copyright notice appear in all copies and that both that
0N/Acopyright notice and this permission notice appear in supporting
0N/Adocumentation.
0N/A
0N/AThe above copyright notice and this permission notice shall be included
0N/Ain all copies or substantial portions of the Software.
0N/A
0N/ATHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
0N/AOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
0N/AMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
0N/AIN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
0N/AOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
0N/AARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
0N/AOTHER DEALINGS IN THE SOFTWARE.
0N/A
0N/AExcept as contained in this notice, the name of The Open Group shall
0N/Anot be used in advertising or otherwise to promote the sale, use or
0N/Aother dealings in this Software without prior written authorization
0N/Afrom The Open Group.
0N/A
0N/A
0N/ACopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
0N/A
0N/A All Rights Reserved
0N/A
0N/APermission to use, copy, modify, and distribute this software and its
0N/Adocumentation for any purpose and without fee is hereby granted,
0N/Aprovided that the above copyright notice appear in all copies and that
0N/Aboth that copyright notice and this permission notice appear in
0N/Asupporting documentation, and that the name of Digital not be
0N/Aused in advertising or publicity pertaining to distribution of the
0N/Asoftware without specific, written prior permission.
0N/A
0N/ADIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
0N/AALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
0N/ADIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
0N/AANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
0N/AWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
0N/AARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
0N/ASOFTWARE.
0N/A
0N/A******************************************************************/
0N/A
0N/A/*
0N/A * TTY Functions, cleverly chosen to map to ascii, for convenience of
0N/A * programming, but could have been arbitrary (at the cost of lookup
0N/A * tables in client code.
0N/A */
0N/A
0N/A0x0008 #define XK_BackSpace 0xFF08 /* back space, back char */
0N/A0x0009 #define XK_Tab 0xFF09
0N/A0x000a #define XK_Linefeed 0xFF0A /* Linefeed, LF */
0N/A0x000b #define XK_Clear 0xFF0B
0N/A/*XXX map to 0a instead of 0d - why? for some good reason I hope */
0N/A0x000a #define XK_Return 0xFF0D /* Return, enter */
0N/A0x0000 #define XK_Pause 0xFF13 /* Pause, hold */
0N/A0x0000 #define XK_Scroll_Lock 0xFF14
0N/A0x0000 #define XK_Sys_Req 0xFF15
0N/A0x001B #define XK_Escape 0xFF1B
0N/A0x007F #define XK_Delete 0xFFFF /* Delete, rubout */
0N/A
0N/A
0N/A
0N/A/* International & multi-key character composition */
0N/A
0N/A0x0000 #define XK_Multi_key 0xFF20 /* Multi-key character compose */
0N/A0x0000 #define XK_Codeinput 0xFF37
0N/A0x0000 #define XK_SingleCandidate 0xFF3C
0N/A0x0000 #define XK_MultipleCandidate 0xFF3D
0N/A0x0000 #define XK_PreviousCandidate 0xFF3E
0N/A
0N/A/* Japanese keyboard support */
0N/A
0N/A0x0000 #define XK_Kanji 0xFF21 /* Kanji, Kanji convert */
0N/A0x0000 #define XK_Muhenkan 0xFF22 /* Cancel Conversion */
0N/A0x0000 #define XK_Henkan_Mode 0xFF23 /* Start/Stop Conversion */
0N/A0x0000 #define XK_Henkan 0xFF23 /* Alias for Henkan_Mode */
0N/A0x0000 #define XK_Romaji 0xFF24 /* to Romaji */
0N/A0x0000 #define XK_Hiragana 0xFF25 /* to Hiragana */
0N/A0x0000 #define XK_Katakana 0xFF26 /* to Katakana */
0N/A0x0000 #define XK_Hiragana_Katakana 0xFF27 /* Hiragana/Katakana toggle */
0N/A0x0000 #define XK_Zenkaku 0xFF28 /* to Zenkaku */
0N/A0x0000 #define XK_Hankaku 0xFF29 /* to Hankaku */
0N/A0x0000 #define XK_Zenkaku_Hankaku 0xFF2A /* Zenkaku/Hankaku toggle */
0N/A0x0000 #define XK_Touroku 0xFF2B /* Add to Dictionary */
0N/A0x0000 #define XK_Massyo 0xFF2C /* Delete from Dictionary */
0N/A0x0000 #define XK_Kana_Lock 0xFF2D /* Kana Lock */
0N/A0x0000 #define XK_Kana_Shift 0xFF2E /* Kana Shift */
0N/A0x0000 #define XK_Eisu_Shift 0xFF2F /* Alphanumeric Shift */
0N/A0x0000 #define XK_Eisu_toggle 0xFF30 /* Alphanumeric toggle */
0N/A0x0000 #define XK_Kanji_Bangou 0xFF37 /* Codeinput */
0N/A0x0000 #define XK_Zen_Koho 0xFF3D /* Multiple/All Candidate(s) */
0N/A0x0000 #define XK_Mae_Koho 0xFF3E /* Previous Candidate */
0N/A
0N/A/* Cursor control & motion */
0N/A
0N/A0x0000 #define XK_Home 0xFF50
0N/A0x0000 #define XK_Left 0xFF51 /* Move left, left arrow */
0N/A0x0000 #define XK_Up 0xFF52 /* Move up, up arrow */
0N/A0x0000 #define XK_Right 0xFF53 /* Move right, right arrow */
0N/A0x0000 #define XK_Down 0xFF54 /* Move down, down arrow */
0N/A0x0000 #define XK_Prior 0xFF55 /* Prior, previous */
0N/A0x0000 #define XK_Page_Up 0xFF55
0N/A0x0000 #define XK_Next 0xFF56 /* Next */
0N/A0x0000 #define XK_Page_Down 0xFF56
0N/A0x0000 #define XK_End 0xFF57 /* EOL */
0N/A0x0000 #define XK_Begin 0xFF58 /* BOL */
0N/A
0N/A
0N/A/* Misc Functions */
0N/A
0N/A0x0000 #define XK_Select 0xFF60 /* Select, mark */
0N/A0x0000 #define XK_Print 0xFF61
0N/A0x0000 #define XK_Execute 0xFF62 /* Execute, run, do */
0N/A0x0000 #define XK_Insert 0xFF63 /* Insert, insert here */
0N/A0x0000 #define XK_Undo 0xFF65 /* Undo, oops */
0N/A0x0000 #define XK_Redo 0xFF66 /* redo, again */
0N/A0x0000 #define XK_Menu 0xFF67
0N/A0x0000 #define XK_Find 0xFF68 /* Find, search */
0N/A0x0000 #define XK_Cancel 0xFF69 /* Cancel, stop, abort, exit */
0N/A0x0000 #define XK_Help 0xFF6A /* Help */
0N/A0x0000 #define XK_Break 0xFF6B
0N/A0x0000 #define XK_Mode_switch 0xFF7E /* Character set switch */
0N/A0x0000 #define XK_script_switch 0xFF7E /* Alias for mode_switch */
0N/A0x0000 #define XK_Num_Lock 0xFF7F
0N/A
0N/A/* Keypad Functions, keypad numbers cleverly chosen to map to ascii */
0N/A
0N/A0x0020 #define XK_KP_Space 0xFF80 /* space */
0N/A0x0009 #define XK_KP_Tab 0xFF89
0N/A0x000A #define XK_KP_Enter 0xFF8D /* enter: note that it is again 0A */
0N/A0x0000 #define XK_KP_F1 0xFF91 /* PF1, KP_A, ... */
0N/A0x0000 #define XK_KP_F2 0xFF92
0N/A0x0000 #define XK_KP_F3 0xFF93
0N/A0x0000 #define XK_KP_F4 0xFF94
0N/A0x0000 #define XK_KP_Home 0xFF95
0N/A0x0000 #define XK_KP_Left 0xFF96
0N/A0x0000 #define XK_KP_Up 0xFF97
0N/A0x0000 #define XK_KP_Right 0xFF98
0N/A0x0000 #define XK_KP_Down 0xFF99
0N/A0x0000 #define XK_KP_Prior 0xFF9A
0N/A0x0000 #define XK_KP_Page_Up 0xFF9A
0N/A0x0000 #define XK_KP_Next 0xFF9B
0N/A0x0000 #define XK_KP_Page_Down 0xFF9B
0N/A0x0000 #define XK_KP_End 0xFF9C
0N/A0x0000 #define XK_KP_Begin 0xFF9D
0N/A0x0000 #define XK_KP_Insert 0xFF9E
0N/A0x007F #define XK_KP_Delete 0xFF9F
0N/A0x003d #define XK_KP_Equal 0xFFBD /* equals */
0N/A0x002a #define XK_KP_Multiply 0xFFAA
0N/A0x002b #define XK_KP_Add 0xFFAB
0N/A0x002c #define XK_KP_Separator 0xFFAC /* separator, often comma */
0N/A0x002d #define XK_KP_Subtract 0xFFAD
0N/A0x002e #define XK_KP_Decimal 0xFFAE
0N/A0x002f #define XK_KP_Divide 0xFFAF
0N/A
0N/A0x0030 #define XK_KP_0 0xFFB0
0N/A0x0031 #define XK_KP_1 0xFFB1
0N/A0x0032 #define XK_KP_2 0xFFB2
0N/A0x0033 #define XK_KP_3 0xFFB3
0N/A0x0034 #define XK_KP_4 0xFFB4
0N/A0x0035 #define XK_KP_5 0xFFB5
0N/A0x0036 #define XK_KP_6 0xFFB6
0N/A0x0037 #define XK_KP_7 0xFFB7
0N/A0x0038 #define XK_KP_8 0xFFB8
0N/A0x0039 #define XK_KP_9 0xFFB9
0N/A
0N/A
0N/A
0N/A/*
0N/A * Auxilliary Functions; note the duplicate definitions for left and right
0N/A * function keys; Sun keyboards and a few other manufactures have such
0N/A * function key groups on the left and/or right sides of the keyboard.
0N/A * We've not found a keyboard with more than 35 function keys total.
0N/A */
0N/A
0N/A0x0000 #define XK_F1 0xFFBE
0N/A0x0000 #define XK_F2 0xFFBF
0N/A0x0000 #define XK_F3 0xFFC0
0N/A0x0000 #define XK_F4 0xFFC1
0N/A0x0000 #define XK_F5 0xFFC2
0N/A0x0000 #define XK_F6 0xFFC3
0N/A0x0000 #define XK_F7 0xFFC4
0N/A0x0000 #define XK_F8 0xFFC5
0N/A0x0000 #define XK_F9 0xFFC6
0N/A0x0000 #define XK_F10 0xFFC7
0N/A0x0000 #define XK_F11 0xFFC8
0N/A0x0000 #define XK_L1 0xFFC8
0N/A0x0000 #define XK_F12 0xFFC9
0N/A0x0000 #define XK_L2 0xFFC9
0N/A0x0000 #define XK_F13 0xFFCA
0N/A0x0000 #define XK_L3 0xFFCA
0N/A0x0000 #define XK_F14 0xFFCB
0N/A0x0000 #define XK_L4 0xFFCB
0N/A0x0000 #define XK_F15 0xFFCC
0N/A0x0000 #define XK_L5 0xFFCC
0N/A0x0000 #define XK_F16 0xFFCD
0N/A0x0000 #define XK_L6 0xFFCD
0N/A0x0000 #define XK_F17 0xFFCE
0N/A0x0000 #define XK_L7 0xFFCE
0N/A0x0000 #define XK_F18 0xFFCF
0N/A0x0000 #define XK_L8 0xFFCF
0N/A0x0000 #define XK_F19 0xFFD0
0N/A0x0000 #define XK_L9 0xFFD0
0N/A0x0000 #define XK_F20 0xFFD1
0N/A0x0000 #define XK_L10 0xFFD1
0N/A0x0000 #define XK_F21 0xFFD2
0N/A0x0000 #define XK_R1 0xFFD2
0N/A0x0000 #define XK_F22 0xFFD3
0N/A0x0000 #define XK_R2 0xFFD3
0N/A0x0000 #define XK_F23 0xFFD4
0N/A0x0000 #define XK_R3 0xFFD4
0N/A0x0000 #define XK_F24 0xFFD5
0N/A0x0000 #define XK_R4 0xFFD5
0N/A0x0000 #define XK_F25 0xFFD6
0N/A0x0000 #define XK_R5 0xFFD6
0N/A0x0000 #define XK_F26 0xFFD7
0N/A0x0000 #define XK_R6 0xFFD7
0N/A0x0000 #define XK_F27 0xFFD8
0N/A0x0000 #define XK_R7 0xFFD8
0N/A0x0000 #define XK_F28 0xFFD9
0N/A0x0000 #define XK_R8 0xFFD9
0N/A0x0000 #define XK_F29 0xFFDA
0N/A0x0000 #define XK_R9 0xFFDA
0N/A0x0000 #define XK_F30 0xFFDB
0N/A0x0000 #define XK_R10 0xFFDB
0N/A0x0000 #define XK_F31 0xFFDC
0N/A0x0000 #define XK_R11 0xFFDC
0N/A0x0000 #define XK_F32 0xFFDD
0N/A0x0000 #define XK_R12 0xFFDD
0N/A0x0000 #define XK_F33 0xFFDE
0N/A0x0000 #define XK_R13 0xFFDE
0N/A0x0000 #define XK_F34 0xFFDF
0N/A0x0000 #define XK_R14 0xFFDF
0N/A0x0000 #define XK_F35 0xFFE0
0N/A0x0000 #define XK_R15 0xFFE0
0N/A
0N/A/* Modifiers */
0N/A
0N/A0x0000 #define XK_Shift_L 0xFFE1 /* Left shift */
0N/A0x0000 #define XK_Shift_R 0xFFE2 /* Right shift */
0N/A0x0000 #define XK_Control_L 0xFFE3 /* Left control */
0N/A0x0000 #define XK_Control_R 0xFFE4 /* Right control */
0N/A0x0000 #define XK_Caps_Lock 0xFFE5 /* Caps lock */
0N/A0x0000 #define XK_Shift_Lock 0xFFE6 /* Shift lock */
0N/A
0N/A0x0000 #define XK_Meta_L 0xFFE7 /* Left meta */
0N/A0x0000 #define XK_Meta_R 0xFFE8 /* Right meta */
0N/A0x0000 #define XK_Alt_L 0xFFE9 /* Left alt */
0N/A0x0000 #define XK_Alt_R 0xFFEA /* Right alt */
0N/A0x0000 #define XK_Super_L 0xFFEB /* Left super */
0N/A0x0000 #define XK_Super_R 0xFFEC /* Right super */
0N/A0x0000 #define XK_Hyper_L 0xFFED /* Left hyper */
0N/A0x0000 #define XK_Hyper_R 0xFFEE /* Right hyper */
0N/A#endif /* XK_MISCELLANY */
0N/A
0N/A/*
0N/A * ISO 9995 Function and Modifier Keys
0N/A * Byte 3 = 0xFE
0N/A */
0N/A
0N/A#ifdef XK_XKB_KEYS
0N/A0x0000 #define XK_ISO_Lock 0xFE01
0N/A0x0000 #define XK_ISO_Level2_Latch 0xFE02
0N/A0x0000 #define XK_ISO_Level3_Shift 0xFE03
0N/A0x0000 #define XK_ISO_Level3_Latch 0xFE04
0N/A0x0000 #define XK_ISO_Level3_Lock 0xFE05
0N/A0x0000 #define XK_ISO_Group_Shift 0xFF7E /* Alias for mode_switch */
0N/A0x0000 #define XK_ISO_Group_Latch 0xFE06
0N/A0x0000 #define XK_ISO_Group_Lock 0xFE07
0N/A0x0000 #define XK_ISO_Next_Group 0xFE08
0N/A0x0000 #define XK_ISO_Next_Group_Lock 0xFE09
0N/A0x0000 #define XK_ISO_Prev_Group 0xFE0A
0N/A0x0000 #define XK_ISO_Prev_Group_Lock 0xFE0B
0N/A0x0000 #define XK_ISO_First_Group 0xFE0C
0N/A0x0000 #define XK_ISO_First_Group_Lock 0xFE0D
0N/A0x0000 #define XK_ISO_Last_Group 0xFE0E
0N/A0x0000 #define XK_ISO_Last_Group_Lock 0xFE0F
0N/A
1618N/A0x0009 #define XK_ISO_Left_Tab 0xFE20
0N/A0x0000 #define XK_ISO_Move_Line_Up 0xFE21
0N/A0x0000 #define XK_ISO_Move_Line_Down 0xFE22
0N/A0x0000 #define XK_ISO_Partial_Line_Up 0xFE23
0N/A0x0000 #define XK_ISO_Partial_Line_Down 0xFE24
0N/A0x0000 #define XK_ISO_Partial_Space_Left 0xFE25
0N/A0x0000 #define XK_ISO_Partial_Space_Right 0xFE26
0N/A0x0000 #define XK_ISO_Set_Margin_Left 0xFE27
0N/A0x0000 #define XK_ISO_Set_Margin_Right 0xFE28
0N/A0x0000 #define XK_ISO_Release_Margin_Left 0xFE29
0N/A0x0000 #define XK_ISO_Release_Margin_Right 0xFE2A
0N/A0x0000 #define XK_ISO_Release_Both_Margins 0xFE2B
0N/A0x0000 #define XK_ISO_Fast_Cursor_Left 0xFE2C
0N/A0x0000 #define XK_ISO_Fast_Cursor_Right 0xFE2D
0N/A0x0000 #define XK_ISO_Fast_Cursor_Up 0xFE2E
0N/A0x0000 #define XK_ISO_Fast_Cursor_Down 0xFE2F
0N/A0x0000 #define XK_ISO_Continuous_Underline 0xFE30
0N/A0x0000 #define XK_ISO_Discontinuous_Underline 0xFE31
0N/A0x0000 #define XK_ISO_Emphasize 0xFE32
0N/A0x0000 #define XK_ISO_Center_Object 0xFE33
0N/A0x0000 #define XK_ISO_Enter 0xFE34
0N/A
0N/A0x0000 #define XK_dead_grave 0xFE50
0N/A0x0000 #define XK_dead_acute 0xFE51
0N/A0x0000 #define XK_dead_circumflex 0xFE52
0N/A0x0000 #define XK_dead_tilde 0xFE53
0N/A0x0000 #define XK_dead_macron 0xFE54
0N/A0x0000 #define XK_dead_breve 0xFE55
0N/A0x0000 #define XK_dead_abovedot 0xFE56
0N/A0x0000 #define XK_dead_diaeresis 0xFE57
0N/A0x0000 #define XK_dead_abovering 0xFE58
0N/A0x0000 #define XK_dead_doubleacute 0xFE59
0N/A0x0000 #define XK_dead_caron 0xFE5A
0N/A0x0000 #define XK_dead_cedilla 0xFE5B
0N/A0x0000 #define XK_dead_ogonek 0xFE5C
0N/A0x0000 #define XK_dead_iota 0xFE5D
0N/A0x0000 #define XK_dead_voiced_sound 0xFE5E
0N/A0x0000 #define XK_dead_semivoiced_sound 0xFE5F
0N/A0x0000 #define XK_dead_belowdot 0xFE60
0N/A0x0000 #define XK_dead_hook 0xFE61
0N/A0x0000 #define XK_dead_horn 0xFE62
0N/A
0N/A0x0000 #define XK_First_Virtual_Screen 0xFED0
0N/A0x0000 #define XK_Prev_Virtual_Screen 0xFED1
0N/A0x0000 #define XK_Next_Virtual_Screen 0xFED2
0N/A0x0000 #define XK_Last_Virtual_Screen 0xFED4
0N/A0x0000 #define XK_Terminate_Server 0xFED5
0N/A
0N/A0x0000 #define XK_AccessX_Enable 0xFE70
0N/A0x0000 #define XK_AccessX_Feedback_Enable 0xFE71
0N/A0x0000 #define XK_RepeatKeys_Enable 0xFE72
0N/A0x0000 #define XK_SlowKeys_Enable 0xFE73
0N/A0x0000 #define XK_BounceKeys_Enable 0xFE74
0N/A0x0000 #define XK_StickyKeys_Enable 0xFE75
0N/A0x0000 #define XK_MouseKeys_Enable 0xFE76
0N/A0x0000 #define XK_MouseKeys_Accel_Enable 0xFE77
0N/A0x0000 #define XK_Overlay1_Enable 0xFE78
0N/A0x0000 #define XK_Overlay2_Enable 0xFE79
0N/A0x0000 #define XK_AudibleBell_Enable 0xFE7A
0N/A
0N/A0x0000 #define XK_Pointer_Left 0xFEE0
0N/A0x0000 #define XK_Pointer_Right 0xFEE1
0N/A0x0000 #define XK_Pointer_Up 0xFEE2
0N/A0x0000 #define XK_Pointer_Down 0xFEE3
0N/A0x0000 #define XK_Pointer_UpLeft 0xFEE4
0N/A0x0000 #define XK_Pointer_UpRight 0xFEE5
0N/A0x0000 #define XK_Pointer_DownLeft 0xFEE6
0N/A0x0000 #define XK_Pointer_DownRight 0xFEE7
0N/A0x0000 #define XK_Pointer_Button_Dflt 0xFEE8
0N/A0x0000 #define XK_Pointer_Button1 0xFEE9
0N/A0x0000 #define XK_Pointer_Button2 0xFEEA
0N/A0x0000 #define XK_Pointer_Button3 0xFEEB
0N/A0x0000 #define XK_Pointer_Button4 0xFEEC
0N/A0x0000 #define XK_Pointer_Button5 0xFEED
0N/A0x0000 #define XK_Pointer_DblClick_Dflt 0xFEEE
0N/A0x0000 #define XK_Pointer_DblClick1 0xFEEF
0N/A0x0000 #define XK_Pointer_DblClick2 0xFEF0
0N/A0x0000 #define XK_Pointer_DblClick3 0xFEF1
0N/A0x0000 #define XK_Pointer_DblClick4 0xFEF2
0N/A0x0000 #define XK_Pointer_DblClick5 0xFEF3
0N/A0x0000 #define XK_Pointer_Drag_Dflt 0xFEF4
0N/A0x0000 #define XK_Pointer_Drag1 0xFEF5
0N/A0x0000 #define XK_Pointer_Drag2 0xFEF6
0N/A0x0000 #define XK_Pointer_Drag3 0xFEF7
0N/A0x0000 #define XK_Pointer_Drag4 0xFEF8
0N/A0x0000 #define XK_Pointer_Drag5 0xFEFD
0N/A
0N/A0x0000 #define XK_Pointer_EnableKeys 0xFEF9
0N/A0x0000 #define XK_Pointer_Accelerate 0xFEFA
0N/A0x0000 #define XK_Pointer_DfltBtnNext 0xFEFB
0N/A0x0000 #define XK_Pointer_DfltBtnPrev 0xFEFC
0N/A
0N/A#endif
0N/A
0N/A/*
0N/A * 3270 Terminal Keys
0N/A * Byte 3 = 0xFD
0N/A */
0N/A
0N/A#ifdef XK_3270
0N/A0x0000 #define XK_3270_Duplicate 0xFD01
0N/A0x0000 #define XK_3270_FieldMark 0xFD02
0N/A0x0000 #define XK_3270_Right2 0xFD03
0N/A0x0000 #define XK_3270_Left2 0xFD04
0N/A0x0000 #define XK_3270_BackTab 0xFD05
0N/A0x0000 #define XK_3270_EraseEOF 0xFD06
0N/A0x0000 #define XK_3270_EraseInput 0xFD07
0N/A0x0000 #define XK_3270_Reset 0xFD08
0N/A0x0000 #define XK_3270_Quit 0xFD09
0N/A0x0000 #define XK_3270_PA1 0xFD0A
0N/A0x0000 #define XK_3270_PA2 0xFD0B
0N/A0x0000 #define XK_3270_PA3 0xFD0C
0N/A0x0000 #define XK_3270_Test 0xFD0D
0N/A0x0000 #define XK_3270_Attn 0xFD0E
0N/A0x0000 #define XK_3270_CursorBlink 0xFD0F
0N/A0x0000 #define XK_3270_AltCursor 0xFD10
0N/A0x0000 #define XK_3270_KeyClick 0xFD11
0N/A0x0000 #define XK_3270_Jump 0xFD12
0N/A0x0000 #define XK_3270_Ident 0xFD13
0N/A0x0000 #define XK_3270_Rule 0xFD14
0N/A0x0000 #define XK_3270_Copy 0xFD15
0N/A0x0000 #define XK_3270_Play 0xFD16
0N/A0x0000 #define XK_3270_Setup 0xFD17
0N/A0x0000 #define XK_3270_Record 0xFD18
0N/A0x0000 #define XK_3270_ChangeScreen 0xFD19
0N/A0x0000 #define XK_3270_DeleteWord 0xFD1A
0N/A0x0000 #define XK_3270_ExSelect 0xFD1B
0N/A0x0000 #define XK_3270_CursorSelect 0xFD1C
0N/A0x0000 #define XK_3270_PrintScreen 0xFD1D
0N/A0x0000 #define XK_3270_Enter 0xFD1E
0N/A#endif
0N/A
0N/A/*
0N/A * Latin 1
0N/A * Byte 3 = 0
0N/A */
0N/A// yan: skip Latin1 as it is mapped to Unicode 1:1
0N/A#ifdef XK_LATIN1
0N/A0x0000 #define XK_space 0x020
0N/A0x0000 #define XK_exclam 0x021
0N/A0x0000 #define XK_quotedbl 0x022
0N/A0x0000 #define XK_numbersign 0x023
0N/A0x0000 #define XK_dollar 0x024
0N/A0x0000 #define XK_percent 0x025
0N/A0x0000 #define XK_ampersand 0x026
0N/A0x0000 #define XK_apostrophe 0x027
0N/A0x0000 #define XK_quoteright 0x027 /* deprecated */
0N/A0x0000 #define XK_parenleft 0x028
0N/A0x0000 #define XK_parenright 0x029
0N/A0x0000 #define XK_asterisk 0x02a
0N/A0x0000 #define XK_plus 0x02b
0N/A0x0000 #define XK_comma 0x02c
0N/A0x0000 #define XK_minus 0x02d
0N/A0x0000 #define XK_period 0x02e
0N/A0x0000 #define XK_slash 0x02f
0N/A0x0000 #define XK_0 0x030
0N/A0x0000 #define XK_1 0x031
0N/A0x0000 #define XK_2 0x032
0N/A0x0000 #define XK_3 0x033
0N/A0x0000 #define XK_4 0x034
0N/A0x0000 #define XK_5 0x035
0N/A0x0000 #define XK_6 0x036
0N/A0x0000 #define XK_7 0x037
0N/A0x0000 #define XK_8 0x038
0N/A0x0000 #define XK_9 0x039
0N/A0x0000 #define XK_colon 0x03a
0N/A0x0000 #define XK_semicolon 0x03b
0N/A0x0000 #define XK_less 0x03c
0N/A0x0000 #define XK_equal 0x03d
0N/A0x0000 #define XK_greater 0x03e
0N/A0x0000 #define XK_question 0x03f
0N/A0x0000 #define XK_at 0x040
0N/A0x0000 #define XK_A 0x041
0N/A0x0000 #define XK_B 0x042
0N/A0x0000 #define XK_C 0x043
0N/A0x0000 #define XK_D 0x044
0N/A0x0000 #define XK_E 0x045
0N/A0x0000 #define XK_F 0x046
0N/A0x0000 #define XK_G 0x047
0N/A0x0000 #define XK_H 0x048
0N/A0x0000 #define XK_I 0x049
0N/A0x0000 #define XK_J 0x04a
0N/A0x0000 #define XK_K 0x04b
0N/A0x0000 #define XK_L 0x04c
0N/A0x0000 #define XK_M 0x04d
0N/A0x0000 #define XK_N 0x04e
0N/A0x0000 #define XK_O 0x04f
0N/A0x0000 #define XK_P 0x050
0N/A0x0000 #define XK_Q 0x051
0N/A0x0000 #define XK_R 0x052
0N/A0x0000 #define XK_S 0x053
0N/A0x0000 #define XK_T 0x054
0N/A0x0000 #define XK_U 0x055
0N/A0x0000 #define XK_V 0x056
0N/A0x0000 #define XK_W 0x057
0N/A0x0000 #define XK_X 0x058
0N/A0x0000 #define XK_Y 0x059
0N/A0x0000 #define XK_Z 0x05a
0N/A0x0000 #define XK_bracketleft 0x05b
0N/A0x0000 #define XK_backslash 0x05c
0N/A0x0000 #define XK_bracketright 0x05d
0N/A0x0000 #define XK_asciicircum 0x05e
0N/A0x0000 #define XK_underscore 0x05f
0N/A0x0000 #define XK_grave 0x060
0N/A0x0000 #define XK_quoteleft 0x060 /* deprecated */
0N/A0x0000 #define XK_a 0x061
0N/A0x0000 #define XK_b 0x062
0N/A0x0000 #define XK_c 0x063
0N/A0x0000 #define XK_d 0x064
0N/A0x0000 #define XK_e 0x065
0N/A0x0000 #define XK_f 0x066
0N/A0x0000 #define XK_g 0x067
0N/A0x0000 #define XK_h 0x068
0N/A0x0000 #define XK_i 0x069
0N/A0x0000 #define XK_j 0x06a
0N/A0x0000 #define XK_k 0x06b
0N/A0x0000 #define XK_l 0x06c
0N/A0x0000 #define XK_m 0x06d
0N/A0x0000 #define XK_n 0x06e
0N/A0x0000 #define XK_o 0x06f
0N/A0x0000 #define XK_p 0x070
0N/A0x0000 #define XK_q 0x071
0N/A0x0000 #define XK_r 0x072
0N/A0x0000 #define XK_s 0x073
0N/A0x0000 #define XK_t 0x074
0N/A0x0000 #define XK_u 0x075
0N/A0x0000 #define XK_v 0x076
0N/A0x0000 #define XK_w 0x077
0N/A0x0000 #define XK_x 0x078
0N/A0x0000 #define XK_y 0x079
0N/A0x0000 #define XK_z 0x07a
0N/A0x0000 #define XK_braceleft 0x07b
0N/A0x0000 #define XK_bar 0x07c
0N/A0x0000 #define XK_braceright 0x07d
0N/A0x0000 #define XK_asciitilde 0x07e
0N/A
0N/A0x0000 #define XK_nobreakspace 0x0a0
0N/A0x0000 #define XK_exclamdown 0x0a1
0N/A0x0000 #define XK_cent 0x0a2
0N/A0x0000 #define XK_sterling 0x0a3
0N/A0x0000 #define XK_currency 0x0a4
0N/A0x0000 #define XK_yen 0x0a5
0N/A0x0000 #define XK_brokenbar 0x0a6
0N/A0x0000 #define XK_section 0x0a7
0N/A0x0000 #define XK_diaeresis 0x0a8
0N/A0x0000 #define XK_copyright 0x0a9
0N/A0x0000 #define XK_ordfeminine 0x0aa
0N/A0x0000 #define XK_guillemotleft 0x0ab /* left angle quotation mark */
0N/A0x0000 #define XK_notsign 0x0ac
0N/A0x0000 #define XK_hyphen 0x0ad
0N/A0x0000 #define XK_registered 0x0ae
0N/A0x0000 #define XK_macron 0x0af
0N/A0x0000 #define XK_degree 0x0b0
0N/A0x0000 #define XK_plusminus 0x0b1
0N/A0x0000 #define XK_twosuperior 0x0b2
0N/A0x0000 #define XK_threesuperior 0x0b3
0N/A0x0000 #define XK_acute 0x0b4
0N/A0x0000 #define XK_mu 0x0b5
0N/A0x0000 #define XK_paragraph 0x0b6
0N/A0x0000 #define XK_periodcentered 0x0b7
0N/A0x0000 #define XK_cedilla 0x0b8
0N/A0x0000 #define XK_onesuperior 0x0b9
0N/A0x0000 #define XK_masculine 0x0ba
0N/A0x0000 #define XK_guillemotright 0x0bb /* right angle quotation mark */
0N/A0x0000 #define XK_onequarter 0x0bc
0N/A0x0000 #define XK_onehalf 0x0bd
0N/A0x0000 #define XK_threequarters 0x0be
0N/A0x0000 #define XK_questiondown 0x0bf
0N/A0x0000 #define XK_Agrave 0x0c0
0N/A0x0000 #define XK_Aacute 0x0c1
0N/A0x0000 #define XK_Acircumflex 0x0c2
0N/A0x0000 #define XK_Atilde 0x0c3
0N/A0x0000 #define XK_Adiaeresis 0x0c4
0N/A0x0000 #define XK_Aring 0x0c5
0N/A0x0000 #define XK_AE 0x0c6
0N/A0x0000 #define XK_Ccedilla 0x0c7
0N/A0x0000 #define XK_Egrave 0x0c8
0N/A0x0000 #define XK_Eacute 0x0c9
0N/A0x0000 #define XK_Ecircumflex 0x0ca
0N/A0x0000 #define XK_Ediaeresis 0x0cb
0N/A0x0000 #define XK_Igrave 0x0cc
0N/A0x0000 #define XK_Iacute 0x0cd
0N/A0x0000 #define XK_Icircumflex 0x0ce
0N/A0x0000 #define XK_Idiaeresis 0x0cf
0N/A0x0000 #define XK_ETH 0x0d0
0N/A0x0000 #define XK_Eth 0x0d0 /* deprecated */
0N/A0x0000 #define XK_Ntilde 0x0d1
0N/A0x0000 #define XK_Ograve 0x0d2
0N/A0x0000 #define XK_Oacute 0x0d3
0N/A0x0000 #define XK_Ocircumflex 0x0d4
0N/A0x0000 #define XK_Otilde 0x0d5
0N/A0x0000 #define XK_Odiaeresis 0x0d6
0N/A0x0000 #define XK_multiply 0x0d7
0N/A0x0000 #define XK_Ooblique 0x0d8
0N/A0x0000 #define XK_Ugrave 0x0d9
0N/A0x0000 #define XK_Uacute 0x0da
0N/A0x0000 #define XK_Ucircumflex 0x0db
0N/A0x0000 #define XK_Udiaeresis 0x0dc
0N/A0x0000 #define XK_Yacute 0x0dd
0N/A0x0000 #define XK_THORN 0x0de
0N/A0x0000 #define XK_Thorn 0x0de /* deprecated */
0N/A0x0000 #define XK_ssharp 0x0df
0N/A0x0000 #define XK_agrave 0x0e0
0N/A0x0000 #define XK_aacute 0x0e1
0N/A0x0000 #define XK_acircumflex 0x0e2
0N/A0x0000 #define XK_atilde 0x0e3
0N/A0x0000 #define XK_adiaeresis 0x0e4
0N/A0x0000 #define XK_aring 0x0e5
0N/A0x0000 #define XK_ae 0x0e6
0N/A0x0000 #define XK_ccedilla 0x0e7
0N/A0x0000 #define XK_egrave 0x0e8
0N/A0x0000 #define XK_eacute 0x0e9
0N/A0x0000 #define XK_ecircumflex 0x0ea
0N/A0x0000 #define XK_ediaeresis 0x0eb
0N/A0x0000 #define XK_igrave 0x0ec
0N/A0x0000 #define XK_iacute 0x0ed
0N/A0x0000 #define XK_icircumflex 0x0ee
0N/A0x0000 #define XK_idiaeresis 0x0ef
0N/A0x0000 #define XK_eth 0x0f0
0N/A0x0000 #define XK_ntilde 0x0f1
0N/A0x0000 #define XK_ograve 0x0f2
0N/A0x0000 #define XK_oacute 0x0f3
0N/A0x0000 #define XK_ocircumflex 0x0f4
0N/A0x0000 #define XK_otilde 0x0f5
0N/A0x0000 #define XK_odiaeresis 0x0f6
0N/A0x0000 #define XK_division 0x0f7
0N/A0x0000 #define XK_oslash 0x0f8
0N/A0x0000 #define XK_ugrave 0x0f9
0N/A0x0000 #define XK_uacute 0x0fa
0N/A0x0000 #define XK_ucircumflex 0x0fb
0N/A0x0000 #define XK_udiaeresis 0x0fc
0N/A0x0000 #define XK_yacute 0x0fd
0N/A0x0000 #define XK_thorn 0x0fe
0N/A0x0000 #define XK_ydiaeresis 0x0ff
0N/A#endif /* XK_LATIN1 */
0N/A
0N/A/*
0N/A * Latin 2
0N/A * Byte 3 = 1
0N/A */
0N/A
0N/A#ifdef XK_LATIN2
0N/A0x0104 #define XK_Aogonek 0x1a1
0N/A0x02d8 #define XK_breve 0x1a2
0N/A0x0141 #define XK_Lstroke 0x1a3
0N/A0x013d #define XK_Lcaron 0x1a5
0N/A0x015a #define XK_Sacute 0x1a6
0N/A0x0160 #define XK_Scaron 0x1a9
0N/A0x015e #define XK_Scedilla 0x1aa
0N/A0x0164 #define XK_Tcaron 0x1ab
0N/A0x0179 #define XK_Zacute 0x1ac
0N/A0x017d #define XK_Zcaron 0x1ae
0N/A0x017b #define XK_Zabovedot 0x1af
0N/A0x0105 #define XK_aogonek 0x1b1
0N/A0x02db #define XK_ogonek 0x1b2
0N/A0x0142 #define XK_lstroke 0x1b3
0N/A0x013e #define XK_lcaron 0x1b5
0N/A0x015b #define XK_sacute 0x1b6
0N/A0x02c7 #define XK_caron 0x1b7
0N/A0x0161 #define XK_scaron 0x1b9
0N/A0x015f #define XK_scedilla 0x1ba
0N/A0x0165 #define XK_tcaron 0x1bb
0N/A0x017a #define XK_zacute 0x1bc
0N/A0x02dd #define XK_doubleacute 0x1bd
0N/A0x017e #define XK_zcaron 0x1be
0N/A0x017c #define XK_zabovedot 0x1bf
0N/A0x0154 #define XK_Racute 0x1c0
0N/A0x0102 #define XK_Abreve 0x1c3
0N/A0x0139 #define XK_Lacute 0x1c5
0N/A0x0106 #define XK_Cacute 0x1c6
0N/A0x010c #define XK_Ccaron 0x1c8
0N/A0x0118 #define XK_Eogonek 0x1ca
0N/A0x011a #define XK_Ecaron 0x1cc
0N/A0x010e #define XK_Dcaron 0x1cf
0N/A0x0110 #define XK_Dstroke 0x1d0
0N/A0x0143 #define XK_Nacute 0x1d1
0N/A0x0147 #define XK_Ncaron 0x1d2
0N/A0x0150 #define XK_Odoubleacute 0x1d5
0N/A0x0158 #define XK_Rcaron 0x1d8
0N/A0x016e #define XK_Uring 0x1d9
0N/A0x0170 #define XK_Udoubleacute 0x1db
0N/A0x0162 #define XK_Tcedilla 0x1de
0N/A0x0155 #define XK_racute 0x1e0
0N/A0x0103 #define XK_abreve 0x1e3
0N/A0x013a #define XK_lacute 0x1e5
0N/A0x0107 #define XK_cacute 0x1e6
0N/A0x010d #define XK_ccaron 0x1e8
0N/A0x0119 #define XK_eogonek 0x1ea
0N/A0x011b #define XK_ecaron 0x1ec
0N/A0x010f #define XK_dcaron 0x1ef
0N/A0x0111 #define XK_dstroke 0x1f0
0N/A0x0144 #define XK_nacute 0x1f1
0N/A0x0148 #define XK_ncaron 0x1f2
0N/A0x0151 #define XK_odoubleacute 0x1f5
0N/A0x0171 #define XK_udoubleacute 0x1fb
0N/A0x0159 #define XK_rcaron 0x1f8
0N/A0x016f #define XK_uring 0x1f9
0N/A0x0163 #define XK_tcedilla 0x1fe
0N/A0x02d9 #define XK_abovedot 0x1ff
0N/A#endif /* XK_LATIN2 */
0N/A
0N/A/*
0N/A * Latin 3
0N/A * Byte 3 = 2
0N/A */
0N/A
0N/A#ifdef XK_LATIN3
0N/A0x0126 #define XK_Hstroke 0x2a1
0N/A0x0124 #define XK_Hcircumflex 0x2a6
0N/A0x0130 #define XK_Iabovedot 0x2a9
0N/A0x011e #define XK_Gbreve 0x2ab
0N/A0x0134 #define XK_Jcircumflex 0x2ac
0N/A0x0127 #define XK_hstroke 0x2b1
0N/A0x0125 #define XK_hcircumflex 0x2b6
0N/A0x0131 #define XK_idotless 0x2b9
0N/A0x011f #define XK_gbreve 0x2bb
0N/A0x0135 #define XK_jcircumflex 0x2bc
0N/A0x010a #define XK_Cabovedot 0x2c5
0N/A0x0108 #define XK_Ccircumflex 0x2c6
0N/A0x0120 #define XK_Gabovedot 0x2d5
0N/A0x011c #define XK_Gcircumflex 0x2d8
0N/A0x016c #define XK_Ubreve 0x2dd
0N/A0x015c #define XK_Scircumflex 0x2de
0N/A0x010b #define XK_cabovedot 0x2e5
0N/A0x0109 #define XK_ccircumflex 0x2e6
0N/A0x0121 #define XK_gabovedot 0x2f5
0N/A0x011d #define XK_gcircumflex 0x2f8
0N/A0x016d #define XK_ubreve 0x2fd
0N/A0x015d #define XK_scircumflex 0x2fe
0N/A#endif /* XK_LATIN3 */
0N/A
0N/A
0N/A/*
0N/A * Latin 4
0N/A * Byte 3 = 3
0N/A */
0N/A
0N/A#ifdef XK_LATIN4
0N/A0x0138 #define XK_kra 0x3a2
0N/A0x0000 #define XK_kappa 0x3a2 /* deprecated */
0N/A0x0156 #define XK_Rcedilla 0x3a3
0N/A0x0128 #define XK_Itilde 0x3a5
0N/A0x013b #define XK_Lcedilla 0x3a6
0N/A0x0112 #define XK_Emacron 0x3aa
0N/A0x0122 #define XK_Gcedilla 0x3ab
0N/A0x0166 #define XK_Tslash 0x3ac
0N/A0x0157 #define XK_rcedilla 0x3b3
0N/A0x0129 #define XK_itilde 0x3b5
0N/A0x013c #define XK_lcedilla 0x3b6
0N/A0x0113 #define XK_emacron 0x3ba
0N/A0x0123 #define XK_gcedilla 0x3bb
0N/A0x0167 #define XK_tslash 0x3bc
0N/A0x014a #define XK_ENG 0x3bd
0N/A0x014b #define XK_eng 0x3bf
0N/A0x0100 #define XK_Amacron 0x3c0
0N/A0x012e #define XK_Iogonek 0x3c7
0N/A0x0116 #define XK_Eabovedot 0x3cc
0N/A0x012a #define XK_Imacron 0x3cf
0N/A0x0145 #define XK_Ncedilla 0x3d1
0N/A0x014c #define XK_Omacron 0x3d2
0N/A0x0136 #define XK_Kcedilla 0x3d3
0N/A0x0172 #define XK_Uogonek 0x3d9
0N/A0x0168 #define XK_Utilde 0x3dd
0N/A0x016a #define XK_Umacron 0x3de
0N/A0x0101 #define XK_amacron 0x3e0
0N/A0x012f #define XK_iogonek 0x3e7
0N/A0x0117 #define XK_eabovedot 0x3ec
0N/A0x012b #define XK_imacron 0x3ef
0N/A0x0146 #define XK_ncedilla 0x3f1
0N/A0x014d #define XK_omacron 0x3f2
0N/A0x0137 #define XK_kcedilla 0x3f3
0N/A0x0173 #define XK_uogonek 0x3f9
0N/A0x0169 #define XK_utilde 0x3fd
0N/A0x016b #define XK_umacron 0x3fe
0N/A#endif /* XK_LATIN4 */
0N/A
0N/A/*
0N/A * Latin-8
0N/A * Byte 3 = 18
0N/A */
0N/A#ifdef XK_LATIN8
0N/A0x1e02 #define XK_Babovedot 0x12a1
0N/A0x1e03 #define XK_babovedot 0x12a2
0N/A0x1e0a #define XK_Dabovedot 0x12a6
0N/A0x1e80 #define XK_Wgrave 0x12a8
0N/A0x1e82 #define XK_Wacute 0x12aa
0N/A0x1e0b #define XK_dabovedot 0x12ab
0N/A0x1ef2 #define XK_Ygrave 0x12ac
0N/A0x1e1e #define XK_Fabovedot 0x12b0
0N/A0x1e1f #define XK_fabovedot 0x12b1
0N/A0x1e40 #define XK_Mabovedot 0x12b4
0N/A0x1e41 #define XK_mabovedot 0x12b5
0N/A0x1e56 #define XK_Pabovedot 0x12b7
0N/A0x1e81 #define XK_wgrave 0x12b8
0N/A0x1e57 #define XK_pabovedot 0x12b9
0N/A0x1e83 #define XK_wacute 0x12ba
0N/A0x1e60 #define XK_Sabovedot 0x12bb
0N/A0x1ef3 #define XK_ygrave 0x12bc
0N/A0x1e84 #define XK_Wdiaeresis 0x12bd
0N/A0x1e85 #define XK_wdiaeresis 0x12be
0N/A0x1e61 #define XK_sabovedot 0x12bf
0N/A0x017 4#define XK_Wcircumflex 0x12d0
0N/A0x1e6a #define XK_Tabovedot 0x12d7
0N/A0x0176 #define XK_Ycircumflex 0x12de
0N/A0x0175 #define XK_wcircumflex 0x12f0
0N/A0x1e6b #define XK_tabovedot 0x12f7
0N/A0x0177 #define XK_ycircumflex 0x12fe
0N/A#endif /* XK_LATIN8 */
0N/A
0N/A/*
0N/A * Latin-9 (a.k.a. Latin-0)
0N/A * Byte 3 = 19
0N/A */
0N/A
0N/A#ifdef XK_LATIN9
0N/A0x0152 #define XK_OE 0x13bc
0N/A0x0153 #define XK_oe 0x13bd
0N/A0x0178 #define XK_Ydiaeresis 0x13be
0N/A#endif /* XK_LATIN9 */
0N/A
0N/A/*
0N/A * Katakana
0N/A * Byte 3 = 4
0N/A */
0N/A
0N/A#ifdef XK_KATAKANA
0N/A0x203e #define XK_overline 0x47e
0N/A0x3002 #define XK_kana_fullstop 0x4a1
0N/A0x300c #define XK_kana_openingbracket 0x4a2
0N/A0x300d #define XK_kana_closingbracket 0x4a3
0N/A0x3001 #define XK_kana_comma 0x4a4
0N/A0x30fb #define XK_kana_conjunctive 0x4a5
0N/A0x0000 #define XK_kana_middledot 0x4a5 /* deprecated */
0N/A0x30f2 #define XK_kana_WO 0x4a6
0N/A0x30a1 #define XK_kana_a 0x4a7
0N/A0x30a3 #define XK_kana_i 0x4a8
0N/A0x30a5 #define XK_kana_u 0x4a9
0N/A0x30a7 #define XK_kana_e 0x4aa
0N/A0x30a9 #define XK_kana_o 0x4ab
0N/A0x30e3 #define XK_kana_ya 0x4ac
0N/A0x30e5 #define XK_kana_yu 0x4ad
0N/A0x30e7 #define XK_kana_yo 0x4ae
0N/A0x30c3 #define XK_kana_tsu 0x4af
0N/A0x0000 #define XK_kana_tu 0x4af /* deprecated */
0N/A0x30fc #define XK_prolongedsound 0x4b0
0N/A0x30a2 #define XK_kana_A 0x4b1
0N/A0x30a4 #define XK_kana_I 0x4b2
0N/A0x30a6 #define XK_kana_U 0x4b3
0N/A0x30a8 #define XK_kana_E 0x4b4
0N/A0x30aa #define XK_kana_O 0x4b5
0N/A0x30ab #define XK_kana_KA 0x4b6
0N/A0x30ad #define XK_kana_KI 0x4b7
0N/A0x30af #define XK_kana_KU 0x4b8
0N/A0x30b1 #define XK_kana_KE 0x4b9
0N/A0x30b3 #define XK_kana_KO 0x4ba
0N/A0x30b5 #define XK_kana_SA 0x4bb
0N/A0x30b7 #define XK_kana_SHI 0x4bc
0N/A0x30b9 #define XK_kana_SU 0x4bd
0N/A0x30bb #define XK_kana_SE 0x4be
0N/A0x30bd #define XK_kana_SO 0x4bf
0N/A0x30bf #define XK_kana_TA 0x4c0
0N/A0x30c1 #define XK_kana_CHI 0x4c1
0N/A0x0000 #define XK_kana_TI 0x4c1 /* deprecated */
0N/A0x30c4 #define XK_kana_TSU 0x4c2
0N/A0x0000 #define XK_kana_TU 0x4c2 /* deprecated */
0N/A0x30c6 #define XK_kana_TE 0x4c3
0N/A0x30c8 #define XK_kana_TO 0x4c4
0N/A0x30ca #define XK_kana_NA 0x4c5
0N/A0x30cb #define XK_kana_NI 0x4c6
0N/A0x30cc #define XK_kana_NU 0x4c7
0N/A0x30cd #define XK_kana_NE 0x4c8
0N/A0x30ce #define XK_kana_NO 0x4c9
0N/A0x30cf #define XK_kana_HA 0x4ca
0N/A0x30d2 #define XK_kana_HI 0x4cb
0N/A0x30d5 #define XK_kana_FU 0x4cc
0N/A0x0000 #define XK_kana_HU 0x4cc /* deprecated */
0N/A0x30d8 #define XK_kana_HE 0x4cd
0N/A0x30db #define XK_kana_HO 0x4ce
0N/A0x30de #define XK_kana_MA 0x4cf
0N/A0x30df #define XK_kana_MI 0x4d0
0N/A0x30e0 #define XK_kana_MU 0x4d1
0N/A0x30e1 #define XK_kana_ME 0x4d2
0N/A0x30e2 #define XK_kana_MO 0x4d3
0N/A0x30e4 #define XK_kana_YA 0x4d4
0N/A0x30e6 #define XK_kana_YU 0x4d5
0N/A0x30e8 #define XK_kana_YO 0x4d6
0N/A0x30e9 #define XK_kana_RA 0x4d7
0N/A0x30ea #define XK_kana_RI 0x4d8
0N/A0x30eb #define XK_kana_RU 0x4d9
0N/A0x30ec #define XK_kana_RE 0x4da
0N/A0x30ed #define XK_kana_RO 0x4db
0N/A0x30ef #define XK_kana_WA 0x4dc
0N/A0x30f3 #define XK_kana_N 0x4dd
0N/A0x309b #define XK_voicedsound 0x4de
0N/A0x309c #define XK_semivoicedsound 0x4df
0N/A0x0000 #define XK_kana_switch 0xFF7E /* Alias for mode_switch */
0N/A#endif /* XK_KATAKANA */
0N/A
0N/A/*
0N/A * Arabic
0N/A * Byte 3 = 5
0N/A */
0N/A
0N/A#ifdef XK_ARABIC
0N/A0x0670 #define XK_Farsi_0 0x590
0N/A0x06f1 #define XK_Farsi_1 0x591
0N/A0x06f2 #define XK_Farsi_2 0x592
0N/A0x06f3 #define XK_Farsi_3 0x593
0N/A0x06f4 #define XK_Farsi_4 0x594
0N/A0x06f5 #define XK_Farsi_5 0x595
0N/A0x06f6 #define XK_Farsi_6 0x596
0N/A0x06f7 #define XK_Farsi_7 0x597
0N/A0x06f8 #define XK_Farsi_8 0x598
0N/A0x06f9 #define XK_Farsi_9 0x599
0N/A0x066a #define XK_Arabic_percent 0x5a5
0N/A0x0670 #define XK_Arabic_superscript_alef 0x5a6
0N/A0x0679 #define XK_Arabic_tteh 0x5a7
0N/A0x067e #define XK_Arabic_peh 0x5a8
0N/A0x0686 #define XK_Arabic_tcheh 0x5a9
0N/A0x0688 #define XK_Arabic_ddal 0x5aa
0N/A0x0691 #define XK_Arabic_rreh 0x5ab
0N/A0x060c #define XK_Arabic_comma 0x5ac
0N/A0x06d4 #define XK_Arabic_fullstop 0x5ae
0N/A0x0660 #define XK_Arabic_0 0x5b0
0N/A0x0661 #define XK_Arabic_1 0x5b1
0N/A0x0662 #define XK_Arabic_2 0x5b2
0N/A0x0663 #define XK_Arabic_3 0x5b3
0N/A0x0664 #define XK_Arabic_4 0x5b4
0N/A0x0665 #define XK_Arabic_5 0x5b5
0N/A0x0666 #define XK_Arabic_6 0x5b6
0N/A0x0667 #define XK_Arabic_7 0x5b7
0N/A0x0668 #define XK_Arabic_8 0x5b8
0N/A0x0669 #define XK_Arabic_9 0x5b9
0N/A0x061b #define XK_Arabic_semicolon 0x5bb
0N/A0x061f #define XK_Arabic_question_mark 0x5bf
0N/A0x0621 #define XK_Arabic_hamza 0x5c1
0N/A0x0622 #define XK_Arabic_maddaonalef 0x5c2
0N/A0x0623 #define XK_Arabic_hamzaonalef 0x5c3
0N/A0x0624 #define XK_Arabic_hamzaonwaw 0x5c4
0N/A0x0625 #define XK_Arabic_hamzaunderalef 0x5c5
0N/A0x0626 #define XK_Arabic_hamzaonyeh 0x5c6
0N/A0x0627 #define XK_Arabic_alef 0x5c7
0N/A0x0628 #define XK_Arabic_beh 0x5c8
0N/A0x0629 #define XK_Arabic_tehmarbuta 0x5c9
0N/A0x062a #define XK_Arabic_teh 0x5ca
0N/A0x062b #define XK_Arabic_theh 0x5cb
0N/A0x062c #define XK_Arabic_jeem 0x5cc
0N/A0x062d #define XK_Arabic_hah 0x5cd
0N/A0x062e #define XK_Arabic_khah 0x5ce
0N/A0x062f #define XK_Arabic_dal 0x5cf
0N/A0x0630 #define XK_Arabic_thal 0x5d0
0N/A0x0631 #define XK_Arabic_ra 0x5d1
0N/A0x0632 #define XK_Arabic_zain 0x5d2
0N/A0x0633 #define XK_Arabic_seen 0x5d3
0N/A0x0634 #define XK_Arabic_sheen 0x5d4
0N/A0x0635 #define XK_Arabic_sad 0x5d5
0N/A0x0636 #define XK_Arabic_dad 0x5d6
0N/A0x0637 #define XK_Arabic_tah 0x5d7
0N/A0x0638 #define XK_Arabic_zah 0x5d8
0N/A0x0639 #define XK_Arabic_ain 0x5d9
0N/A0x063a #define XK_Arabic_ghain 0x5da
0N/A0x0640 #define XK_Arabic_tatweel 0x5e0
0N/A0x0641 #define XK_Arabic_feh 0x5e1
0N/A0x0642 #define XK_Arabic_qaf 0x5e2
0N/A0x0643 #define XK_Arabic_kaf 0x5e3
0N/A0x0644 #define XK_Arabic_lam 0x5e4
0N/A0x0645 #define XK_Arabic_meem 0x5e5
0N/A0x0646 #define XK_Arabic_noon 0x5e6
0N/A0x0647 #define XK_Arabic_ha 0x5e7
0N/A0x0000 #define XK_Arabic_heh 0x5e7 /* deprecated */
0N/A0x0648 #define XK_Arabic_waw 0x5e8
0N/A0x0649 #define XK_Arabic_alefmaksura 0x5e9
0N/A0x064a #define XK_Arabic_yeh 0x5ea
0N/A0x064b #define XK_Arabic_fathatan 0x5eb
0N/A0x064c #define XK_Arabic_dammatan 0x5ec
0N/A0x064d #define XK_Arabic_kasratan 0x5ed
0N/A0x064e #define XK_Arabic_fatha 0x5ee
0N/A0x064f #define XK_Arabic_damma 0x5ef
0N/A0x0650 #define XK_Arabic_kasra 0x5f0
0N/A0x0651 #define XK_Arabic_shadda 0x5f1
0N/A0x0652 #define XK_Arabic_sukun 0x5f2
0N/A0x0653 #define XK_Arabic_madda_above 0x5f3
0N/A0x0654 #define XK_Arabic_hamza_above 0x5f4
0N/A0x0655 #define XK_Arabic_hamza_below 0x5f5
0N/A0x0698 #define XK_Arabic_jeh 0x5f6
0N/A0x06a4 #define XK_Arabic_veh 0x5f7
0N/A0x06a9 #define XK_Arabic_keheh 0x5f8
0N/A0x06af #define XK_Arabic_gaf 0x5f9
0N/A0x06ba #define XK_Arabic_noon_ghunna 0x5fa
0N/A0x06be #define XK_Arabic_heh_doachashmee 0x5fb
0N/A0x06cc #define XK_Farsi_yeh 0x5fc
0N/A0x06d2 #define XK_Arabic_yeh_baree 0x5fd
0N/A0x06c1 #define XK_Arabic_heh_goal 0x5fe
0N/A0x0000 #define XK_Arabic_switch 0xFF7E /* Alias for mode_switch */
0N/A#endif /* XK_ARABIC */
0N/A
0N/A/*
0N/A * Cyrillic
0N/A * Byte 3 = 6
0N/A */
0N/A#ifdef XK_CYRILLIC
0N/A0x0492 #define XK_Cyrillic_GHE_bar 0x680
0N/A0x0493 #define XK_Cyrillic_ghe_bar 0x690
0N/A0x0496 #define XK_Cyrillic_ZHE_descender 0x681
0N/A0x0497 #define XK_Cyrillic_zhe_descender 0x691
0N/A0x049a #define XK_Cyrillic_KA_descender 0x682
0N/A0x049b #define XK_Cyrillic_ka_descender 0x692
0N/A0x049c #define XK_Cyrillic_KA_vertstroke 0x683
0N/A0x049d #define XK_Cyrillic_ka_vertstroke 0x693
0N/A0x04a2 #define XK_Cyrillic_EN_descender 0x684
0N/A0x04a3 #define XK_Cyrillic_en_descender 0x694
0N/A0x04ae #define XK_Cyrillic_U_straight 0x685
0N/A0x04af #define XK_Cyrillic_u_straight 0x695
0N/A0x04b0 #define XK_Cyrillic_U_straight_bar 0x686
0N/A0x04b1 #define XK_Cyrillic_u_straight_bar 0x696
0N/A0x04b2 #define XK_Cyrillic_HA_descender 0x687
0N/A0x04b3 #define XK_Cyrillic_ha_descender 0x697
0N/A0x04b6 #define XK_Cyrillic_CHE_descender 0x688
0N/A0x04b7 #define XK_Cyrillic_che_descender 0x698
0N/A0x04b8 #define XK_Cyrillic_CHE_vertstroke 0x689
0N/A0x04b9 #define XK_Cyrillic_che_vertstroke 0x699
0N/A0x04ba #define XK_Cyrillic_SHHA 0x68a
0N/A0x04bb #define XK_Cyrillic_shha 0x69a
0N/A
0N/A0x04d8 #define XK_Cyrillic_SCHWA 0x68c
0N/A0x04d9 #define XK_Cyrillic_schwa 0x69c
0N/A0x04e2 #define XK_Cyrillic_I_macron 0x68d
0N/A0x04e3 #define XK_Cyrillic_i_macron 0x69d
0N/A0x04e8 #define XK_Cyrillic_O_bar 0x68e
0N/A0x04e9 #define XK_Cyrillic_o_bar 0x69e
0N/A0x04ee #define XK_Cyrillic_U_macron 0x68f
0N/A0x04ef #define XK_Cyrillic_u_macron 0x69f
0N/A
0N/A0x0452 #define XK_Serbian_dje 0x6a1
0N/A0x0453 #define XK_Macedonia_gje 0x6a2
0N/A0x0451 #define XK_Cyrillic_io 0x6a3
0N/A0x0454 #define XK_Ukrainian_ie 0x6a4
0N/A0x0000 #define XK_Ukranian_je 0x6a4 /* deprecated */
0N/A0x0455 #define XK_Macedonia_dse 0x6a5
0N/A0x0456 #define XK_Ukrainian_i 0x6a6
0N/A0x0000 #define XK_Ukranian_i 0x6a6 /* deprecated */
0N/A0x0457 #define XK_Ukrainian_yi 0x6a7
0N/A0x0000 #define XK_Ukranian_yi 0x6a7 /* deprecated */
0N/A0x0458 #define XK_Cyrillic_je 0x6a8
0N/A0x0000 #define XK_Serbian_je 0x6a8 /* deprecated */
0N/A0x0459 #define XK_Cyrillic_lje 0x6a9
0N/A0x0000 #define XK_Serbian_lje 0x6a9 /* deprecated */
0N/A0x045a #define XK_Cyrillic_nje 0x6aa
0N/A0x0000 #define XK_Serbian_nje 0x6aa /* deprecated */
0N/A0x045b #define XK_Serbian_tshe 0x6ab
0N/A0x045c #define XK_Macedonia_kje 0x6ac
0N/A0x0491 #define XK_Ukrainian_ghe_with_upturn 0x6ad
0N/A0x045e #define XK_Byelorussian_shortu 0x6ae
0N/A0x045f #define XK_Cyrillic_dzhe 0x6af
0N/A0x0000 #define XK_Serbian_dze 0x6af /* deprecated */
0N/A0x2116 #define XK_numerosign 0x6b0
0N/A0x0402 #define XK_Serbian_DJE 0x6b1
0N/A0x0403 #define XK_Macedonia_GJE 0x6b2
0N/A0x0401 #define XK_Cyrillic_IO 0x6b3
0N/A0x0404 #define XK_Ukrainian_IE 0x6b4
0N/A0x0000 #define XK_Ukranian_JE 0x6b4 /* deprecated */
0N/A0x0405 #define XK_Macedonia_DSE 0x6b5
0N/A0x0406 #define XK_Ukrainian_I 0x6b6
0N/A0x0000 #define XK_Ukranian_I 0x6b6 /* deprecated */
0N/A0x0407 #define XK_Ukrainian_YI 0x6b7
0N/A0x0000 #define XK_Ukranian_YI 0x6b7 /* deprecated */
0N/A0x0408 #define XK_Cyrillic_JE 0x6b8
0N/A0x0000 #define XK_Serbian_JE 0x6b8 /* deprecated */
0N/A0x0409 #define XK_Cyrillic_LJE 0x6b9
0N/A0x0000 #define XK_Serbian_LJE 0x6b9 /* deprecated */
0N/A0x040a #define XK_Cyrillic_NJE 0x6ba
0N/A0x0000 #define XK_Serbian_NJE 0x6ba /* deprecated */
0N/A0x040b #define XK_Serbian_TSHE 0x6bb
0N/A0x040c #define XK_Macedonia_KJE 0x6bc
0N/A0x0490 #define XK_Ukrainian_GHE_WITH_UPTURN 0x6bd
0N/A0x040e #define XK_Byelorussian_SHORTU 0x6be
0N/A0x040f #define XK_Cyrillic_DZHE 0x6bf
0N/A0x0000 #define XK_Serbian_DZE 0x6bf /* deprecated */
0N/A0x044e #define XK_Cyrillic_yu 0x6c0
0N/A0x0430 #define XK_Cyrillic_a 0x6c1
0N/A0x0431 #define XK_Cyrillic_be 0x6c2
0N/A0x0446 #define XK_Cyrillic_tse 0x6c3
0N/A0x0434 #define XK_Cyrillic_de 0x6c4
0N/A0x0435 #define XK_Cyrillic_ie 0x6c5
0N/A0x0444 #define XK_Cyrillic_ef 0x6c6
0N/A0x0433 #define XK_Cyrillic_ghe 0x6c7
0N/A0x0445 #define XK_Cyrillic_ha 0x6c8
0N/A0x0438 #define XK_Cyrillic_i 0x6c9
0N/A0x0439 #define XK_Cyrillic_shorti 0x6ca
0N/A0x043a #define XK_Cyrillic_ka 0x6cb
0N/A0x043b #define XK_Cyrillic_el 0x6cc
0N/A0x043c #define XK_Cyrillic_em 0x6cd
0N/A0x043d #define XK_Cyrillic_en 0x6ce
0N/A0x043e #define XK_Cyrillic_o 0x6cf
0N/A0x043f #define XK_Cyrillic_pe 0x6d0
0N/A0x044f #define XK_Cyrillic_ya 0x6d1
0N/A0x0440 #define XK_Cyrillic_er 0x6d2
0N/A0x0441 #define XK_Cyrillic_es 0x6d3
0N/A0x0442 #define XK_Cyrillic_te 0x6d4
0N/A0x0443 #define XK_Cyrillic_u 0x6d5
0N/A0x0436 #define XK_Cyrillic_zhe 0x6d6
0N/A0x0432 #define XK_Cyrillic_ve 0x6d7
0N/A0x044c #define XK_Cyrillic_softsign 0x6d8
0N/A0x044b #define XK_Cyrillic_yeru 0x6d9
0N/A0x0437 #define XK_Cyrillic_ze 0x6da
0N/A0x0448 #define XK_Cyrillic_sha 0x6db
0N/A0x044d #define XK_Cyrillic_e 0x6dc
0N/A0x0449 #define XK_Cyrillic_shcha 0x6dd
0N/A0x0447 #define XK_Cyrillic_che 0x6de
0N/A0x044a #define XK_Cyrillic_hardsign 0x6df
0N/A0x042e #define XK_Cyrillic_YU 0x6e0
0N/A0x0410 #define XK_Cyrillic_A 0x6e1
0N/A0x0411 #define XK_Cyrillic_BE 0x6e2
0N/A0x0426 #define XK_Cyrillic_TSE 0x6e3
0N/A0x0414 #define XK_Cyrillic_DE 0x6e4
0N/A0x0415 #define XK_Cyrillic_IE 0x6e5
0N/A0x0424 #define XK_Cyrillic_EF 0x6e6
0N/A0x0413 #define XK_Cyrillic_GHE 0x6e7
0N/A0x0425 #define XK_Cyrillic_HA 0x6e8
0N/A0x0418 #define XK_Cyrillic_I 0x6e9
0N/A0x0419 #define XK_Cyrillic_SHORTI 0x6ea
0N/A0x041a #define XK_Cyrillic_KA 0x6eb
0N/A0x041b #define XK_Cyrillic_EL 0x6ec
0N/A0x041c #define XK_Cyrillic_EM 0x6ed
0N/A0x041d #define XK_Cyrillic_EN 0x6ee
0N/A0x041e #define XK_Cyrillic_O 0x6ef
0N/A0x041f #define XK_Cyrillic_PE 0x6f0
0N/A0x042f #define XK_Cyrillic_YA 0x6f1
0N/A0x0420 #define XK_Cyrillic_ER 0x6f2
0N/A0x0421 #define XK_Cyrillic_ES 0x6f3
0N/A0x0422 #define XK_Cyrillic_TE 0x6f4
0N/A0x0423 #define XK_Cyrillic_U 0x6f5
0N/A0x0416 #define XK_Cyrillic_ZHE 0x6f6
0N/A0x0412 #define XK_Cyrillic_VE 0x6f7
0N/A0x042c #define XK_Cyrillic_SOFTSIGN 0x6f8
0N/A0x042b #define XK_Cyrillic_YERU 0x6f9
0N/A0x0417 #define XK_Cyrillic_ZE 0x6fa
0N/A0x0428 #define XK_Cyrillic_SHA 0x6fb
0N/A0x042d #define XK_Cyrillic_E 0x6fc
0N/A0x0429 #define XK_Cyrillic_SHCHA 0x6fd
0N/A0x0427 #define XK_Cyrillic_CHE 0x6fe
0N/A0x042a #define XK_Cyrillic_HARDSIGN 0x6ff
0N/A#endif /* XK_CYRILLIC */
0N/A
0N/A/*
0N/A * Greek
0N/A * Byte 3 = 7
0N/A */
0N/A
0N/A#ifdef XK_GREEK
0N/A0x0386 #define XK_Greek_ALPHAaccent 0x7a1
0N/A0x0388 #define XK_Greek_EPSILONaccent 0x7a2
0N/A0x0389 #define XK_Greek_ETAaccent 0x7a3
0N/A0x038a #define XK_Greek_IOTAaccent 0x7a4
0N/A0x03aa #define XK_Greek_IOTAdieresis 0x7a5
0N/A0x0000 #define XK_Greek_IOTAdiaeresis XK_Greek_IOTAdieresis /* old typo */
0N/A0x038c #define XK_Greek_OMICRONaccent 0x7a7
0N/A0x038e #define XK_Greek_UPSILONaccent 0x7a8
0N/A0x03ab #define XK_Greek_UPSILONdieresis 0x7a9
0N/A0x038f #define XK_Greek_OMEGAaccent 0x7ab
0N/A0x0385 #define XK_Greek_accentdieresis 0x7ae
0N/A0x2015 #define XK_Greek_horizbar 0x7af
0N/A0x03ac #define XK_Greek_alphaaccent 0x7b1
0N/A0x03ad #define XK_Greek_epsilonaccent 0x7b2
0N/A0x03ae #define XK_Greek_etaaccent 0x7b3
0N/A0x03af #define XK_Greek_iotaaccent 0x7b4
0N/A0x03ca #define XK_Greek_iotadieresis 0x7b5
0N/A0x0390 #define XK_Greek_iotaaccentdieresis 0x7b6
0N/A0x03cc #define XK_Greek_omicronaccent 0x7b7
0N/A0x03cd #define XK_Greek_upsilonaccent 0x7b8
0N/A0x03cb #define XK_Greek_upsilondieresis 0x7b9
0N/A0x03b0 #define XK_Greek_upsilonaccentdieresis 0x7ba
0N/A0x03ce #define XK_Greek_omegaaccent 0x7bb
0N/A0x0391 #define XK_Greek_ALPHA 0x7c1
0N/A0x0392 #define XK_Greek_BETA 0x7c2
0N/A0x0393 #define XK_Greek_GAMMA 0x7c3
0N/A0x0394 #define XK_Greek_DELTA 0x7c4
0N/A0x0395 #define XK_Greek_EPSILON 0x7c5
0N/A0x0396 #define XK_Greek_ZETA 0x7c6
0N/A0x0397 #define XK_Greek_ETA 0x7c7
0N/A0x0398 #define XK_Greek_THETA 0x7c8
0N/A0x0399 #define XK_Greek_IOTA 0x7c9
0N/A0x039a #define XK_Greek_KAPPA 0x7ca
0N/A0x0000 #define XK_Greek_LAMDA 0x7cb
0N/A0x039b #define XK_Greek_LAMBDA 0x7cb
0N/A0x039c #define XK_Greek_MU 0x7cc
0N/A0x039d #define XK_Greek_NU 0x7cd
0N/A0x039e #define XK_Greek_XI 0x7ce
0N/A0x039f #define XK_Greek_OMICRON 0x7cf
0N/A0x03a0 #define XK_Greek_PI 0x7d0
0N/A0x03a1 #define XK_Greek_RHO 0x7d1
0N/A0x03a3 #define XK_Greek_SIGMA 0x7d2
0N/A0x03a4 #define XK_Greek_TAU 0x7d4
0N/A0x03a5 #define XK_Greek_UPSILON 0x7d5
0N/A0x03a6 #define XK_Greek_PHI 0x7d6
0N/A0x03a7 #define XK_Greek_CHI 0x7d7
0N/A0x03a8 #define XK_Greek_PSI 0x7d8
0N/A0x03a9 #define XK_Greek_OMEGA 0x7d9
0N/A0x03b1 #define XK_Greek_alpha 0x7e1
0N/A0x03b2 #define XK_Greek_beta 0x7e2
0N/A0x03b3 #define XK_Greek_gamma 0x7e3
0N/A0x03b4 #define XK_Greek_delta 0x7e4
0N/A0x03b5 #define XK_Greek_epsilon 0x7e5
0N/A0x03b6 #define XK_Greek_zeta 0x7e6
0N/A0x03b7 #define XK_Greek_eta 0x7e7
0N/A0x03b8 #define XK_Greek_theta 0x7e8
0N/A0x03b9 #define XK_Greek_iota 0x7e9
0N/A0x03ba #define XK_Greek_kappa 0x7ea
0N/A0x0000 #define XK_Greek_lamda 0x7eb
0N/A0x03bb #define XK_Greek_lambda 0x7eb
0N/A0x03bc #define XK_Greek_mu 0x7ec
0N/A0x03bd #define XK_Greek_nu 0x7ed
0N/A0x03be #define XK_Greek_xi 0x7ee
0N/A0x03bf #define XK_Greek_omicron 0x7ef
0N/A0x03c0 #define XK_Greek_pi 0x7f0
0N/A0x03c1 #define XK_Greek_rho 0x7f1
0N/A0x03c3 #define XK_Greek_sigma 0x7f2
0N/A0x03c2 #define XK_Greek_finalsmallsigma 0x7f3
0N/A0x03c4 #define XK_Greek_tau 0x7f4
0N/A0x03c5 #define XK_Greek_upsilon 0x7f5
0N/A0x03c6 #define XK_Greek_phi 0x7f6
0N/A0x03c7 #define XK_Greek_chi 0x7f7
0N/A0x03c8 #define XK_Greek_psi 0x7f8
0N/A0x03c9 #define XK_Greek_omega 0x7f9
0N/A0x0000 #define XK_Greek_switch 0xFF7E /* Alias for mode_switch */
0N/A#endif /* XK_GREEK */
0N/A
0N/A/*
0N/A * Technical
0N/A * Byte 3 = 8
0N/A */
0N/A
0N/A#ifdef XK_TECHNICAL
0N/A0x23b7 #define XK_leftradical 0x8a1
0N/A0x250c #define XK_topleftradical 0x8a2
0N/A0x2500 #define XK_horizconnector 0x8a3
0N/A0x2320 #define XK_topintegral 0x8a4
0N/A0x2321 #define XK_botintegral 0x8a5
0N/A0x2502 #define XK_vertconnector 0x8a6
0N/A0x23a1 #define XK_topleftsqbracket 0x8a7
0N/A0x23a3 #define XK_botleftsqbracket 0x8a8
0N/A0x23a4 #define XK_toprightsqbracket 0x8a9
0N/A0x23a6 #define XK_botrightsqbracket 0x8aa
0N/A0x239b #define XK_topleftparens 0x8ab
0N/A0x239d #define XK_botleftparens 0x8ac
0N/A0x239e #define XK_toprightparens 0x8ad
0N/A0x23a0 #define XK_botrightparens 0x8ae
0N/A0x23a8 #define XK_leftmiddlecurlybrace 0x8af
0N/A0x23ac #define XK_rightmiddlecurlybrace 0x8b0
0N/A0x0000 #define XK_topleftsummation 0x8b1
0N/A0x0000 #define XK_botleftsummation 0x8b2
0N/A0x0000 #define XK_topvertsummationconnector 0x8b3
0N/A0x0000 #define XK_botvertsummationconnector 0x8b4
0N/A0x0000 #define XK_toprightsummation 0x8b5
0N/A0x0000 #define XK_botrightsummation 0x8b6
0N/A0x0000 #define XK_rightmiddlesummation 0x8b7
0N/A0x2264 #define XK_lessthanequal 0x8bc
0N/A0x2260 #define XK_notequal 0x8bd
0N/A0x2265 #define XK_greaterthanequal 0x8be
0N/A0x222b #define XK_integral 0x8bf
0N/A0x2234 #define XK_therefore 0x8c0
0N/A0x221d #define XK_variation 0x8c1
0N/A0x221e #define XK_infinity 0x8c2
0N/A0x2207 #define XK_nabla 0x8c5
0N/A0x223c #define XK_approximate 0x8c8
0N/A0x2243 #define XK_similarequal 0x8c9
0N/A0x2104 #define XK_ifonlyif 0x8cd
0N/A0x21d2 #define XK_implies 0x8ce
0N/A0x2261 #define XK_identical 0x8cf
0N/A0x221a #define XK_radical 0x8d6
0N/A0x2282 #define XK_includedin 0x8da
0N/A0x2283 #define XK_includes 0x8db
0N/A0x2229 #define XK_intersection 0x8dc
0N/A0x222a #define XK_union 0x8dd
0N/A0x2227 #define XK_logicaland 0x8de
0N/A0x2228 #define XK_logicalor 0x8df
0N/A0x2202 #define XK_partialderivative 0x8ef
0N/A0x0192 #define XK_function 0x8f6
0N/A0x2190 #define XK_leftarrow 0x8fb
0N/A0x2191 #define XK_uparrow 0x8fc
0N/A0x2192 #define XK_rightarrow 0x8fd
0N/A0x2193 #define XK_downarrow 0x8fe
0N/A#endif /* XK_TECHNICAL */
0N/A
0N/A/*
0N/A * Special
0N/A * Byte 3 = 9
0N/A */
0N/A
0N/A#ifdef XK_SPECIAL
0N/A0x0000 #define XK_blank 0x9df
0N/A0x25c6 #define XK_soliddiamond 0x9e0
0N/A0x2592 #define XK_checkerboard 0x9e1
0N/A0x2409 #define XK_ht 0x9e2
0N/A0x240c #define XK_ff 0x9e3
0N/A0x240d #define XK_cr 0x9e4
0N/A0x240a #define XK_lf 0x9e5
0N/A0x2424 #define XK_nl 0x9e8
0N/A0x240b #define XK_vt 0x9e9
0N/A0x2518 #define XK_lowrightcorner 0x9ea
0N/A0x2510 #define XK_uprightcorner 0x9eb
0N/A0x250c #define XK_upleftcorner 0x9ec
0N/A0x2514 #define XK_lowleftcorner 0x9ed
0N/A0x253c #define XK_crossinglines 0x9ee
0N/A0x23ba #define XK_horizlinescan1 0x9ef
0N/A0x23bb #define XK_horizlinescan3 0x9f0
0N/A0x2500 #define XK_horizlinescan5 0x9f1
0N/A0x23bc #define XK_horizlinescan7 0x9f2
0N/A0x23bd #define XK_horizlinescan9 0x9f3
0N/A0x251c #define XK_leftt 0x9f4
0N/A0x2524 #define XK_rightt 0x9f5
0N/A0x2534 #define XK_bott 0x9f6
0N/A0x242c #define XK_topt 0x9f7
0N/A0x2502 #define XK_vertbar 0x9f8
0N/A#endif /* XK_SPECIAL */
0N/A
0N/A/*
0N/A * Publishing
0N/A * Byte 3 = a
0N/A */
0N/A
0N/A#ifdef XK_PUBLISHING
0N/A0x2003 #define XK_emspace 0xaa1
0N/A0x2002 #define XK_enspace 0xaa2
0N/A0x2004 #define XK_em3space 0xaa3
0N/A0x2005 #define XK_em4space 0xaa4
0N/A0x2007 #define XK_digitspace 0xaa5
0N/A0x2008 #define XK_punctspace 0xaa6
0N/A0x2009 #define XK_thinspace 0xaa7
0N/A0x200a #define XK_hairspace 0xaa8
0N/A0x2014 #define XK_emdash 0xaa9
0N/A0x2013 #define XK_endash 0xaaa
0N/A0x2423 #define XK_signifblank 0xaac
0N/A0x2026 #define XK_ellipsis 0xaae
0N/A0x2025 #define XK_doubbaselinedot 0xaaf
0N/A0x2153 #define XK_onethird 0xab0
0N/A0x2154 #define XK_twothirds 0xab1
0N/A0x2155 #define XK_onefifth 0xab2
0N/A0x2156 #define XK_twofifths 0xab3
0N/A0x2157 #define XK_threefifths 0xab4
0N/A0x2158 #define XK_fourfifths 0xab5
0N/A0x2159 #define XK_onesixth 0xab6
0N/A0x215a #define XK_fivesixths 0xab7
0N/A0x2105 #define XK_careof 0xab8
0N/A0x2012 #define XK_figdash 0xabb
0N/A0x27e8 #define XK_leftanglebracket 0xabc
0N/A0x002e #define XK_decimalpoint 0xabd
0N/A0x27e9 #define XK_rightanglebracket 0xabe
0N/A0x0000 #define XK_marker 0xabf
0N/A0x215b #define XK_oneeighth 0xac3
0N/A0x215c #define XK_threeeighths 0xac4
0N/A0x215d #define XK_fiveeighths 0xac5
0N/A0x215e #define XK_seveneighths 0xac6
0N/A0x2122 #define XK_trademark 0xac9
0N/A0x2613 #define XK_signaturemark 0xaca
0N/A0x0000 #define XK_trademarkincircle 0xacb
0N/A0x25c1 #define XK_leftopentriangle 0xacc
0N/A0x25b7 #define XK_rightopentriangle 0xacd
0N/A0x25cb #define XK_emopencircle 0xace
0N/A0x25af #define XK_emopenrectangle 0xacf
0N/A0x2018 #define XK_leftsinglequotemark 0xad0
0N/A0x2019 #define XK_rightsinglequotemark 0xad1
0N/A0x201c #define XK_leftdoublequotemark 0xad2
0N/A0x201d #define XK_rightdoublequotemark 0xad3
0N/A0x211e #define XK_prescription 0xad4
0N/A0x2032 #define XK_minutes 0xad6
0N/A0x2033 #define XK_seconds 0xad7
0N/A0x271d #define XK_latincross 0xad9
0N/A0x0000 #define XK_hexagram 0xada
0N/A0x25ac #define XK_filledrectbullet 0xadb
0N/A0x25c0 #define XK_filledlefttribullet 0xadc
0N/A0x25b6 #define XK_filledrighttribullet 0xadd
0N/A0x25cf #define XK_emfilledcircle 0xade
0N/A0x25ae #define XK_emfilledrect 0xadf
0N/A0x25e6 #define XK_enopencircbullet 0xae0
0N/A0x25ab #define XK_enopensquarebullet 0xae1
0N/A0x25ad #define XK_openrectbullet 0xae2
0N/A0x25b3 #define XK_opentribulletup 0xae3
0N/A0x25bd #define XK_opentribulletdown 0xae4
0N/A0x2606 #define XK_openstar 0xae5
0N/A0x2022 #define XK_enfilledcircbullet 0xae6
0N/A0x25aa #define XK_enfilledsqbullet 0xae7
0N/A0x25b2 #define XK_filledtribulletup 0xae8
0N/A0x25bc #define XK_filledtribulletdown 0xae9
0N/A0x261c #define XK_leftpointer 0xaea
0N/A0x261e #define XK_rightpointer 0xaeb
0N/A0x2663 #define XK_club 0xaec
0N/A0x2666 #define XK_diamond 0xaed
0N/A0x2665 #define XK_heart 0xaee
0N/A0x2720 #define XK_maltesecross 0xaf0
0N/A0x2020 #define XK_dagger 0xaf1
0N/A0x2021 #define XK_doubledagger 0xaf2
0N/A0x2713 #define XK_checkmark 0xaf3
0N/A0x2717 #define XK_ballotcross 0xaf4
0N/A0x266f #define XK_musicalsharp 0xaf5
0N/A0x266d #define XK_musicalflat 0xaf6
0N/A0x2642 #define XK_malesymbol 0xaf7
0N/A0x2640 #define XK_femalesymbol 0xaf8
0N/A0x260e #define XK_telephone 0xaf9
0N/A0x2315 #define XK_telephonerecorder 0xafa
0N/A0x2117 #define XK_phonographcopyright 0xafb
0N/A0x2038 #define XK_caret 0xafc
0N/A0x201a #define XK_singlelowquotemark 0xafd
0N/A0x201e #define XK_doublelowquotemark 0xafe
0N/A0x0000 #define XK_cursor 0xaff
0N/A#endif /* XK_PUBLISHING */
0N/A
0N/A/*
0N/A * APL
0N/A * Byte 3 = b
0N/A */
0N/A
0N/A#ifdef XK_APL
0N/A0x003c #define XK_leftcaret 0xba3
0N/A0x003e #define XK_rightcaret 0xba6
0N/A0x2228 #define XK_downcaret 0xba8
0N/A0x2227 #define XK_upcaret 0xba9
0N/A0x00af #define XK_overbar 0xbc0
0N/A0x22a5 #define XK_downtack 0xbc2
0N/A0x2229 #define XK_upshoe 0xbc3
0N/A0x230a #define XK_downstile 0xbc4
0N/A0x005f #define XK_underbar 0xbc6
0N/A0x2218 #define XK_jot 0xbca
0N/A0x2395 #define XK_quad 0xbcc
0N/A0x22a4 #define XK_uptack 0xbce
0N/A0x25cb #define XK_circle 0xbcf
0N/A0x2308 #define XK_upstile 0xbd3
0N/A0x222a #define XK_downshoe 0xbd6
0N/A0x2283 #define XK_rightshoe 0xbd8
0N/A0x2282 #define XK_leftshoe 0xbda
0N/A0x22a2 #define XK_lefttack 0xbdc
0N/A0x22a3 #define XK_righttack 0xbfc
0N/A#endif /* XK_APL */
0N/A
0N/A/*
0N/A * Hebrew
0N/A * Byte 3 = c
0N/A */
0N/A
0N/A#ifdef XK_HEBREW
0N/A0x2017 #define XK_hebrew_doublelowline 0xcdf
0N/A0x05d0 #define XK_hebrew_aleph 0xce0
0N/A0x05d1 #define XK_hebrew_bet 0xce1
0N/A0x0000 #define XK_hebrew_beth 0xce1 /* deprecated */
0N/A0x05d2 #define XK_hebrew_gimel 0xce2
0N/A0x0000 #define XK_hebrew_gimmel 0xce2 /* deprecated */
0N/A0x05d3 #define XK_hebrew_dalet 0xce3
0N/A0x0000 #define XK_hebrew_daleth 0xce3 /* deprecated */
0N/A0x05d4 #define XK_hebrew_he 0xce4
0N/A0x05d5 #define XK_hebrew_waw 0xce5
0N/A0x05d6 #define XK_hebrew_zain 0xce6
0N/A0x0000 #define XK_hebrew_zayin 0xce6 /* deprecated */
0N/A0x05d7 #define XK_hebrew_chet 0xce7
0N/A0x0000 #define XK_hebrew_het 0xce7 /* deprecated */
0N/A0x05d8 #define XK_hebrew_tet 0xce8
0N/A0x0000 #define XK_hebrew_teth 0xce8 /* deprecated */
0N/A0x05d9 #define XK_hebrew_yod 0xce9
0N/A0x05da #define XK_hebrew_finalkaph 0xcea
0N/A0x05db #define XK_hebrew_kaph 0xceb
0N/A0x05dc #define XK_hebrew_lamed 0xcec
0N/A0x05dd #define XK_hebrew_finalmem 0xced
0N/A0x05de #define XK_hebrew_mem 0xcee
0N/A0x05df #define XK_hebrew_finalnun 0xcef
0N/A0x05e0 #define XK_hebrew_nun 0xcf0
0N/A0x05e1 #define XK_hebrew_samech 0xcf1
0N/A0x0000 #define XK_hebrew_samekh 0xcf1 /* deprecated */
0N/A0x05e2 #define XK_hebrew_ayin 0xcf2
0N/A0x05e3 #define XK_hebrew_finalpe 0xcf3
0N/A0x05e4 #define XK_hebrew_pe 0xcf4
0N/A0x05e5 #define XK_hebrew_finalzade 0xcf5
0N/A0x0000 #define XK_hebrew_finalzadi 0xcf5 /* deprecated */
0N/A0x05e6 #define XK_hebrew_zade 0xcf6
0N/A0x0000 #define XK_hebrew_zadi 0xcf6 /* deprecated */
0N/A0x05e7 #define XK_hebrew_qoph 0xcf7
0N/A0x0000 #define XK_hebrew_kuf 0xcf7 /* deprecated */
0N/A0x05e8 #define XK_hebrew_resh 0xcf8
0N/A0x05e9 #define XK_hebrew_shin 0xcf9
0N/A0x05ea #define XK_hebrew_taw 0xcfa
0N/A0x0000 #define XK_hebrew_taf 0xcfa /* deprecated */
0N/A0x0000 #define XK_Hebrew_switch 0xFF7E /* Alias for mode_switch */
0N/A#endif /* XK_HEBREW */
0N/A
0N/A/*
0N/A * Thai
0N/A * Byte 3 = d
0N/A */
0N/A
0N/A#ifdef XK_THAI
0N/A0x0e01 #define XK_Thai_kokai 0xda1
0N/A0x0e02 #define XK_Thai_khokhai 0xda2
0N/A0x0e03 #define XK_Thai_khokhuat 0xda3
0N/A0x0e04 #define XK_Thai_khokhwai 0xda4
0N/A0x0e05 #define XK_Thai_khokhon 0xda5
0N/A0x0e06 #define XK_Thai_khorakhang 0xda6
0N/A0x0e07 #define XK_Thai_ngongu 0xda7
0N/A0x0e08 #define XK_Thai_chochan 0xda8
0N/A0x0e09 #define XK_Thai_choching 0xda9
0N/A0x0e0a #define XK_Thai_chochang 0xdaa
0N/A0x0e0b #define XK_Thai_soso 0xdab
0N/A0x0e0c #define XK_Thai_chochoe 0xdac
0N/A0x0e0d #define XK_Thai_yoying 0xdad
0N/A0x0e0e #define XK_Thai_dochada 0xdae
0N/A0x0e0f #define XK_Thai_topatak 0xdaf
0N/A0x0e10 #define XK_Thai_thothan 0xdb0
0N/A0x0e11 #define XK_Thai_thonangmontho 0xdb1
0N/A0x0e12 #define XK_Thai_thophuthao 0xdb2
0N/A0x0e13 #define XK_Thai_nonen 0xdb3
0N/A0x0e14 #define XK_Thai_dodek 0xdb4
0N/A0x0e15 #define XK_Thai_totao 0xdb5
0N/A0x0e16 #define XK_Thai_thothung 0xdb6
0N/A0x0e17 #define XK_Thai_thothahan 0xdb7
0N/A0x0e18 #define XK_Thai_thothong 0xdb8
0N/A0x0e19 #define XK_Thai_nonu 0xdb9
0N/A0x0e1a #define XK_Thai_bobaimai 0xdba
0N/A0x0e1b #define XK_Thai_popla 0xdbb
0N/A0x0e1c #define XK_Thai_phophung 0xdbc
0N/A0x0e1d #define XK_Thai_fofa 0xdbd
0N/A0x0e1e #define XK_Thai_phophan 0xdbe
0N/A0x0e1f #define XK_Thai_fofan 0xdbf
0N/A0x0e20 #define XK_Thai_phosamphao 0xdc0
0N/A0x0e21 #define XK_Thai_moma 0xdc1
0N/A0x0e22 #define XK_Thai_yoyak 0xdc2
0N/A0x0e23 #define XK_Thai_rorua 0xdc3
0N/A0x0e24 #define XK_Thai_ru 0xdc4
0N/A0x0e25 #define XK_Thai_loling 0xdc5
0N/A0x0e26 #define XK_Thai_lu 0xdc6
0N/A0x0e27 #define XK_Thai_wowaen 0xdc7
0N/A0x0e28 #define XK_Thai_sosala 0xdc8
0N/A0x0e29 #define XK_Thai_sorusi 0xdc9
0N/A0x0e2a #define XK_Thai_sosua 0xdca
0N/A0x0e2b #define XK_Thai_hohip 0xdcb
0N/A0x0e2c #define XK_Thai_lochula 0xdcc
0N/A0x0e2d #define XK_Thai_oang 0xdcd
0N/A0x0e2e #define XK_Thai_honokhuk 0xdce
0N/A0x0e2f #define XK_Thai_paiyannoi 0xdcf
0N/A0x0e30 #define XK_Thai_saraa 0xdd0
0N/A0x0e31 #define XK_Thai_maihanakat 0xdd1
0N/A0x0e32 #define XK_Thai_saraaa 0xdd2
0N/A0x0e33 #define XK_Thai_saraam 0xdd3
0N/A0x0e34 #define XK_Thai_sarai 0xdd4
0N/A0x0e35 #define XK_Thai_saraii 0xdd5
0N/A0x0e36 #define XK_Thai_saraue 0xdd6
0N/A0x0e37 #define XK_Thai_sarauee 0xdd7
0N/A0x0e38 #define XK_Thai_sarau 0xdd8
0N/A0x0e39 #define XK_Thai_sarauu 0xdd9
0N/A0x0e3a #define XK_Thai_phinthu 0xdda
0N/A0x0000 #define XK_Thai_maihanakat_maitho 0xdde
0N/A0x0e3f #define XK_Thai_baht 0xddf
0N/A0x0e40 #define XK_Thai_sarae 0xde0
0N/A0x0e41 #define XK_Thai_saraae 0xde1
0N/A0x0e42 #define XK_Thai_sarao 0xde2
0N/A0x0e43 #define XK_Thai_saraaimaimuan 0xde3
0N/A0x0e44 #define XK_Thai_saraaimaimalai 0xde4
0N/A0x0e45 #define XK_Thai_lakkhangyao 0xde5
0N/A0x0e46 #define XK_Thai_maiyamok 0xde6
0N/A0x0e47 #define XK_Thai_maitaikhu 0xde7
0N/A0x0e48 #define XK_Thai_maiek 0xde8
0N/A0x0e49 #define XK_Thai_maitho 0xde9
0N/A0x0e4a #define XK_Thai_maitri 0xdea
0N/A0x0e4b #define XK_Thai_maichattawa 0xdeb
0N/A0x0e4c #define XK_Thai_thanthakhat 0xdec
0N/A0x0e4d #define XK_Thai_nikhahit 0xded
0N/A0x0e50 #define XK_Thai_leksun 0xdf0
0N/A0x0e51 #define XK_Thai_leknung 0xdf1
0N/A0x0e52 #define XK_Thai_leksong 0xdf2
0N/A0x0e53 #define XK_Thai_leksam 0xdf3
0N/A0x0e54 #define XK_Thai_leksi 0xdf4
0N/A0x0e55 #define XK_Thai_lekha 0xdf5
0N/A0x0e56 #define XK_Thai_lekhok 0xdf6
0N/A0x0e57 #define XK_Thai_lekchet 0xdf7
0N/A0x0e58 #define XK_Thai_lekpaet 0xdf8
0N/A0x0e59 #define XK_Thai_lekkao 0xdf9
0N/A#endif /* XK_THAI */
0N/A
0N/A/*
0N/A * Korean
0N/A * Byte 3 = e
0N/A */
0N/A
0N/A#ifdef XK_KOREAN
0N/A
0N/A0x0000 #define XK_Hangul 0xff31 /* Hangul start/stop(toggle) */
0N/A0x0000 #define XK_Hangul_Start 0xff32 /* Hangul start */
0N/A0x0000 #define XK_Hangul_End 0xff33 /* Hangul end, English start */
0N/A0x0000 #define XK_Hangul_Hanja 0xff34 /* Start Hangul->Hanja Conversion */
0N/A0x0000 #define XK_Hangul_Jamo 0xff35 /* Hangul Jamo mode */
0N/A0x0000 #define XK_Hangul_Romaja 0xff36 /* Hangul Romaja mode */
0N/A0x0000 #define XK_Hangul_Codeinput 0xff37 /* Hangul code input mode */
0N/A0x0000 #define XK_Hangul_Jeonja 0xff38 /* Jeonja mode */
0N/A0x0000 #define XK_Hangul_Banja 0xff39 /* Banja mode */
0N/A0x0000 #define XK_Hangul_PreHanja 0xff3a /* Pre Hanja conversion */
0N/A0x0000 #define XK_Hangul_PostHanja 0xff3b /* Post Hanja conversion */
0N/A0x0000 #define XK_Hangul_SingleCandidate 0xff3c /* Single candidate */
0N/A0x0000 #define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */
0N/A0x0000 #define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */
0N/A0x0000 #define XK_Hangul_Special 0xff3f /* Special symbols */
0N/A0x0000 #define XK_Hangul_switch 0xFF7E /* Alias for mode_switch */
0N/A
0N/A/* Hangul Consonant Characters */
0N/A0x3131 #define XK_Hangul_Kiyeog 0xea1
0N/A0x3132 #define XK_Hangul_SsangKiyeog 0xea2
0N/A0x3133 #define XK_Hangul_KiyeogSios 0xea3
0N/A0x3134 #define XK_Hangul_Nieun 0xea4
0N/A0x3135 #define XK_Hangul_NieunJieuj 0xea5
0N/A0x3136 #define XK_Hangul_NieunHieuh 0xea6
0N/A0x3137 #define XK_Hangul_Dikeud 0xea7
0N/A0x3138 #define XK_Hangul_SsangDikeud 0xea8
0N/A0x3139 #define XK_Hangul_Rieul 0xea9
0N/A0x313a #define XK_Hangul_RieulKiyeog 0xeaa
0N/A0x313b #define XK_Hangul_RieulMieum 0xeab
0N/A0x313c #define XK_Hangul_RieulPieub 0xeac
0N/A0x313d #define XK_Hangul_RieulSios 0xead
0N/A0x313e #define XK_Hangul_RieulTieut 0xeae
0N/A0x313f #define XK_Hangul_RieulPhieuf 0xeaf
0N/A0x3140 #define XK_Hangul_RieulHieuh 0xeb0
0N/A0x3141 #define XK_Hangul_Mieum 0xeb1
0N/A0x3142 #define XK_Hangul_Pieub 0xeb2
0N/A0x3143 #define XK_Hangul_SsangPieub 0xeb3
0N/A0x3144 #define XK_Hangul_PieubSios 0xeb4
0N/A0x3145 #define XK_Hangul_Sios 0xeb5
0N/A0x3146 #define XK_Hangul_SsangSios 0xeb6
0N/A0x3147 #define XK_Hangul_Ieung 0xeb7
0N/A0x3148 #define XK_Hangul_Jieuj 0xeb8
0N/A0x3149 #define XK_Hangul_SsangJieuj 0xeb9
0N/A0x314a #define XK_Hangul_Cieuc 0xeba
0N/A0x314b #define XK_Hangul_Khieuq 0xebb
0N/A0x314c #define XK_Hangul_Tieut 0xebc
0N/A0x314d #define XK_Hangul_Phieuf 0xebd
0N/A0x314e #define XK_Hangul_Hieuh 0xebe
0N/A
0N/A /* Hangul Vowel Characters */
0N/A0x314f #define XK_Hangul_A 0xebf
0N/A0x3150 #define XK_Hangul_AE 0xec0
0N/A0x3151 #define XK_Hangul_YA 0xec1
0N/A0x3152 #define XK_Hangul_YAE 0xec2
0N/A0x3153 #define XK_Hangul_EO 0xec3
0N/A0x3154 #define XK_Hangul_E 0xec4
0N/A0x3155 #define XK_Hangul_YEO 0xec5
0N/A0x3156 #define XK_Hangul_YE 0xec6
0N/A0x3157 #define XK_Hangul_O 0xec7
0N/A0x3158 #define XK_Hangul_WA 0xec8
0N/A0x3159 #define XK_Hangul_WAE 0xec9
0N/A0x315a #define XK_Hangul_OE 0xeca
0N/A0x315b #define XK_Hangul_YO 0xecb
0N/A0x315c #define XK_Hangul_U 0xecc
0N/A0x315d #define XK_Hangul_WEO 0xecd
0N/A0x315e #define XK_Hangul_WE 0xece
0N/A0x315f #define XK_Hangul_WI 0xecf
0N/A0x3160 #define XK_Hangul_YU 0xed0
0N/A0x3161 #define XK_Hangul_EU 0xed1
0N/A0x3162 #define XK_Hangul_YI 0xed2
0N/A0x3163 #define XK_Hangul_I 0xed3
0N/A
0N/A/* Hangul syllable-final (JongSeong) Characters */
0N/A0x11a8 #define XK_Hangul_J_Kiyeog 0xed4
0N/A0x11a9 #define XK_Hangul_J_SsangKiyeog 0xed5
0N/A0x11aa #define XK_Hangul_J_KiyeogSios 0xed6
0N/A0x11ab #define XK_Hangul_J_Nieun 0xed7
0N/A0x11ac #define XK_Hangul_J_NieunJieuj 0xed8
0N/A0x11ad #define XK_Hangul_J_NieunHieuh 0xed9
0N/A0x11ae #define XK_Hangul_J_Dikeud 0xeda
0N/A0x11af #define XK_Hangul_J_Rieul 0xedb
0N/A0x11b0 #define XK_Hangul_J_RieulKiyeog 0xedc
0N/A0x11b1 #define XK_Hangul_J_RieulMieum 0xedd
0N/A0x11b2 #define XK_Hangul_J_RieulPieub 0xede
0N/A0x11b3 #define XK_Hangul_J_RieulSios 0xedf
0N/A0x11b4 #define XK_Hangul_J_RieulTieut 0xee0
0N/A0x11b5 #define XK_Hangul_J_RieulPhieuf 0xee1
0N/A0x11b6 #define XK_Hangul_J_RieulHieuh 0xee2
0N/A0x11b7 #define XK_Hangul_J_Mieum 0xee3
0N/A0x11b8 #define XK_Hangul_J_Pieub 0xee4
0N/A0x11b9 #define XK_Hangul_J_PieubSios 0xee5
0N/A0x11ba #define XK_Hangul_J_Sios 0xee6
0N/A0x11bb #define XK_Hangul_J_SsangSios 0xee7
0N/A0x11bc #define XK_Hangul_J_Ieung 0xee8
0N/A0x11bd #define XK_Hangul_J_Jieuj 0xee9
0N/A0x11be #define XK_Hangul_J_Cieuc 0xeea
0N/A0x11bf #define XK_Hangul_J_Khieuq 0xeeb
0N/A0x11c0 #define XK_Hangul_J_Tieut 0xeec
0N/A0x11c1 #define XK_Hangul_J_Phieuf 0xeed
0N/A0x11c2 #define XK_Hangul_J_Hieuh 0xeee
0N/A
0N/A/* Ancient Hangul Consonant Characters */
0N/A0x316d #define XK_Hangul_RieulYeorinHieuh 0xeef
0N/A0x3171 #define XK_Hangul_SunkyeongeumMieum 0xef0
0N/A0x3178 #define XK_Hangul_SunkyeongeumPieub 0xef1
0N/A0x317f #define XK_Hangul_PanSios 0xef2
0N/A0x3181 #define XK_Hangul_KkogjiDalrinIeung 0xef3
0N/A0x3184 #define XK_Hangul_SunkyeongeumPhieuf 0xef4
0N/A0x3186 #define XK_Hangul_YeorinHieuh 0xef5
0N/A
0N/A/* Ancient Hangul Vowel Characters */
0N/A0x318d #define XK_Hangul_AraeA 0xef6
0N/A0x318e #define XK_Hangul_AraeAE 0xef7
0N/A
0N/A/* Ancient Hangul syllable-final (JongSeong) Characters */
0N/A0x11eb #define XK_Hangul_J_PanSios 0xef8
0N/A0x11f0 #define XK_Hangul_J_KkogjiDalrinIeung 0xef9
0N/A0x11f9 #define XK_Hangul_J_YeorinHieuh 0xefa
0N/A
0N/A/* Korean currency symbol */
0N/A0x20a9 #define XK_Korean_Won 0xeff
0N/A
0N/A#endif /* XK_KOREAN */
0N/A
0N/A/*
0N/A * Armenian
0N/A * Byte 3 = 0x14
0N/A */
0N/A// yan: skip Armenian for the time being
0N/A#ifdef XK_ARMENIAN
0N/A0x0000 #define XK_Armenian_eternity 0x14a1
0N/A0x0000 #define XK_Armenian_ligature_ew 0x14a2
0N/A0x0000 #define XK_Armenian_full_stop 0x14a3
0N/A0x0000 #define XK_Armenian_verjaket 0x14a3
0N/A0x0000 #define XK_Armenian_parenright 0x14a4
0N/A0x0000 #define XK_Armenian_parenleft 0x14a5
0N/A0x0000 #define XK_Armenian_guillemotright 0x14a6
0N/A0x0000 #define XK_Armenian_guillemotleft 0x14a7
0N/A0x0000 #define XK_Armenian_em_dash 0x14a8
0N/A0x0000 #define XK_Armenian_dot 0x14a9
0N/A0x0000 #define XK_Armenian_mijaket 0x14a9
0N/A0x0000 #define XK_Armenian_separation_mark 0x14aa
0N/A0x0000 #define XK_Armenian_but 0x14aa
0N/A0x0000 #define XK_Armenian_comma 0x14ab
0N/A0x0000 #define XK_Armenian_en_dash 0x14ac
0N/A0x0000 #define XK_Armenian_hyphen 0x14ad
0N/A0x0000 #define XK_Armenian_yentamna 0x14ad
0N/A0x0000 #define XK_Armenian_ellipsis 0x14ae
0N/A0x0000 #define XK_Armenian_exclam 0x14af
0N/A0x0000 #define XK_Armenian_amanak 0x14af
0N/A0x0000 #define XK_Armenian_accent 0x14b0
0N/A0x0000 #define XK_Armenian_shesht 0x14b0
0N/A0x0000 #define XK_Armenian_question 0x14b1
0N/A0x0000 #define XK_Armenian_paruyk 0x14b1
0N/A0x0000 #define XK_Armenian_AYB 0x14b2
0N/A0x0000 #define XK_Armenian_ayb 0x14b3
0N/A0x0000 #define XK_Armenian_BEN 0x14b4
0N/A0x0000 #define XK_Armenian_ben 0x14b5
0N/A0x0000 #define XK_Armenian_GIM 0x14b6
0N/A0x0000 #define XK_Armenian_gim 0x14b7
0N/A0x0000 #define XK_Armenian_DA 0x14b8
0N/A0x0000 #define XK_Armenian_da 0x14b9
0N/A0x0000 #define XK_Armenian_YECH 0x14ba
0N/A0x0000 #define XK_Armenian_yech 0x14bb
0N/A0x0000 #define XK_Armenian_ZA 0x14bc
0N/A0x0000 #define XK_Armenian_za 0x14bd
0N/A0x0000 #define XK_Armenian_E 0x14be
0N/A0x0000 #define XK_Armenian_e 0x14bf
0N/A0x0000 #define XK_Armenian_AT 0x14c0
0N/A0x0000 #define XK_Armenian_at 0x14c1
0N/A0x0000 #define XK_Armenian_TO 0x14c2
0N/A0x0000 #define XK_Armenian_to 0x14c3
0N/A0x0000 #define XK_Armenian_ZHE 0x14c4
0N/A0x0000 #define XK_Armenian_zhe 0x14c5
0N/A0x0000 #define XK_Armenian_INI 0x14c6
0N/A0x0000 #define XK_Armenian_ini 0x14c7
0N/A0x0000 #define XK_Armenian_LYUN 0x14c8
0N/A0x0000 #define XK_Armenian_lyun 0x14c9
0N/A0x0000 #define XK_Armenian_KHE 0x14ca
0N/A0x0000 #define XK_Armenian_khe 0x14cb
0N/A0x0000 #define XK_Armenian_TSA 0x14cc
0N/A0x0000 #define XK_Armenian_tsa 0x14cd
0N/A0x0000 #define XK_Armenian_KEN 0x14ce
0N/A0x0000 #define XK_Armenian_ken 0x14cf
0N/A0x0000 #define XK_Armenian_HO 0x14d0
0N/A0x0000 #define XK_Armenian_ho 0x14d1
0N/A0x0000 #define XK_Armenian_DZA 0x14d2
0N/A0x0000 #define XK_Armenian_dza 0x14d3
0N/A0x0000 #define XK_Armenian_GHAT 0x14d4
0N/A0x0000 #define XK_Armenian_ghat 0x14d5
0N/A0x0000 #define XK_Armenian_TCHE 0x14d6
0N/A0x0000 #define XK_Armenian_tche 0x14d7
0N/A0x0000 #define XK_Armenian_MEN 0x14d8
0N/A0x0000 #define XK_Armenian_men 0x14d9
0N/A0x0000 #define XK_Armenian_HI 0x14da
0N/A0x0000 #define XK_Armenian_hi 0x14db
0N/A0x0000 #define XK_Armenian_NU 0x14dc
0N/A0x0000 #define XK_Armenian_nu 0x14dd
0N/A0x0000 #define XK_Armenian_SHA 0x14de
0N/A0x0000 #define XK_Armenian_sha 0x14df
0N/A0x0000 #define XK_Armenian_VO 0x14e0
0N/A0x0000 #define XK_Armenian_vo 0x14e1
0N/A0x0000 #define XK_Armenian_CHA 0x14e2
0N/A0x0000 #define XK_Armenian_cha 0x14e3
0N/A0x0000 #define XK_Armenian_PE 0x14e4
0N/A0x0000 #define XK_Armenian_pe 0x14e5
0N/A0x0000 #define XK_Armenian_JE 0x14e6
0N/A0x0000 #define XK_Armenian_je 0x14e7
0N/A0x0000 #define XK_Armenian_RA 0x14e8
0N/A0x0000 #define XK_Armenian_ra 0x14e9
0N/A0x0000 #define XK_Armenian_SE 0x14ea
0N/A0x0000 #define XK_Armenian_se 0x14eb
0N/A0x0000 #define XK_Armenian_VEV 0x14ec
0N/A0x0000 #define XK_Armenian_vev 0x14ed
0N/A0x0000 #define XK_Armenian_TYUN 0x14ee
0N/A0x0000 #define XK_Armenian_tyun 0x14ef
0N/A0x0000 #define XK_Armenian_RE 0x14f0
0N/A0x0000 #define XK_Armenian_re 0x14f1
0N/A0x0000 #define XK_Armenian_TSO 0x14f2
0N/A0x0000 #define XK_Armenian_tso 0x14f3
0N/A0x0000 #define XK_Armenian_VYUN 0x14f4
0N/A0x0000 #define XK_Armenian_vyun 0x14f5
0N/A0x0000 #define XK_Armenian_PYUR 0x14f6
0N/A0x0000 #define XK_Armenian_pyur 0x14f7
0N/A0x0000 #define XK_Armenian_KE 0x14f8
0N/A0x0000 #define XK_Armenian_ke 0x14f9
0N/A0x0000 #define XK_Armenian_O 0x14fa
0N/A0x0000 #define XK_Armenian_o 0x14fb
0N/A0x0000 #define XK_Armenian_FE 0x14fc
0N/A0x0000 #define XK_Armenian_fe 0x14fd
0N/A0x0000 #define XK_Armenian_apostrophe 0x14fe
0N/A0x0000 #define XK_Armenian_section_sign 0x14ff
0N/A#endif /* XK_ARMENIAN */
0N/A
0N/A/*
0N/A * Georgian
0N/A * Byte 3 = 0x15
0N/A */
0N/A//yan: skip Georgian for now;
0N/A#ifdef XK_GEORGIAN
0N/A0x0000 #define XK_Georgian_an 0x15d0
0N/A0x0000 #define XK_Georgian_ban 0x15d1
0N/A0x0000 #define XK_Georgian_gan 0x15d2
0N/A0x0000 #define XK_Georgian_don 0x15d3
0N/A0x0000 #define XK_Georgian_en 0x15d4
0N/A0x0000 #define XK_Georgian_vin 0x15d5
0N/A0x0000 #define XK_Georgian_zen 0x15d6
0N/A0x0000 #define XK_Georgian_tan 0x15d7
0N/A0x0000 #define XK_Georgian_in 0x15d8
0N/A0x0000 #define XK_Georgian_kan 0x15d9
0N/A0x0000 #define XK_Georgian_las 0x15da
0N/A0x0000 #define XK_Georgian_man 0x15db
0N/A0x0000 #define XK_Georgian_nar 0x15dc
0N/A0x0000 #define XK_Georgian_on 0x15dd
0N/A0x0000 #define XK_Georgian_par 0x15de
0N/A0x0000 #define XK_Georgian_zhar 0x15df
0N/A0x0000 #define XK_Georgian_rae 0x15e0
0N/A0x0000 #define XK_Georgian_san 0x15e1
0N/A0x0000 #define XK_Georgian_tar 0x15e2
0N/A0x0000 #define XK_Georgian_un 0x15e3
0N/A0x0000 #define XK_Georgian_phar 0x15e4
0N/A0x0000 #define XK_Georgian_khar 0x15e5
0N/A0x0000 #define XK_Georgian_ghan 0x15e6
0N/A0x0000 #define XK_Georgian_qar 0x15e7
0N/A0x0000 #define XK_Georgian_shin 0x15e8
0N/A0x0000 #define XK_Georgian_chin 0x15e9
0N/A0x0000 #define XK_Georgian_can 0x15ea
0N/A0x0000 #define XK_Georgian_jil 0x15eb
0N/A0x0000 #define XK_Georgian_cil 0x15ec
0N/A0x0000 #define XK_Georgian_char 0x15ed
0N/A0x0000 #define XK_Georgian_xan 0x15ee
0N/A0x0000 #define XK_Georgian_jhan 0x15ef
0N/A0x0000 #define XK_Georgian_hae 0x15f0
0N/A0x0000 #define XK_Georgian_he 0x15f1
0N/A0x0000 #define XK_Georgian_hie 0x15f2
0N/A0x0000 #define XK_Georgian_we 0x15f3
0N/A0x0000 #define XK_Georgian_har 0x15f4
0N/A0x0000 #define XK_Georgian_hoe 0x15f5
0N/A0x0000 #define XK_Georgian_fi 0x15f6
0N/A#endif /* XK_GEORGIAN */
0N/A
0N/A/*
0N/A * Azeri (and other Turkic or Caucasian languages of ex-USSR)
0N/A * Byte 3 = 0x16
0N/A */
0N/A
0N/A#ifdef XK_CAUCASUS
0N/A/* latin */
0N/A0x0000 #define XK_Ccedillaabovedot 0x16a2
0N/A0x1e8a #define XK_Xabovedot 0x16a3
0N/A0x0000 #define XK_Qabovedot 0x16a5
0N/A0x012c #define XK_Ibreve 0x16a6
0N/A0x0000 #define XK_IE 0x16a7
0N/A0x0000 #define XK_UO 0x16a8
0N/A0x01b5 #define XK_Zstroke 0x16a9
0N/A0x01e6 #define XK_Gcaron 0x16aa
0N/A0x019f #define XK_Obarred 0x16af
0N/A0x0000 #define XK_ccedillaabovedot 0x16b2
0N/A0x1e8b #define XK_xabovedot 0x16b3
0N/A0x0000 #define XK_Ocaron 0x16b4
0N/A0x0000 #define XK_qabovedot 0x16b5
0N/A0x012d #define XK_ibreve 0x16b6
0N/A0x0000 #define XK_ie 0x16b7
0N/A0x0000 #define XK_uo 0x16b8
0N/A0x01b6 #define XK_zstroke 0x16b9
0N/A0x01e7 #define XK_gcaron 0x16ba
0N/A0x01d2 #define XK_ocaron 0x16bd
0N/A0x0275 #define XK_obarred 0x16bf
0N/A0x018f #define XK_SCHWA 0x16c6
0N/A0x0259 #define XK_schwa 0x16f6
0N/A/* those are not really Caucasus, but I put them here for now */
0N/A/* For Inupiak */
0N/A// yan: is there unicode for Inupiak or Guarani at all?
0N/A0x0000 #define XK_Lbelowdot 0x16d1
0N/A0x0000 #define XK_Lstrokebelowdot 0x16d2
0N/A0x0000 #define XK_lbelowdot 0x16e1
0N/A0x0000 #define XK_lstrokebelowdot 0x16e2
0N/A/* For Guarani */
0N/A0x0000 #define XK_Gtilde 0x16d3
0N/A0x0000 #define XK_gtilde 0x16e3
0N/A#endif /* XK_CAUCASUS */
0N/A
0N/A/*
0N/A * Vietnamese
0N/A * Byte 3 = 0x1e
0N/A */
0N/A
0N/A#ifdef XK_VIETNAMESE
0N/A0x1ea0 #define XK_Abelowdot 0x1ea0
0N/A0x1ea1 #define XK_abelowdot 0x1ea1
0N/A0x1ea2 #define XK_Ahook 0x1ea2
0N/A0x1ea3 #define XK_ahook 0x1ea3
0N/A0x1ea4 #define XK_Acircumflexacute 0x1ea4
0N/A0x1ea5 #define XK_acircumflexacute 0x1ea5
0N/A0x1ea6 #define XK_Acircumflexgrave 0x1ea6
0N/A0x1ea7 #define XK_acircumflexgrave 0x1ea7
0N/A0x1ea8 #define XK_Acircumflexhook 0x1ea8
0N/A0x1ea9 #define XK_acircumflexhook 0x1ea9
0N/A0x1eaa #define XK_Acircumflextilde 0x1eaa
0N/A0x1eab #define XK_acircumflextilde 0x1eab
0N/A0x1eac #define XK_Acircumflexbelowdot 0x1eac
0N/A0x1ead #define XK_acircumflexbelowdot 0x1ead
0N/A0x1eae #define XK_Abreveacute 0x1eae
0N/A0x1eaf #define XK_abreveacute 0x1eaf
0N/A0x1eb0 #define XK_Abrevegrave 0x1eb0
0N/A0x1eb1 #define XK_abrevegrave 0x1eb1
0N/A0x1eb2 #define XK_Abrevehook 0x1eb2
0N/A0x1eb3 #define XK_abrevehook 0x1eb3
0N/A0x1eb4 #define XK_Abrevetilde 0x1eb4
0N/A0x1eb5 #define XK_abrevetilde 0x1eb5
0N/A0x1eb6 #define XK_Abrevebelowdot 0x1eb6
0N/A0x1eb7 #define XK_abrevebelowdot 0x1eb7
0N/A0x1eb8 #define XK_Ebelowdot 0x1eb8
0N/A0x1eb9 #define XK_ebelowdot 0x1eb9
0N/A0x1eba #define XK_Ehook 0x1eba
0N/A0x1ebb #define XK_ehook 0x1ebb
0N/A0x1ebc #define XK_Etilde 0x1ebc
0N/A0x1ebd #define XK_etilde 0x1ebd
0N/A0x1ebe #define XK_Ecircumflexacute 0x1ebe
0N/A0x1ebf #define XK_ecircumflexacute 0x1ebf
0N/A0x1ec0 #define XK_Ecircumflexgrave 0x1ec0
0N/A0x1ec1 #define XK_ecircumflexgrave 0x1ec1
0N/A0x1ec2 #define XK_Ecircumflexhook 0x1ec2
0N/A0x1ec3 #define XK_ecircumflexhook 0x1ec3
0N/A0x1ec4 #define XK_Ecircumflextilde 0x1ec4
0N/A0x1ec5 #define XK_ecircumflextilde 0x1ec5
0N/A0x1ec6 #define XK_Ecircumflexbelowdot 0x1ec6
0N/A0x1ec7 #define XK_ecircumflexbelowdot 0x1ec7
0N/A0x1ec8 #define XK_Ihook 0x1ec8
0N/A0x1ec9 #define XK_ihook 0x1ec9
0N/A0x1eca #define XK_Ibelowdot 0x1eca
0N/A0x1ecb #define XK_ibelowdot 0x1ecb
0N/A0x1ecc #define XK_Obelowdot 0x1ecc
0N/A0x1ecd #define XK_obelowdot 0x1ecd
0N/A0x1ece #define XK_Ohook 0x1ece
0N/A0x1ecf #define XK_ohook 0x1ecf
0N/A0x1ed0 #define XK_Ocircumflexacute 0x1ed0
0N/A0x1ed1 #define XK_ocircumflexacute 0x1ed1
0N/A0x1ed2 #define XK_Ocircumflexgrave 0x1ed2
0N/A0x1ed3 #define XK_ocircumflexgrave 0x1ed3
0N/A0x1ed4 #define XK_Ocircumflexhook 0x1ed4
0N/A0x1ed5 #define XK_ocircumflexhook 0x1ed5
0N/A0x1ed6 #define XK_Ocircumflextilde 0x1ed6
0N/A0x1ed7 #define XK_ocircumflextilde 0x1ed7
0N/A0x1ed8 #define XK_Ocircumflexbelowdot 0x1ed8
0N/A0x1ed9 #define XK_ocircumflexbelowdot 0x1ed9
0N/A0x1eda #define XK_Ohornacute 0x1eda
0N/A0x1edb #define XK_ohornacute 0x1edb
0N/A0x1edc #define XK_Ohorngrave 0x1edc
0N/A0x1edd #define XK_ohorngrave 0x1edd
0N/A0x1ede #define XK_Ohornhook 0x1ede
0N/A0x1edf #define XK_ohornhook 0x1edf
0N/A0x1ee0 #define XK_Ohorntilde 0x1ee0
0N/A0x1ee1 #define XK_ohorntilde 0x1ee1
0N/A0x1ee2 #define XK_Ohornbelowdot 0x1ee2
0N/A0x1ee3 #define XK_ohornbelowdot 0x1ee3
0N/A0x1ee4 #define XK_Ubelowdot 0x1ee4
0N/A0x1ee5 #define XK_ubelowdot 0x1ee5
0N/A0x1ee6 #define XK_Uhook 0x1ee6
0N/A0x1ee7 #define XK_uhook 0x1ee7
0N/A0x1ee8 #define XK_Uhornacute 0x1ee8
0N/A0x1ee9 #define XK_uhornacute 0x1ee9
0N/A0x1eea #define XK_Uhorngrave 0x1eea
0N/A0x1eeb #define XK_uhorngrave 0x1eeb
0N/A0x1eec #define XK_Uhornhook 0x1eec
0N/A0x1eed #define XK_uhornhook 0x1eed
0N/A0x1eee #define XK_Uhorntilde 0x1eee
0N/A0x1eef #define XK_uhorntilde 0x1eef
0N/A0x1ef0 #define XK_Uhornbelowdot 0x1ef0
0N/A0x1ef1 #define XK_uhornbelowdot 0x1ef1
0N/A0x1ef4 #define XK_Ybelowdot 0x1ef4
0N/A0x1ef5 #define XK_ybelowdot 0x1ef5
0N/A0x1ef6 #define XK_Yhook 0x1ef6
0N/A0x1ef7 #define XK_yhook 0x1ef7
0N/A0x1ef8 #define XK_Ytilde 0x1ef8
0N/A0x1ef9 #define XK_ytilde 0x1ef9
0N/A0x01a0 #define XK_Ohorn 0x1efa /* U+01a0 */
0N/A0x01a1 #define XK_ohorn 0x1efb /* U+01a1 */
0N/A0x01af #define XK_Uhorn 0x1efc /* U+01af */
0N/A0x01b0 #define XK_uhorn 0x1efd /* U+01b0 */
0N/A
0N/A0x0000 #define XK_combining_tilde 0x1e9f /* U+0303 */
0N/A0x0000 #define XK_combining_grave 0x1ef2 /* U+0300 */
0N/A0x0000 #define XK_combining_acute 0x1ef3 /* U+0301 */
0N/A0x0000 #define XK_combining_hook 0x1efe /* U+0309 */
0N/A0x0000 #define XK_combining_belowdot 0x1eff /* U+0323 */
0N/A#endif /* XK_VIETNAMESE */
0N/A
0N/A#ifdef XK_CURRENCY
0N/A0x20a0 #define XK_EcuSign 0x20a0
0N/A0x20a1 #define XK_ColonSign 0x20a1
0N/A0x20a2 #define XK_CruzeiroSign 0x20a2
0N/A0x20a3 #define XK_FFrancSign 0x20a3
0N/A0x20a4 #define XK_LiraSign 0x20a4
0N/A0x20a5 #define XK_MillSign 0x20a5
0N/A0x20a6 #define XK_NairaSign 0x20a6
0N/A0x20a7 #define XK_PesetaSign 0x20a7
0N/A0x20a8 #define XK_RupeeSign 0x20a8
0N/A0x20a9 #define XK_WonSign 0x20a9
0N/A0x20aa #define XK_NewSheqelSign 0x20aa
0N/A0x20ab #define XK_DongSign 0x20ab
0N/A0x20ac #define XK_EuroSign 0x20ac
0N/A#endif
0N/A
0N/A//yan: keysyms from vendor headers go here. I don't know many though.
0N/A
0N/A0x0008 #define osfXK_BackSpace 0x1004FF08
0N/A0x001b #define osfXK_Escape 0x1004FF1B
0N/A//XXX ? Esc on Solaris?, to check
0N/A0x0000 #define osfXK_Cancel 0x1004FF69
0N/A0x007f #define osfXK_Delete 0x1004FFFF
0N/A
0N/Atojava
0N/Atojava //XXX fill keysym2JavaKeycodeHash.
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_a), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_A, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_b), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_B, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_c), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_C, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_d), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_D, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_e), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_E, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_f), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_g), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_G, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_h), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_H, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_i), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_I, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_j), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_J, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_k), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_K, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_l), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_L, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_m), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_M, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_n), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_N, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_o), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_O, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_p), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_P, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_q), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Q, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_r), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_R, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_s), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_S, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_t), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_T, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_u), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_U, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_v), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_V, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_w), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_W, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_x), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_X, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_y), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Y, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_z), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Z, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* TTY Function keys */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_BackSpace), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ISO_Left_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Clear), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLEAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Return), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Linefeed), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Pause), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F21), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Scroll_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F23), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Escape), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ESCAPE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Other vendor-specific versions of TTY Function keys */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_BackSpace), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Clear), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLEAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Escape), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ESCAPE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Modifier keys */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Shift_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SHIFT, java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Shift_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SHIFT, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Control_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTROL, java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Control_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTROL, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Alt_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT, java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Alt_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Meta_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META, java.awt.event.KeyEvent.KEY_LOCATION_LEFT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Meta_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Caps_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CAPS_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Misc Functions */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Print), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F22), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Cancel), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CANCEL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Help), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Num_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUM_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava
0N/Atojava /* Other vendor-specific versions of Misc Functions */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Cancel), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CANCEL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Help), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Rectangular Navigation Block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Home), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Page_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Page_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R15), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_End), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R13), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Keypad equivalents of Rectangular Navigation Block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Home), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava 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));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava 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));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_End), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava
0N/Atojava /* Other vendor-specific Rectangular Navigation Block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_PageUp), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_PageDown), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_EndLine), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Triangular Navigation Block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Keypad equivalents of Triangular Navigation Block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_UP, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava
0N/Atojava /* Other vendor-specific Triangular Navigation Block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Remaining Cursor control & motion */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Begin), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BEGIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Begin), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BEGIN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_0), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_0, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_1, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_2, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_3, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_4, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_5, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_6, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_7, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_8, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_9, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_space), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_exclam), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EXCLAMATION_MARK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_quotedbl), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_QUOTEDBL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_numbersign), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMBER_SIGN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dollar), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOLLAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ampersand), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AMPERSAND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_apostrophe), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_QUOTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_parenleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT_PARENTHESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_parenright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT_PARENTHESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_asterisk), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ASTERISK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_plus), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PLUS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_comma), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COMMA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_minus), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MINUS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_period), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PERIOD, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_slash), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SLASH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_colon), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COLON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_semicolon), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SEMICOLON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_less), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LESS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_equal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_greater), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_GREATER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_at), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_bracketleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_OPEN_BRACKET, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_backslash), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SLASH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_bracketright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLOSE_BRACKET, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_asciicircum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_underscore), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDERSCORE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Super_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_WINDOWS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Super_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_WINDOWS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Menu), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTEXT_MENU, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_QUOTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_braceleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BRACELEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_braceright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BRACERIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_exclamdown), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INVERTED_EXCLAMATION_MARK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Remaining Numeric Keypad Keys */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_0), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD0, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD1, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD2, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD3, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD4, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD5, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD6, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD7, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD8, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD9, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Space), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Enter), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Equal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Multiply), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F26), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Add), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ADD, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Separator), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SEPARATOR, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Subtract), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F24), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Decimal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DECIMAL, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Divide), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F25), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD));
0N/Atojava
0N/Atojava /* Function Keys */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F1, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F2, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F3, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F4, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F5, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F6, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F7, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F8, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F9, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F10), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F10, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F11), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F12), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Sun vendor-specific version of F11 and F12 */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_F36), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_F37), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* X11 keysym names for input method related keys don't always
0N/Atojava * match keytop engravings or Java virtual key names, so here we
0N/Atojava * only map constants that we've found on real keyboards.
0N/Atojava */
0N/Atojava /* Type 5c Japanese keyboard: kakutei */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Execute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ACCEPT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava /* Type 5c Japanese keyboard: henkan */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Kanji), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONVERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava /* Type 5c Japanese keyboard: nihongo */
0N/Atojava 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));
0N/Atojava /* VK_KANA_LOCK is handled separately because it generates the
0N/Atojava * same keysym as ALT_GRAPH in spite of its different behavior.
0N/Atojava */
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Multi_key), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COMPOSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Mode_switch), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT_GRAPH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
227N/Atojava 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));
0N/Atojava
0N/Atojava /* Editing block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Redo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava // XXX XK_L2 == F12; TODO: add code to use only one of them depending on the keyboard type. For now, restore
0N/Atojava // good PC behavior and bad but old Sparc behavior.
0N/Atojava // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L10), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Find), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PROPS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava // XXX XK_L1 == F11; TODO: add code to use only one of them depending on the keyboard type. For now, restore
0N/Atojava // good PC behavior and bad but old Sparc behavior.
0N/Atojava // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Sun vendor-specific versions for editing block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Again), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Find), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Props), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PROPS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Stop), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Apollo (HP) vendor-specific versions for editing block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Other vendor-specific versions for editing block */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Dead key mappings (for European keyboards) */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_circumflex), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_macron), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_MACRON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_breve), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_BREVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_abovedot), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVEDOT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_abovering), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVERING, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_doubleacute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DOUBLEACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_caron), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CARON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_cedilla), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_ogonek), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_OGONEK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_iota), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_IOTA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava 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));
0N/Atojava 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));
0N/Atojava
0N/Atojava /* Sun vendor-specific dead key mappings (for European keyboards) */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Circum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Cedilla), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* DEC vendor-specific dead key mappings (for European keyboards) */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_ring_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVERING, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_circumflex_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_cedilla_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_acute_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_grave_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava /* Other vendor-specific dead key mappings (for European keyboards) */
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciicircum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciitilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD));
0N/Atojava
0N/Atojava keysym2JavaKeycodeHash.put( Long.valueOf(XConstants.NoSymbol), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN));
874N/Atojava
874N/Atojava /* Reverse search of keysym by keycode. */
874N/Atojava
874N/Atojava /* Add keyboard locking codes. */
874N/Atojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_CAPS_LOCK, XKeySymConstants.XK_Caps_Lock);
874N/Atojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_NUM_LOCK, XKeySymConstants.XK_Num_Lock);
874N/Atojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_SCROLL_LOCK, XKeySymConstants.XK_Scroll_Lock);
874N/Atojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_KANA_LOCK, XKeySymConstants.XK_Kana_Lock);
0N/Atojava };
0N/Atojava
0N/Atojava }