author | dcherepanov |
Thu, 09 Jul 2009 15:23:22 -0400 | |
changeset 3234 | f0007f6747b0 |
parent 3088 | b0260407a050 |
child 3730 | 81c02474a2c9 |
permissions | -rw-r--r-- |
2 | 1 |
/* |
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
2 |
* Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. |
2 | 3 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 |
* |
|
5 |
* This code is free software; you can redistribute it and/or modify it |
|
6 |
* under the terms of the GNU General Public License version 2 only, as |
|
7 |
* published by the Free Software Foundation. Sun designates this |
|
8 |
* particular file as subject to the "Classpath" exception as provided |
|
9 |
* by Sun in the LICENSE file that accompanied this code. |
|
10 |
* |
|
11 |
* This code is distributed in the hope that it will be useful, but WITHOUT |
|
12 |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
13 |
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
14 |
* version 2 for more details (a copy is included in the LICENSE file that |
|
15 |
* accompanied this code). |
|
16 |
* |
|
17 |
* You should have received a copy of the GNU General Public License version |
|
18 |
* 2 along with this work; if not, write to the Free Software Foundation, |
|
19 |
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
20 |
* |
|
21 |
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
|
22 |
* CA 95054 USA or visit www.sun.com if you need additional information or |
|
23 |
* have any questions. |
|
24 |
*/ |
|
25 |
||
26 |
/* |
|
27 |
* yan: |
|
28 |
* This table looks like C header because |
|
29 |
* (1) I use actual headers to make it; |
|
30 |
* (2) syntax is nicely highlighted in my editor. |
|
31 |
* Processed will be all lines started with 0x; 0x0000-started lines will |
|
32 |
* be skipped though. |
|
33 |
* Also java code will be copied to a resulting file. |
|
34 |
* |
|
35 |
* 0x0000 unicode means here either there's no equivalent to a keysym |
|
36 |
* or we just skip it from the table for now because i.e. we'll never use |
|
37 |
* the conversion in our workflow. |
|
38 |
* |
|
39 |
*/ |
|
40 |
||
41 |
tojava /* |
|
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
42 |
tojava * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. |
2 | 43 |
tojava * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
44 |
tojava * |
|
45 |
tojava * This code is free software; you can redistribute it and/or modify it |
|
46 |
tojava * under the terms of the GNU General Public License version 2 only, as |
|
47 |
tojava * published by the Free Software Foundation. Sun designates this |
|
48 |
tojava * particular file as subject to the "Classpath" exception as provided |
|
49 |
tojava * by Sun in the LICENSE file that accompanied this code. |
|
50 |
tojava * |
|
51 |
tojava * This code is distributed in the hope that it will be useful, but WITHOUT |
|
52 |
tojava * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
53 |
tojava * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
54 |
tojava * version 2 for more details (a copy is included in the LICENSE file that |
|
55 |
tojava * accompanied this code). |
|
56 |
tojava * |
|
57 |
tojava * You should have received a copy of the GNU General Public License version |
|
58 |
tojava * 2 along with this work; if not, write to the Free Software Foundation, |
|
59 |
tojava * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
60 |
tojava * |
|
61 |
tojava * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
|
62 |
tojava * CA 95054 USA or visit www.sun.com if you need additional information or |
|
63 |
tojava * have any questions. |
|
64 |
tojava */ |
|
65 |
tojava |
|
66 |
tojava package sun.awt.X11; |
|
67 |
tojava import java.util.Hashtable; |
|
68 |
tojava import sun.misc.Unsafe; |
|
69 |
tojava |
|
2803
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
70 |
tojava import java.util.logging.Level; |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
71 |
tojava import java.util.logging.Logger; |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
72 |
tojava |
2 | 73 |
tojava public class XKeysym { |
74 |
tojava |
|
75 |
tojava public static void main( String args[] ) { |
|
76 |
tojava System.out.println( "Cyrillc zhe:"+convertKeysym(0x06d6, 0)); |
|
77 |
tojava System.out.println( "Arabic sheen:"+convertKeysym(0x05d4, 0)); |
|
78 |
tojava System.out.println( "Latin a breve:"+convertKeysym(0x01e3, 0)); |
|
79 |
tojava System.out.println( "Latin f:"+convertKeysym(0x066, 0)); |
|
80 |
tojava System.out.println( "Backspace:"+Integer.toHexString(convertKeysym(0xff08, 0))); |
|
81 |
tojava System.out.println( "Ctrl+f:"+Integer.toHexString(convertKeysym(0x066, XConstants.ControlMask))); |
|
82 |
tojava } |
|
83 |
tojava |
|
84 |
tojava private XKeysym() {} |
|
85 |
tojava |
|
86 |
tojava static class Keysym2JavaKeycode { |
|
87 |
tojava int jkeycode; |
|
88 |
tojava int keyLocation; |
|
89 |
tojava int getJavaKeycode() { |
|
90 |
tojava return jkeycode; |
|
91 |
tojava } |
|
92 |
tojava int getKeyLocation() { |
|
93 |
tojava return keyLocation; |
|
94 |
tojava } |
|
95 |
tojava Keysym2JavaKeycode(int jk, int loc) { |
|
96 |
tojava jkeycode = jk; |
|
97 |
tojava keyLocation = loc; |
|
98 |
tojava } |
|
99 |
tojava }; |
|
100 |
tojava private static Unsafe unsafe = XlibWrapper.unsafe; |
|
101 |
tojava static Hashtable<Long, Keysym2JavaKeycode> keysym2JavaKeycodeHash = new Hashtable<Long, Keysym2JavaKeycode>(); |
|
102 |
tojava static Hashtable<Long, Character> keysym2UCSHash = new Hashtable<Long, Character>(); |
|
103 |
tojava static Hashtable<Long, Long> uppercaseHash = new Hashtable<Long, Long>(); |
|
104 |
tojava // TODO: or not to do: add reverse lookup javakeycode2keysym, |
|
105 |
tojava // for robot only it seems to me. After that, we can remove lookup table |
|
106 |
tojava // from XWindow.c altogether. |
|
1966
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
107 |
tojava // Another use for reverse lookup: query keyboard state, for some keys. |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
108 |
tojava static Hashtable<Integer, Long> javaKeycode2KeysymHash = new Hashtable<Integer, Long>(); |
2 | 109 |
tojava static long keysym_lowercase = unsafe.allocateMemory(Native.getLongSize()); |
110 |
tojava static long keysym_uppercase = unsafe.allocateMemory(Native.getLongSize()); |
|
2803
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
111 |
tojava private static Logger keyEventLog = Logger.getLogger("sun.awt.X11.kye.XKeysym"); |
2 | 112 |
tojava public static char convertKeysym( long ks, int state ) { |
113 |
tojava |
|
114 |
tojava /* First check for Latin-1 characters (1:1 mapping) */ |
|
115 |
tojava if ((ks >= 0x0020 && ks <= 0x007e) || |
|
116 |
tojava (ks >= 0x00a0 && ks <= 0x00ff)) { |
|
117 |
tojava if( (state & XConstants.ControlMask) != 0 ) { |
|
118 |
tojava if ((ks >= 'A' && ks <= ']') || (ks == '_') || |
|
119 |
tojava (ks >= 'a' && ks <='z')) { |
|
120 |
tojava ks &= 0x1F; |
|
121 |
tojava } |
|
122 |
tojava } |
|
123 |
tojava return (char)ks; |
|
124 |
tojava } |
|
125 |
tojava |
|
126 |
tojava /* XXX: Also check for directly encoded 24-bit UCS characters: |
|
127 |
tojava */ |
|
128 |
tojava if ((ks & 0xff000000) == 0x01000000) |
|
129 |
tojava return (char)(ks & 0x00ffffff); |
|
130 |
tojava |
|
131 |
tojava Character ch = keysym2UCSHash.get(ks); |
|
132 |
tojava return ch == null ? (char)0 : ch.charValue(); |
|
133 |
tojava } |
|
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
134 |
tojava static long xkeycode2keysym_noxkb(XKeyEvent ev, int ndx) { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
135 |
tojava XToolkit.awtLock(); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
136 |
tojava try { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
137 |
tojava return XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
138 |
tojava } finally { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
139 |
tojava XToolkit.awtUnlock(); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
140 |
tojava } |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
141 |
tojava } |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
142 |
tojava static long xkeycode2keysym_xkb(XKeyEvent ev, int ndx) { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
143 |
tojava XToolkit.awtLock(); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
144 |
tojava try { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
145 |
tojava int mods = ev.get_state(); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
146 |
tojava if ((ndx == 0) && ((mods & XConstants.ShiftMask) != 0)) { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
147 |
tojava // I don't know all possible meanings of 'ndx' in case of XKB |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
148 |
tojava // and don't want to speculate. But this particular case |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
149 |
tojava // clearly means that caller needs a so called primary keysym. |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
150 |
tojava mods ^= XConstants.ShiftMask; |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
151 |
tojava } |
2803
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
152 |
tojava long kbdDesc = XToolkit.getXKBKbdDesc(); |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
153 |
tojava if( kbdDesc != 0 ) { |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
154 |
tojava XlibWrapper.XkbTranslateKeyCode(kbdDesc, ev.get_keycode(), |
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
155 |
tojava mods, XlibWrapper.iarg1, XlibWrapper.larg3); |
2803
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
156 |
tojava }else{ |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
157 |
tojava // xkb resources already gone |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
158 |
tojava keyEventLog.fine("Thread race: Toolkit shutdown before the end of a key event processing."); |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
159 |
tojava return 0; |
e0fa1a27f1c1
6834525: PIT: RowToleranceTransitivityTest test fail with crash on rhel4 x86 and rhel 5x86
yan
parents:
2473
diff
changeset
|
160 |
tojava } |
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
161 |
tojava //XXX unconsumed modifiers? |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
162 |
tojava return Native.getLong(XlibWrapper.larg3); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
163 |
tojava } finally { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
164 |
tojava XToolkit.awtUnlock(); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
165 |
tojava } |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
166 |
tojava } |
2 | 167 |
tojava static long xkeycode2keysym(XKeyEvent ev, int ndx) { |
168 |
tojava XToolkit.awtLock(); |
|
169 |
tojava try { |
|
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
170 |
tojava if (XToolkit.canUseXKBCalls()) { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
171 |
tojava return xkeycode2keysym_xkb(ev, ndx); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
172 |
tojava }else{ |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
173 |
tojava return xkeycode2keysym_noxkb(ev, ndx); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
174 |
tojava } |
2 | 175 |
tojava } finally { |
176 |
tojava XToolkit.awtUnlock(); |
|
177 |
tojava } |
|
178 |
tojava } |
|
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
179 |
tojava static long xkeycode2primary_keysym(XKeyEvent ev) { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
180 |
tojava return xkeycode2keysym(ev, 0); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
181 |
tojava } |
2 | 182 |
tojava public static boolean isKPEvent( XKeyEvent ev ) |
183 |
tojava { |
|
184 |
tojava // Xsun without XKB uses keysymarray[2] keysym to determine if it is KP event. |
|
185 |
tojava // Otherwise, it is [1]. |
|
3088 | 186 |
tojava int ndx = XToolkit.isXsunKPBehavior() && |
2 | 187 |
tojava ! XToolkit.isXKBenabled() ? 2 : 1; |
1187
6067b9e2eac6
6454041: decimal separator munches the character standing at the right (sk keyboard)
yan
parents:
450
diff
changeset
|
188 |
tojava // Even if XKB is enabled, we have another problem: some symbol tables (e.g. cz) force |
6067b9e2eac6
6454041: decimal separator munches the character standing at the right (sk keyboard)
yan
parents:
450
diff
changeset
|
189 |
tojava // a regular comma instead of KP_comma for a decimal separator. Result is, |
6067b9e2eac6
6454041: decimal separator munches the character standing at the right (sk keyboard)
yan
parents:
450
diff
changeset
|
190 |
tojava // bugs like 6454041. So, we will try for keypadness a keysym with ndx==0 as well. |
2 | 191 |
tojava XToolkit.awtLock(); |
192 |
tojava try { |
|
1187
6067b9e2eac6
6454041: decimal separator munches the character standing at the right (sk keyboard)
yan
parents:
450
diff
changeset
|
193 |
tojava return (XlibWrapper.IsKeypadKey( |
6067b9e2eac6
6454041: decimal separator munches the character standing at the right (sk keyboard)
yan
parents:
450
diff
changeset
|
194 |
tojava XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), ndx ) ) || |
6067b9e2eac6
6454041: decimal separator munches the character standing at the right (sk keyboard)
yan
parents:
450
diff
changeset
|
195 |
tojava XlibWrapper.IsKeypadKey( |
6067b9e2eac6
6454041: decimal separator munches the character standing at the right (sk keyboard)
yan
parents:
450
diff
changeset
|
196 |
tojava XlibWrapper.XKeycodeToKeysym(ev.get_display(), ev.get_keycode(), 0 ) )); |
2 | 197 |
tojava } finally { |
198 |
tojava XToolkit.awtUnlock(); |
|
199 |
tojava } |
|
200 |
tojava } |
|
201 |
tojava /** |
|
202 |
tojava Return uppercase keysym correspondent to a given keysym. |
|
203 |
tojava If input keysym does not belong to any lower/uppercase pair, return -1. |
|
204 |
tojava */ |
|
205 |
tojava public static long getUppercaseAlphabetic( long keysym ) { |
|
206 |
tojava long lc = -1; |
|
207 |
tojava long uc = -1; |
|
208 |
tojava Long stored = uppercaseHash.get(keysym); |
|
209 |
tojava if (stored != null ) { |
|
210 |
tojava return stored.longValue(); |
|
211 |
tojava } |
|
212 |
tojava XToolkit.awtLock(); |
|
213 |
tojava try { |
|
214 |
tojava XlibWrapper.XConvertCase(keysym, keysym_lowercase, keysym_uppercase); |
|
215 |
tojava lc = Native.getLong(keysym_lowercase); |
|
216 |
tojava uc = Native.getLong(keysym_uppercase); |
|
217 |
tojava if (lc == uc) { |
|
218 |
tojava //not applicable |
|
219 |
tojava uc = -1; |
|
220 |
tojava } |
|
221 |
tojava uppercaseHash.put(keysym, uc); |
|
222 |
tojava } finally { |
|
223 |
tojava XToolkit.awtUnlock(); |
|
224 |
tojava } |
|
225 |
tojava return uc; |
|
226 |
tojava } |
|
227 |
tojava /** |
|
228 |
tojava Get a keypad keysym derived from a keycode. |
|
229 |
tojava I do not check if this is a keypad event, I just presume it. |
|
230 |
tojava */ |
|
231 |
tojava private static long getKeypadKeysym( XKeyEvent ev ) { |
|
232 |
tojava int ndx = 0; |
|
233 |
tojava long keysym = XConstants.NoSymbol; |
|
3088 | 234 |
tojava if( XToolkit.isXsunKPBehavior() && |
2 | 235 |
tojava ! XToolkit.isXKBenabled() ) { |
236 |
tojava if( (ev.get_state() & XConstants.ShiftMask) != 0 ) { // shift modifier is on |
|
237 |
tojava ndx = 3; |
|
238 |
tojava keysym = xkeycode2keysym(ev, ndx); |
|
239 |
tojava } else { |
|
240 |
tojava ndx = 2; |
|
241 |
tojava keysym = xkeycode2keysym(ev, ndx); |
|
242 |
tojava } |
|
243 |
tojava } else { |
|
244 |
tojava if( (ev.get_state() & XConstants.ShiftMask) != 0 || // shift modifier is on |
|
245 |
tojava ((ev.get_state() & XConstants.LockMask) != 0 && // lock modifier is on |
|
246 |
tojava (XToolkit.modLockIsShiftLock != 0)) ) { // it is interpreted as ShiftLock |
|
247 |
tojava ndx = 0; |
|
248 |
tojava keysym = xkeycode2keysym(ev, ndx); |
|
249 |
tojava } else { |
|
250 |
tojava ndx = 1; |
|
251 |
tojava keysym = xkeycode2keysym(ev, ndx); |
|
252 |
tojava } |
|
253 |
tojava } |
|
254 |
tojava return keysym; |
|
255 |
tojava } |
|
256 |
tojava /** |
|
257 |
tojava Return java.awt.KeyEvent constant meaning (Java) keycode, derived from X Window KeyEvent. |
|
258 |
tojava Algorithm is, extract via XKeycodeToKeysym a proper keysym according to Xlib spec rules and |
|
259 |
tojava err exceptions, then search a java keycode in a table. |
|
260 |
tojava Some keysyms maps to more than one keycode, these would require extra processing. If someone |
|
261 |
tojava points me to such a keysym. |
|
262 |
tojava */ |
|
263 |
tojava static Keysym2JavaKeycode getJavaKeycode( XKeyEvent ev ) { |
|
264 |
tojava // get from keysym2JavaKeycodeHash. |
|
265 |
tojava long keysym = XConstants.NoSymbol; |
|
266 |
tojava int ndx = 0; |
|
267 |
tojava if( (ev.get_state() & XToolkit.numLockMask) != 0 && |
|
268 |
tojava isKPEvent(ev)) { |
|
269 |
tojava keysym = getKeypadKeysym( ev ); |
|
270 |
tojava } else { |
|
271 |
tojava // we only need primary-layer keysym to derive a java keycode. |
|
272 |
tojava ndx = 0; |
|
273 |
tojava keysym = xkeycode2keysym(ev, ndx); |
|
274 |
tojava } |
|
275 |
tojava |
|
276 |
tojava Keysym2JavaKeycode jkc = keysym2JavaKeycodeHash.get( keysym ); |
|
277 |
tojava return jkc; |
|
278 |
tojava } |
|
279 |
tojava static int getJavaKeycodeOnly( XKeyEvent ev ) { |
|
280 |
tojava Keysym2JavaKeycode jkc = getJavaKeycode( ev ); |
|
281 |
tojava return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode(); |
|
282 |
tojava } |
|
2473
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
283 |
tojava /** |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
284 |
tojava * Return an integer java keycode apprx as it was before extending keycodes range. |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
285 |
tojava * This call would ignore for instance XKB and process whatever is on the bottom |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
286 |
tojava * of keysym stack. Result will not depend on actual locale, will differ between |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
287 |
tojava * dual/multiple keyboard setup systems (e.g. English+Russian vs French+Russian) |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
288 |
tojava * but will be someway compatible with old releases. |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
289 |
tojava */ |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
290 |
tojava static int getLegacyJavaKeycodeOnly( XKeyEvent ev ) { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
291 |
tojava long keysym = XConstants.NoSymbol; |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
292 |
tojava int ndx = 0; |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
293 |
tojava if( (ev.get_state() & XToolkit.numLockMask) != 0 && |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
294 |
tojava isKPEvent(ev)) { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
295 |
tojava keysym = getKeypadKeysym( ev ); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
296 |
tojava } else { |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
297 |
tojava // we only need primary-layer keysym to derive a java keycode. |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
298 |
tojava ndx = 0; |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
299 |
tojava keysym = xkeycode2keysym_noxkb(ev, ndx); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
300 |
tojava } |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
301 |
tojava Keysym2JavaKeycode jkc = keysym2JavaKeycodeHash.get( keysym ); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
302 |
tojava return jkc == null ? java.awt.event.KeyEvent.VK_UNDEFINED : jkc.getJavaKeycode(); |
3f4bbd3be2f1
6680988: KeyEvent is still missing VK values for many keyboards
yan
parents:
1966
diff
changeset
|
303 |
tojava } |
1966
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
304 |
tojava static long javaKeycode2Keysym( int jkey ) { |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
305 |
tojava Long ks = javaKeycode2KeysymHash.get( jkey ); |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
306 |
tojava return (ks == null ? 0 : ks.longValue()); |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
307 |
tojava } |
2 | 308 |
tojava /** |
309 |
tojava Return keysym derived from a keycode and modifiers. |
|
310 |
tojava Usually an input method does this. However non-system input methods (e.g. Java IMs) do not. |
|
311 |
tojava For rules, see "Xlib - C Language X Interface", |
|
312 |
tojava MIT X Consortium Standard |
|
313 |
tojava X Version 11, Release 6 |
|
314 |
tojava Ch. 12.7 |
|
315 |
tojava XXX TODO: or maybe not to do: process Mode Lock and therefore |
|
316 |
tojava not only 0-th and 1-st but 2-nd and 3-rd keysyms for a keystroke. |
|
317 |
tojava */ |
|
318 |
tojava static long getKeysym( XKeyEvent ev ) { |
|
319 |
tojava long keysym = XConstants.NoSymbol; |
|
320 |
tojava long uppercaseKeysym = XConstants.NoSymbol; |
|
321 |
tojava int ndx = 0; |
|
322 |
tojava boolean getUppercase = false; |
|
323 |
tojava if ((ev.get_state() & XToolkit.numLockMask) != 0 && |
|
324 |
tojava isKPEvent(ev)) { |
|
325 |
tojava keysym = getKeypadKeysym( ev ); |
|
326 |
tojava } else { |
|
327 |
tojava // XXX: at this point, anything in keysym[23] is ignored. |
|
328 |
tojava // |
|
329 |
tojava // Shift & Lock are off ===> ndx = 0; |
|
330 |
tojava // Shift off & Lock on & Lock is CapsLock ===> ndx = 0; |
|
331 |
tojava // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used. |
|
332 |
tojava // Shift on & Lock on & Lock is CapsLock ===> ndx == 1; |
|
333 |
tojava // if keysym[ndx] is lowecase alphabetic, then corresp. uppercase used. |
|
334 |
tojava // Shift on || (Lock on & Lock is ShiftLock) ===> ndx = 1. |
|
335 |
tojava if ((ev.get_state() & XConstants.ShiftMask) == 0) { // shift is off |
|
336 |
tojava if ((ev.get_state() & XConstants.LockMask) == 0 ) { // lock is off |
|
337 |
tojava ndx = 0; |
|
338 |
tojava getUppercase = false; |
|
339 |
tojava } else if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on |
|
340 |
tojava (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock |
|
341 |
tojava ndx = 0; |
|
342 |
tojava getUppercase = true; |
|
343 |
tojava } else if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on |
|
344 |
tojava (XToolkit.modLockIsShiftLock != 0)) { // lock is shift lock |
|
345 |
tojava ndx = 1; |
|
346 |
tojava getUppercase = false; |
|
347 |
tojava } |
|
348 |
tojava } else { // shift on |
|
349 |
tojava if ((ev.get_state() & XConstants.LockMask) != 0 && // lock is on |
|
350 |
tojava (XToolkit.modLockIsShiftLock == 0)) { // lock is capslock |
|
351 |
tojava ndx = 1; |
|
352 |
tojava getUppercase = true; |
|
353 |
tojava } else { |
|
354 |
tojava ndx = 1; |
|
355 |
tojava getUppercase = false; |
|
356 |
tojava } |
|
357 |
tojava } |
|
358 |
tojava keysym = xkeycode2keysym(ev, ndx); |
|
359 |
tojava if (getUppercase && (uppercaseKeysym = getUppercaseAlphabetic( keysym )) != -1) { |
|
360 |
tojava keysym = uppercaseKeysym; |
|
361 |
tojava } |
|
362 |
tojava } |
|
363 |
tojava return keysym; |
|
364 |
tojava } |
|
365 |
tojava |
|
366 |
tojava static { |
|
367 |
||
368 |
/*********************************************************** |
|
369 |
Copyright 1987, 1994, 1998 The Open Group |
|
370 |
||
371 |
Permission to use, copy, modify, distribute, and sell this software and its |
|
372 |
documentation for any purpose is hereby granted without fee, provided that |
|
373 |
the above copyright notice appear in all copies and that both that |
|
374 |
copyright notice and this permission notice appear in supporting |
|
375 |
documentation. |
|
376 |
||
377 |
The above copyright notice and this permission notice shall be included |
|
378 |
in all copies or substantial portions of the Software. |
|
379 |
||
380 |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
|
381 |
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|
382 |
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
|
383 |
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR |
|
384 |
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
|
385 |
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
386 |
OTHER DEALINGS IN THE SOFTWARE. |
|
387 |
||
388 |
Except as contained in this notice, the name of The Open Group shall |
|
389 |
not be used in advertising or otherwise to promote the sale, use or |
|
390 |
other dealings in this Software without prior written authorization |
|
391 |
from The Open Group. |
|
392 |
||
393 |
||
394 |
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts |
|
395 |
||
396 |
All Rights Reserved |
|
397 |
||
398 |
Permission to use, copy, modify, and distribute this software and its |
|
399 |
documentation for any purpose and without fee is hereby granted, |
|
400 |
provided that the above copyright notice appear in all copies and that |
|
401 |
both that copyright notice and this permission notice appear in |
|
402 |
supporting documentation, and that the name of Digital not be |
|
403 |
used in advertising or publicity pertaining to distribution of the |
|
404 |
software without specific, written prior permission. |
|
405 |
||
406 |
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING |
|
407 |
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL |
|
408 |
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR |
|
409 |
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, |
|
410 |
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, |
|
411 |
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS |
|
412 |
SOFTWARE. |
|
413 |
||
414 |
******************************************************************/ |
|
415 |
||
416 |
/* |
|
417 |
* TTY Functions, cleverly chosen to map to ascii, for convenience of |
|
418 |
* programming, but could have been arbitrary (at the cost of lookup |
|
419 |
* tables in client code. |
|
420 |
*/ |
|
421 |
||
422 |
0x0008 #define XK_BackSpace 0xFF08 /* back space, back char */ |
|
423 |
0x0009 #define XK_Tab 0xFF09 |
|
424 |
0x000a #define XK_Linefeed 0xFF0A /* Linefeed, LF */ |
|
425 |
0x000b #define XK_Clear 0xFF0B |
|
426 |
/*XXX map to 0a instead of 0d - why? for some good reason I hope */ |
|
427 |
0x000a #define XK_Return 0xFF0D /* Return, enter */ |
|
428 |
0x0000 #define XK_Pause 0xFF13 /* Pause, hold */ |
|
429 |
0x0000 #define XK_Scroll_Lock 0xFF14 |
|
430 |
0x0000 #define XK_Sys_Req 0xFF15 |
|
431 |
0x001B #define XK_Escape 0xFF1B |
|
432 |
0x007F #define XK_Delete 0xFFFF /* Delete, rubout */ |
|
433 |
||
434 |
||
435 |
||
436 |
/* International & multi-key character composition */ |
|
437 |
||
438 |
0x0000 #define XK_Multi_key 0xFF20 /* Multi-key character compose */ |
|
439 |
0x0000 #define XK_Codeinput 0xFF37 |
|
440 |
0x0000 #define XK_SingleCandidate 0xFF3C |
|
441 |
0x0000 #define XK_MultipleCandidate 0xFF3D |
|
442 |
0x0000 #define XK_PreviousCandidate 0xFF3E |
|
443 |
||
444 |
/* Japanese keyboard support */ |
|
445 |
||
446 |
0x0000 #define XK_Kanji 0xFF21 /* Kanji, Kanji convert */ |
|
447 |
0x0000 #define XK_Muhenkan 0xFF22 /* Cancel Conversion */ |
|
448 |
0x0000 #define XK_Henkan_Mode 0xFF23 /* Start/Stop Conversion */ |
|
449 |
0x0000 #define XK_Henkan 0xFF23 /* Alias for Henkan_Mode */ |
|
450 |
0x0000 #define XK_Romaji 0xFF24 /* to Romaji */ |
|
451 |
0x0000 #define XK_Hiragana 0xFF25 /* to Hiragana */ |
|
452 |
0x0000 #define XK_Katakana 0xFF26 /* to Katakana */ |
|
453 |
0x0000 #define XK_Hiragana_Katakana 0xFF27 /* Hiragana/Katakana toggle */ |
|
454 |
0x0000 #define XK_Zenkaku 0xFF28 /* to Zenkaku */ |
|
455 |
0x0000 #define XK_Hankaku 0xFF29 /* to Hankaku */ |
|
456 |
0x0000 #define XK_Zenkaku_Hankaku 0xFF2A /* Zenkaku/Hankaku toggle */ |
|
457 |
0x0000 #define XK_Touroku 0xFF2B /* Add to Dictionary */ |
|
458 |
0x0000 #define XK_Massyo 0xFF2C /* Delete from Dictionary */ |
|
459 |
0x0000 #define XK_Kana_Lock 0xFF2D /* Kana Lock */ |
|
460 |
0x0000 #define XK_Kana_Shift 0xFF2E /* Kana Shift */ |
|
461 |
0x0000 #define XK_Eisu_Shift 0xFF2F /* Alphanumeric Shift */ |
|
462 |
0x0000 #define XK_Eisu_toggle 0xFF30 /* Alphanumeric toggle */ |
|
463 |
0x0000 #define XK_Kanji_Bangou 0xFF37 /* Codeinput */ |
|
464 |
0x0000 #define XK_Zen_Koho 0xFF3D /* Multiple/All Candidate(s) */ |
|
465 |
0x0000 #define XK_Mae_Koho 0xFF3E /* Previous Candidate */ |
|
466 |
||
467 |
/* Cursor control & motion */ |
|
468 |
||
469 |
0x0000 #define XK_Home 0xFF50 |
|
470 |
0x0000 #define XK_Left 0xFF51 /* Move left, left arrow */ |
|
471 |
0x0000 #define XK_Up 0xFF52 /* Move up, up arrow */ |
|
472 |
0x0000 #define XK_Right 0xFF53 /* Move right, right arrow */ |
|
473 |
0x0000 #define XK_Down 0xFF54 /* Move down, down arrow */ |
|
474 |
0x0000 #define XK_Prior 0xFF55 /* Prior, previous */ |
|
475 |
0x0000 #define XK_Page_Up 0xFF55 |
|
476 |
0x0000 #define XK_Next 0xFF56 /* Next */ |
|
477 |
0x0000 #define XK_Page_Down 0xFF56 |
|
478 |
0x0000 #define XK_End 0xFF57 /* EOL */ |
|
479 |
0x0000 #define XK_Begin 0xFF58 /* BOL */ |
|
480 |
||
481 |
||
482 |
/* Misc Functions */ |
|
483 |
||
484 |
0x0000 #define XK_Select 0xFF60 /* Select, mark */ |
|
485 |
0x0000 #define XK_Print 0xFF61 |
|
486 |
0x0000 #define XK_Execute 0xFF62 /* Execute, run, do */ |
|
487 |
0x0000 #define XK_Insert 0xFF63 /* Insert, insert here */ |
|
488 |
0x0000 #define XK_Undo 0xFF65 /* Undo, oops */ |
|
489 |
0x0000 #define XK_Redo 0xFF66 /* redo, again */ |
|
490 |
0x0000 #define XK_Menu 0xFF67 |
|
491 |
0x0000 #define XK_Find 0xFF68 /* Find, search */ |
|
492 |
0x0000 #define XK_Cancel 0xFF69 /* Cancel, stop, abort, exit */ |
|
493 |
0x0000 #define XK_Help 0xFF6A /* Help */ |
|
494 |
0x0000 #define XK_Break 0xFF6B |
|
495 |
0x0000 #define XK_Mode_switch 0xFF7E /* Character set switch */ |
|
496 |
0x0000 #define XK_script_switch 0xFF7E /* Alias for mode_switch */ |
|
497 |
0x0000 #define XK_Num_Lock 0xFF7F |
|
498 |
||
499 |
/* Keypad Functions, keypad numbers cleverly chosen to map to ascii */ |
|
500 |
||
501 |
0x0020 #define XK_KP_Space 0xFF80 /* space */ |
|
502 |
0x0009 #define XK_KP_Tab 0xFF89 |
|
503 |
0x000A #define XK_KP_Enter 0xFF8D /* enter: note that it is again 0A */ |
|
504 |
0x0000 #define XK_KP_F1 0xFF91 /* PF1, KP_A, ... */ |
|
505 |
0x0000 #define XK_KP_F2 0xFF92 |
|
506 |
0x0000 #define XK_KP_F3 0xFF93 |
|
507 |
0x0000 #define XK_KP_F4 0xFF94 |
|
508 |
0x0000 #define XK_KP_Home 0xFF95 |
|
509 |
0x0000 #define XK_KP_Left 0xFF96 |
|
510 |
0x0000 #define XK_KP_Up 0xFF97 |
|
511 |
0x0000 #define XK_KP_Right 0xFF98 |
|
512 |
0x0000 #define XK_KP_Down 0xFF99 |
|
513 |
0x0000 #define XK_KP_Prior 0xFF9A |
|
514 |
0x0000 #define XK_KP_Page_Up 0xFF9A |
|
515 |
0x0000 #define XK_KP_Next 0xFF9B |
|
516 |
0x0000 #define XK_KP_Page_Down 0xFF9B |
|
517 |
0x0000 #define XK_KP_End 0xFF9C |
|
518 |
0x0000 #define XK_KP_Begin 0xFF9D |
|
519 |
0x0000 #define XK_KP_Insert 0xFF9E |
|
520 |
0x007F #define XK_KP_Delete 0xFF9F |
|
521 |
0x003d #define XK_KP_Equal 0xFFBD /* equals */ |
|
522 |
0x002a #define XK_KP_Multiply 0xFFAA |
|
523 |
0x002b #define XK_KP_Add 0xFFAB |
|
524 |
0x002c #define XK_KP_Separator 0xFFAC /* separator, often comma */ |
|
525 |
0x002d #define XK_KP_Subtract 0xFFAD |
|
526 |
0x002e #define XK_KP_Decimal 0xFFAE |
|
527 |
0x002f #define XK_KP_Divide 0xFFAF |
|
528 |
||
529 |
0x0030 #define XK_KP_0 0xFFB0 |
|
530 |
0x0031 #define XK_KP_1 0xFFB1 |
|
531 |
0x0032 #define XK_KP_2 0xFFB2 |
|
532 |
0x0033 #define XK_KP_3 0xFFB3 |
|
533 |
0x0034 #define XK_KP_4 0xFFB4 |
|
534 |
0x0035 #define XK_KP_5 0xFFB5 |
|
535 |
0x0036 #define XK_KP_6 0xFFB6 |
|
536 |
0x0037 #define XK_KP_7 0xFFB7 |
|
537 |
0x0038 #define XK_KP_8 0xFFB8 |
|
538 |
0x0039 #define XK_KP_9 0xFFB9 |
|
539 |
||
540 |
||
541 |
||
542 |
/* |
|
543 |
* Auxilliary Functions; note the duplicate definitions for left and right |
|
544 |
* function keys; Sun keyboards and a few other manufactures have such |
|
545 |
* function key groups on the left and/or right sides of the keyboard. |
|
546 |
* We've not found a keyboard with more than 35 function keys total. |
|
547 |
*/ |
|
548 |
||
549 |
0x0000 #define XK_F1 0xFFBE |
|
550 |
0x0000 #define XK_F2 0xFFBF |
|
551 |
0x0000 #define XK_F3 0xFFC0 |
|
552 |
0x0000 #define XK_F4 0xFFC1 |
|
553 |
0x0000 #define XK_F5 0xFFC2 |
|
554 |
0x0000 #define XK_F6 0xFFC3 |
|
555 |
0x0000 #define XK_F7 0xFFC4 |
|
556 |
0x0000 #define XK_F8 0xFFC5 |
|
557 |
0x0000 #define XK_F9 0xFFC6 |
|
558 |
0x0000 #define XK_F10 0xFFC7 |
|
559 |
0x0000 #define XK_F11 0xFFC8 |
|
560 |
0x0000 #define XK_L1 0xFFC8 |
|
561 |
0x0000 #define XK_F12 0xFFC9 |
|
562 |
0x0000 #define XK_L2 0xFFC9 |
|
563 |
0x0000 #define XK_F13 0xFFCA |
|
564 |
0x0000 #define XK_L3 0xFFCA |
|
565 |
0x0000 #define XK_F14 0xFFCB |
|
566 |
0x0000 #define XK_L4 0xFFCB |
|
567 |
0x0000 #define XK_F15 0xFFCC |
|
568 |
0x0000 #define XK_L5 0xFFCC |
|
569 |
0x0000 #define XK_F16 0xFFCD |
|
570 |
0x0000 #define XK_L6 0xFFCD |
|
571 |
0x0000 #define XK_F17 0xFFCE |
|
572 |
0x0000 #define XK_L7 0xFFCE |
|
573 |
0x0000 #define XK_F18 0xFFCF |
|
574 |
0x0000 #define XK_L8 0xFFCF |
|
575 |
0x0000 #define XK_F19 0xFFD0 |
|
576 |
0x0000 #define XK_L9 0xFFD0 |
|
577 |
0x0000 #define XK_F20 0xFFD1 |
|
578 |
0x0000 #define XK_L10 0xFFD1 |
|
579 |
0x0000 #define XK_F21 0xFFD2 |
|
580 |
0x0000 #define XK_R1 0xFFD2 |
|
581 |
0x0000 #define XK_F22 0xFFD3 |
|
582 |
0x0000 #define XK_R2 0xFFD3 |
|
583 |
0x0000 #define XK_F23 0xFFD4 |
|
584 |
0x0000 #define XK_R3 0xFFD4 |
|
585 |
0x0000 #define XK_F24 0xFFD5 |
|
586 |
0x0000 #define XK_R4 0xFFD5 |
|
587 |
0x0000 #define XK_F25 0xFFD6 |
|
588 |
0x0000 #define XK_R5 0xFFD6 |
|
589 |
0x0000 #define XK_F26 0xFFD7 |
|
590 |
0x0000 #define XK_R6 0xFFD7 |
|
591 |
0x0000 #define XK_F27 0xFFD8 |
|
592 |
0x0000 #define XK_R7 0xFFD8 |
|
593 |
0x0000 #define XK_F28 0xFFD9 |
|
594 |
0x0000 #define XK_R8 0xFFD9 |
|
595 |
0x0000 #define XK_F29 0xFFDA |
|
596 |
0x0000 #define XK_R9 0xFFDA |
|
597 |
0x0000 #define XK_F30 0xFFDB |
|
598 |
0x0000 #define XK_R10 0xFFDB |
|
599 |
0x0000 #define XK_F31 0xFFDC |
|
600 |
0x0000 #define XK_R11 0xFFDC |
|
601 |
0x0000 #define XK_F32 0xFFDD |
|
602 |
0x0000 #define XK_R12 0xFFDD |
|
603 |
0x0000 #define XK_F33 0xFFDE |
|
604 |
0x0000 #define XK_R13 0xFFDE |
|
605 |
0x0000 #define XK_F34 0xFFDF |
|
606 |
0x0000 #define XK_R14 0xFFDF |
|
607 |
0x0000 #define XK_F35 0xFFE0 |
|
608 |
0x0000 #define XK_R15 0xFFE0 |
|
609 |
||
610 |
/* Modifiers */ |
|
611 |
||
612 |
0x0000 #define XK_Shift_L 0xFFE1 /* Left shift */ |
|
613 |
0x0000 #define XK_Shift_R 0xFFE2 /* Right shift */ |
|
614 |
0x0000 #define XK_Control_L 0xFFE3 /* Left control */ |
|
615 |
0x0000 #define XK_Control_R 0xFFE4 /* Right control */ |
|
616 |
0x0000 #define XK_Caps_Lock 0xFFE5 /* Caps lock */ |
|
617 |
0x0000 #define XK_Shift_Lock 0xFFE6 /* Shift lock */ |
|
618 |
||
619 |
0x0000 #define XK_Meta_L 0xFFE7 /* Left meta */ |
|
620 |
0x0000 #define XK_Meta_R 0xFFE8 /* Right meta */ |
|
621 |
0x0000 #define XK_Alt_L 0xFFE9 /* Left alt */ |
|
622 |
0x0000 #define XK_Alt_R 0xFFEA /* Right alt */ |
|
623 |
0x0000 #define XK_Super_L 0xFFEB /* Left super */ |
|
624 |
0x0000 #define XK_Super_R 0xFFEC /* Right super */ |
|
625 |
0x0000 #define XK_Hyper_L 0xFFED /* Left hyper */ |
|
626 |
0x0000 #define XK_Hyper_R 0xFFEE /* Right hyper */ |
|
627 |
#endif /* XK_MISCELLANY */ |
|
628 |
||
629 |
/* |
|
630 |
* ISO 9995 Function and Modifier Keys |
|
631 |
* Byte 3 = 0xFE |
|
632 |
*/ |
|
633 |
||
634 |
#ifdef XK_XKB_KEYS |
|
635 |
0x0000 #define XK_ISO_Lock 0xFE01 |
|
636 |
0x0000 #define XK_ISO_Level2_Latch 0xFE02 |
|
637 |
0x0000 #define XK_ISO_Level3_Shift 0xFE03 |
|
638 |
0x0000 #define XK_ISO_Level3_Latch 0xFE04 |
|
639 |
0x0000 #define XK_ISO_Level3_Lock 0xFE05 |
|
640 |
0x0000 #define XK_ISO_Group_Shift 0xFF7E /* Alias for mode_switch */ |
|
641 |
0x0000 #define XK_ISO_Group_Latch 0xFE06 |
|
642 |
0x0000 #define XK_ISO_Group_Lock 0xFE07 |
|
643 |
0x0000 #define XK_ISO_Next_Group 0xFE08 |
|
644 |
0x0000 #define XK_ISO_Next_Group_Lock 0xFE09 |
|
645 |
0x0000 #define XK_ISO_Prev_Group 0xFE0A |
|
646 |
0x0000 #define XK_ISO_Prev_Group_Lock 0xFE0B |
|
647 |
0x0000 #define XK_ISO_First_Group 0xFE0C |
|
648 |
0x0000 #define XK_ISO_First_Group_Lock 0xFE0D |
|
649 |
0x0000 #define XK_ISO_Last_Group 0xFE0E |
|
650 |
0x0000 #define XK_ISO_Last_Group_Lock 0xFE0F |
|
651 |
||
652 |
0x0000 #define XK_ISO_Left_Tab 0xFE20 |
|
653 |
0x0000 #define XK_ISO_Move_Line_Up 0xFE21 |
|
654 |
0x0000 #define XK_ISO_Move_Line_Down 0xFE22 |
|
655 |
0x0000 #define XK_ISO_Partial_Line_Up 0xFE23 |
|
656 |
0x0000 #define XK_ISO_Partial_Line_Down 0xFE24 |
|
657 |
0x0000 #define XK_ISO_Partial_Space_Left 0xFE25 |
|
658 |
0x0000 #define XK_ISO_Partial_Space_Right 0xFE26 |
|
659 |
0x0000 #define XK_ISO_Set_Margin_Left 0xFE27 |
|
660 |
0x0000 #define XK_ISO_Set_Margin_Right 0xFE28 |
|
661 |
0x0000 #define XK_ISO_Release_Margin_Left 0xFE29 |
|
662 |
0x0000 #define XK_ISO_Release_Margin_Right 0xFE2A |
|
663 |
0x0000 #define XK_ISO_Release_Both_Margins 0xFE2B |
|
664 |
0x0000 #define XK_ISO_Fast_Cursor_Left 0xFE2C |
|
665 |
0x0000 #define XK_ISO_Fast_Cursor_Right 0xFE2D |
|
666 |
0x0000 #define XK_ISO_Fast_Cursor_Up 0xFE2E |
|
667 |
0x0000 #define XK_ISO_Fast_Cursor_Down 0xFE2F |
|
668 |
0x0000 #define XK_ISO_Continuous_Underline 0xFE30 |
|
669 |
0x0000 #define XK_ISO_Discontinuous_Underline 0xFE31 |
|
670 |
0x0000 #define XK_ISO_Emphasize 0xFE32 |
|
671 |
0x0000 #define XK_ISO_Center_Object 0xFE33 |
|
672 |
0x0000 #define XK_ISO_Enter 0xFE34 |
|
673 |
||
674 |
0x0000 #define XK_dead_grave 0xFE50 |
|
675 |
0x0000 #define XK_dead_acute 0xFE51 |
|
676 |
0x0000 #define XK_dead_circumflex 0xFE52 |
|
677 |
0x0000 #define XK_dead_tilde 0xFE53 |
|
678 |
0x0000 #define XK_dead_macron 0xFE54 |
|
679 |
0x0000 #define XK_dead_breve 0xFE55 |
|
680 |
0x0000 #define XK_dead_abovedot 0xFE56 |
|
681 |
0x0000 #define XK_dead_diaeresis 0xFE57 |
|
682 |
0x0000 #define XK_dead_abovering 0xFE58 |
|
683 |
0x0000 #define XK_dead_doubleacute 0xFE59 |
|
684 |
0x0000 #define XK_dead_caron 0xFE5A |
|
685 |
0x0000 #define XK_dead_cedilla 0xFE5B |
|
686 |
0x0000 #define XK_dead_ogonek 0xFE5C |
|
687 |
0x0000 #define XK_dead_iota 0xFE5D |
|
688 |
0x0000 #define XK_dead_voiced_sound 0xFE5E |
|
689 |
0x0000 #define XK_dead_semivoiced_sound 0xFE5F |
|
690 |
0x0000 #define XK_dead_belowdot 0xFE60 |
|
691 |
0x0000 #define XK_dead_hook 0xFE61 |
|
692 |
0x0000 #define XK_dead_horn 0xFE62 |
|
693 |
||
694 |
0x0000 #define XK_First_Virtual_Screen 0xFED0 |
|
695 |
0x0000 #define XK_Prev_Virtual_Screen 0xFED1 |
|
696 |
0x0000 #define XK_Next_Virtual_Screen 0xFED2 |
|
697 |
0x0000 #define XK_Last_Virtual_Screen 0xFED4 |
|
698 |
0x0000 #define XK_Terminate_Server 0xFED5 |
|
699 |
||
700 |
0x0000 #define XK_AccessX_Enable 0xFE70 |
|
701 |
0x0000 #define XK_AccessX_Feedback_Enable 0xFE71 |
|
702 |
0x0000 #define XK_RepeatKeys_Enable 0xFE72 |
|
703 |
0x0000 #define XK_SlowKeys_Enable 0xFE73 |
|
704 |
0x0000 #define XK_BounceKeys_Enable 0xFE74 |
|
705 |
0x0000 #define XK_StickyKeys_Enable 0xFE75 |
|
706 |
0x0000 #define XK_MouseKeys_Enable 0xFE76 |
|
707 |
0x0000 #define XK_MouseKeys_Accel_Enable 0xFE77 |
|
708 |
0x0000 #define XK_Overlay1_Enable 0xFE78 |
|
709 |
0x0000 #define XK_Overlay2_Enable 0xFE79 |
|
710 |
0x0000 #define XK_AudibleBell_Enable 0xFE7A |
|
711 |
||
712 |
0x0000 #define XK_Pointer_Left 0xFEE0 |
|
713 |
0x0000 #define XK_Pointer_Right 0xFEE1 |
|
714 |
0x0000 #define XK_Pointer_Up 0xFEE2 |
|
715 |
0x0000 #define XK_Pointer_Down 0xFEE3 |
|
716 |
0x0000 #define XK_Pointer_UpLeft 0xFEE4 |
|
717 |
0x0000 #define XK_Pointer_UpRight 0xFEE5 |
|
718 |
0x0000 #define XK_Pointer_DownLeft 0xFEE6 |
|
719 |
0x0000 #define XK_Pointer_DownRight 0xFEE7 |
|
720 |
0x0000 #define XK_Pointer_Button_Dflt 0xFEE8 |
|
721 |
0x0000 #define XK_Pointer_Button1 0xFEE9 |
|
722 |
0x0000 #define XK_Pointer_Button2 0xFEEA |
|
723 |
0x0000 #define XK_Pointer_Button3 0xFEEB |
|
724 |
0x0000 #define XK_Pointer_Button4 0xFEEC |
|
725 |
0x0000 #define XK_Pointer_Button5 0xFEED |
|
726 |
0x0000 #define XK_Pointer_DblClick_Dflt 0xFEEE |
|
727 |
0x0000 #define XK_Pointer_DblClick1 0xFEEF |
|
728 |
0x0000 #define XK_Pointer_DblClick2 0xFEF0 |
|
729 |
0x0000 #define XK_Pointer_DblClick3 0xFEF1 |
|
730 |
0x0000 #define XK_Pointer_DblClick4 0xFEF2 |
|
731 |
0x0000 #define XK_Pointer_DblClick5 0xFEF3 |
|
732 |
0x0000 #define XK_Pointer_Drag_Dflt 0xFEF4 |
|
733 |
0x0000 #define XK_Pointer_Drag1 0xFEF5 |
|
734 |
0x0000 #define XK_Pointer_Drag2 0xFEF6 |
|
735 |
0x0000 #define XK_Pointer_Drag3 0xFEF7 |
|
736 |
0x0000 #define XK_Pointer_Drag4 0xFEF8 |
|
737 |
0x0000 #define XK_Pointer_Drag5 0xFEFD |
|
738 |
||
739 |
0x0000 #define XK_Pointer_EnableKeys 0xFEF9 |
|
740 |
0x0000 #define XK_Pointer_Accelerate 0xFEFA |
|
741 |
0x0000 #define XK_Pointer_DfltBtnNext 0xFEFB |
|
742 |
0x0000 #define XK_Pointer_DfltBtnPrev 0xFEFC |
|
743 |
||
744 |
#endif |
|
745 |
||
746 |
/* |
|
747 |
* 3270 Terminal Keys |
|
748 |
* Byte 3 = 0xFD |
|
749 |
*/ |
|
750 |
||
751 |
#ifdef XK_3270 |
|
752 |
0x0000 #define XK_3270_Duplicate 0xFD01 |
|
753 |
0x0000 #define XK_3270_FieldMark 0xFD02 |
|
754 |
0x0000 #define XK_3270_Right2 0xFD03 |
|
755 |
0x0000 #define XK_3270_Left2 0xFD04 |
|
756 |
0x0000 #define XK_3270_BackTab 0xFD05 |
|
757 |
0x0000 #define XK_3270_EraseEOF 0xFD06 |
|
758 |
0x0000 #define XK_3270_EraseInput 0xFD07 |
|
759 |
0x0000 #define XK_3270_Reset 0xFD08 |
|
760 |
0x0000 #define XK_3270_Quit 0xFD09 |
|
761 |
0x0000 #define XK_3270_PA1 0xFD0A |
|
762 |
0x0000 #define XK_3270_PA2 0xFD0B |
|
763 |
0x0000 #define XK_3270_PA3 0xFD0C |
|
764 |
0x0000 #define XK_3270_Test 0xFD0D |
|
765 |
0x0000 #define XK_3270_Attn 0xFD0E |
|
766 |
0x0000 #define XK_3270_CursorBlink 0xFD0F |
|
767 |
0x0000 #define XK_3270_AltCursor 0xFD10 |
|
768 |
0x0000 #define XK_3270_KeyClick 0xFD11 |
|
769 |
0x0000 #define XK_3270_Jump 0xFD12 |
|
770 |
0x0000 #define XK_3270_Ident 0xFD13 |
|
771 |
0x0000 #define XK_3270_Rule 0xFD14 |
|
772 |
0x0000 #define XK_3270_Copy 0xFD15 |
|
773 |
0x0000 #define XK_3270_Play 0xFD16 |
|
774 |
0x0000 #define XK_3270_Setup 0xFD17 |
|
775 |
0x0000 #define XK_3270_Record 0xFD18 |
|
776 |
0x0000 #define XK_3270_ChangeScreen 0xFD19 |
|
777 |
0x0000 #define XK_3270_DeleteWord 0xFD1A |
|
778 |
0x0000 #define XK_3270_ExSelect 0xFD1B |
|
779 |
0x0000 #define XK_3270_CursorSelect 0xFD1C |
|
780 |
0x0000 #define XK_3270_PrintScreen 0xFD1D |
|
781 |
0x0000 #define XK_3270_Enter 0xFD1E |
|
782 |
#endif |
|
783 |
||
784 |
/* |
|
785 |
* Latin 1 |
|
786 |
* Byte 3 = 0 |
|
787 |
*/ |
|
788 |
// yan: skip Latin1 as it is mapped to Unicode 1:1 |
|
789 |
#ifdef XK_LATIN1 |
|
790 |
0x0000 #define XK_space 0x020 |
|
791 |
0x0000 #define XK_exclam 0x021 |
|
792 |
0x0000 #define XK_quotedbl 0x022 |
|
793 |
0x0000 #define XK_numbersign 0x023 |
|
794 |
0x0000 #define XK_dollar 0x024 |
|
795 |
0x0000 #define XK_percent 0x025 |
|
796 |
0x0000 #define XK_ampersand 0x026 |
|
797 |
0x0000 #define XK_apostrophe 0x027 |
|
798 |
0x0000 #define XK_quoteright 0x027 /* deprecated */ |
|
799 |
0x0000 #define XK_parenleft 0x028 |
|
800 |
0x0000 #define XK_parenright 0x029 |
|
801 |
0x0000 #define XK_asterisk 0x02a |
|
802 |
0x0000 #define XK_plus 0x02b |
|
803 |
0x0000 #define XK_comma 0x02c |
|
804 |
0x0000 #define XK_minus 0x02d |
|
805 |
0x0000 #define XK_period 0x02e |
|
806 |
0x0000 #define XK_slash 0x02f |
|
807 |
0x0000 #define XK_0 0x030 |
|
808 |
0x0000 #define XK_1 0x031 |
|
809 |
0x0000 #define XK_2 0x032 |
|
810 |
0x0000 #define XK_3 0x033 |
|
811 |
0x0000 #define XK_4 0x034 |
|
812 |
0x0000 #define XK_5 0x035 |
|
813 |
0x0000 #define XK_6 0x036 |
|
814 |
0x0000 #define XK_7 0x037 |
|
815 |
0x0000 #define XK_8 0x038 |
|
816 |
0x0000 #define XK_9 0x039 |
|
817 |
0x0000 #define XK_colon 0x03a |
|
818 |
0x0000 #define XK_semicolon 0x03b |
|
819 |
0x0000 #define XK_less 0x03c |
|
820 |
0x0000 #define XK_equal 0x03d |
|
821 |
0x0000 #define XK_greater 0x03e |
|
822 |
0x0000 #define XK_question 0x03f |
|
823 |
0x0000 #define XK_at 0x040 |
|
824 |
0x0000 #define XK_A 0x041 |
|
825 |
0x0000 #define XK_B 0x042 |
|
826 |
0x0000 #define XK_C 0x043 |
|
827 |
0x0000 #define XK_D 0x044 |
|
828 |
0x0000 #define XK_E 0x045 |
|
829 |
0x0000 #define XK_F 0x046 |
|
830 |
0x0000 #define XK_G 0x047 |
|
831 |
0x0000 #define XK_H 0x048 |
|
832 |
0x0000 #define XK_I 0x049 |
|
833 |
0x0000 #define XK_J 0x04a |
|
834 |
0x0000 #define XK_K 0x04b |
|
835 |
0x0000 #define XK_L 0x04c |
|
836 |
0x0000 #define XK_M 0x04d |
|
837 |
0x0000 #define XK_N 0x04e |
|
838 |
0x0000 #define XK_O 0x04f |
|
839 |
0x0000 #define XK_P 0x050 |
|
840 |
0x0000 #define XK_Q 0x051 |
|
841 |
0x0000 #define XK_R 0x052 |
|
842 |
0x0000 #define XK_S 0x053 |
|
843 |
0x0000 #define XK_T 0x054 |
|
844 |
0x0000 #define XK_U 0x055 |
|
845 |
0x0000 #define XK_V 0x056 |
|
846 |
0x0000 #define XK_W 0x057 |
|
847 |
0x0000 #define XK_X 0x058 |
|
848 |
0x0000 #define XK_Y 0x059 |
|
849 |
0x0000 #define XK_Z 0x05a |
|
850 |
0x0000 #define XK_bracketleft 0x05b |
|
851 |
0x0000 #define XK_backslash 0x05c |
|
852 |
0x0000 #define XK_bracketright 0x05d |
|
853 |
0x0000 #define XK_asciicircum 0x05e |
|
854 |
0x0000 #define XK_underscore 0x05f |
|
855 |
0x0000 #define XK_grave 0x060 |
|
856 |
0x0000 #define XK_quoteleft 0x060 /* deprecated */ |
|
857 |
0x0000 #define XK_a 0x061 |
|
858 |
0x0000 #define XK_b 0x062 |
|
859 |
0x0000 #define XK_c 0x063 |
|
860 |
0x0000 #define XK_d 0x064 |
|
861 |
0x0000 #define XK_e 0x065 |
|
862 |
0x0000 #define XK_f 0x066 |
|
863 |
0x0000 #define XK_g 0x067 |
|
864 |
0x0000 #define XK_h 0x068 |
|
865 |
0x0000 #define XK_i 0x069 |
|
866 |
0x0000 #define XK_j 0x06a |
|
867 |
0x0000 #define XK_k 0x06b |
|
868 |
0x0000 #define XK_l 0x06c |
|
869 |
0x0000 #define XK_m 0x06d |
|
870 |
0x0000 #define XK_n 0x06e |
|
871 |
0x0000 #define XK_o 0x06f |
|
872 |
0x0000 #define XK_p 0x070 |
|
873 |
0x0000 #define XK_q 0x071 |
|
874 |
0x0000 #define XK_r 0x072 |
|
875 |
0x0000 #define XK_s 0x073 |
|
876 |
0x0000 #define XK_t 0x074 |
|
877 |
0x0000 #define XK_u 0x075 |
|
878 |
0x0000 #define XK_v 0x076 |
|
879 |
0x0000 #define XK_w 0x077 |
|
880 |
0x0000 #define XK_x 0x078 |
|
881 |
0x0000 #define XK_y 0x079 |
|
882 |
0x0000 #define XK_z 0x07a |
|
883 |
0x0000 #define XK_braceleft 0x07b |
|
884 |
0x0000 #define XK_bar 0x07c |
|
885 |
0x0000 #define XK_braceright 0x07d |
|
886 |
0x0000 #define XK_asciitilde 0x07e |
|
887 |
||
888 |
0x0000 #define XK_nobreakspace 0x0a0 |
|
889 |
0x0000 #define XK_exclamdown 0x0a1 |
|
890 |
0x0000 #define XK_cent 0x0a2 |
|
891 |
0x0000 #define XK_sterling 0x0a3 |
|
892 |
0x0000 #define XK_currency 0x0a4 |
|
893 |
0x0000 #define XK_yen 0x0a5 |
|
894 |
0x0000 #define XK_brokenbar 0x0a6 |
|
895 |
0x0000 #define XK_section 0x0a7 |
|
896 |
0x0000 #define XK_diaeresis 0x0a8 |
|
897 |
0x0000 #define XK_copyright 0x0a9 |
|
898 |
0x0000 #define XK_ordfeminine 0x0aa |
|
899 |
0x0000 #define XK_guillemotleft 0x0ab /* left angle quotation mark */ |
|
900 |
0x0000 #define XK_notsign 0x0ac |
|
901 |
0x0000 #define XK_hyphen 0x0ad |
|
902 |
0x0000 #define XK_registered 0x0ae |
|
903 |
0x0000 #define XK_macron 0x0af |
|
904 |
0x0000 #define XK_degree 0x0b0 |
|
905 |
0x0000 #define XK_plusminus 0x0b1 |
|
906 |
0x0000 #define XK_twosuperior 0x0b2 |
|
907 |
0x0000 #define XK_threesuperior 0x0b3 |
|
908 |
0x0000 #define XK_acute 0x0b4 |
|
909 |
0x0000 #define XK_mu 0x0b5 |
|
910 |
0x0000 #define XK_paragraph 0x0b6 |
|
911 |
0x0000 #define XK_periodcentered 0x0b7 |
|
912 |
0x0000 #define XK_cedilla 0x0b8 |
|
913 |
0x0000 #define XK_onesuperior 0x0b9 |
|
914 |
0x0000 #define XK_masculine 0x0ba |
|
915 |
0x0000 #define XK_guillemotright 0x0bb /* right angle quotation mark */ |
|
916 |
0x0000 #define XK_onequarter 0x0bc |
|
917 |
0x0000 #define XK_onehalf 0x0bd |
|
918 |
0x0000 #define XK_threequarters 0x0be |
|
919 |
0x0000 #define XK_questiondown 0x0bf |
|
920 |
0x0000 #define XK_Agrave 0x0c0 |
|
921 |
0x0000 #define XK_Aacute 0x0c1 |
|
922 |
0x0000 #define XK_Acircumflex 0x0c2 |
|
923 |
0x0000 #define XK_Atilde 0x0c3 |
|
924 |
0x0000 #define XK_Adiaeresis 0x0c4 |
|
925 |
0x0000 #define XK_Aring 0x0c5 |
|
926 |
0x0000 #define XK_AE 0x0c6 |
|
927 |
0x0000 #define XK_Ccedilla 0x0c7 |
|
928 |
0x0000 #define XK_Egrave 0x0c8 |
|
929 |
0x0000 #define XK_Eacute 0x0c9 |
|
930 |
0x0000 #define XK_Ecircumflex 0x0ca |
|
931 |
0x0000 #define XK_Ediaeresis 0x0cb |
|
932 |
0x0000 #define XK_Igrave 0x0cc |
|
933 |
0x0000 #define XK_Iacute 0x0cd |
|
934 |
0x0000 #define XK_Icircumflex 0x0ce |
|
935 |
0x0000 #define XK_Idiaeresis 0x0cf |
|
936 |
0x0000 #define XK_ETH 0x0d0 |
|
937 |
0x0000 #define XK_Eth 0x0d0 /* deprecated */ |
|
938 |
0x0000 #define XK_Ntilde 0x0d1 |
|
939 |
0x0000 #define XK_Ograve 0x0d2 |
|
940 |
0x0000 #define XK_Oacute 0x0d3 |
|
941 |
0x0000 #define XK_Ocircumflex 0x0d4 |
|
942 |
0x0000 #define XK_Otilde 0x0d5 |
|
943 |
0x0000 #define XK_Odiaeresis 0x0d6 |
|
944 |
0x0000 #define XK_multiply 0x0d7 |
|
945 |
0x0000 #define XK_Ooblique 0x0d8 |
|
946 |
0x0000 #define XK_Ugrave 0x0d9 |
|
947 |
0x0000 #define XK_Uacute 0x0da |
|
948 |
0x0000 #define XK_Ucircumflex 0x0db |
|
949 |
0x0000 #define XK_Udiaeresis 0x0dc |
|
950 |
0x0000 #define XK_Yacute 0x0dd |
|
951 |
0x0000 #define XK_THORN 0x0de |
|
952 |
0x0000 #define XK_Thorn 0x0de /* deprecated */ |
|
953 |
0x0000 #define XK_ssharp 0x0df |
|
954 |
0x0000 #define XK_agrave 0x0e0 |
|
955 |
0x0000 #define XK_aacute 0x0e1 |
|
956 |
0x0000 #define XK_acircumflex 0x0e2 |
|
957 |
0x0000 #define XK_atilde 0x0e3 |
|
958 |
0x0000 #define XK_adiaeresis 0x0e4 |
|
959 |
0x0000 #define XK_aring 0x0e5 |
|
960 |
0x0000 #define XK_ae 0x0e6 |
|
961 |
0x0000 #define XK_ccedilla 0x0e7 |
|
962 |
0x0000 #define XK_egrave 0x0e8 |
|
963 |
0x0000 #define XK_eacute 0x0e9 |
|
964 |
0x0000 #define XK_ecircumflex 0x0ea |
|
965 |
0x0000 #define XK_ediaeresis 0x0eb |
|
966 |
0x0000 #define XK_igrave 0x0ec |
|
967 |
0x0000 #define XK_iacute 0x0ed |
|
968 |
0x0000 #define XK_icircumflex 0x0ee |
|
969 |
0x0000 #define XK_idiaeresis 0x0ef |
|
970 |
0x0000 #define XK_eth 0x0f0 |
|
971 |
0x0000 #define XK_ntilde 0x0f1 |
|
972 |
0x0000 #define XK_ograve 0x0f2 |
|
973 |
0x0000 #define XK_oacute 0x0f3 |
|
974 |
0x0000 #define XK_ocircumflex 0x0f4 |
|
975 |
0x0000 #define XK_otilde 0x0f5 |
|
976 |
0x0000 #define XK_odiaeresis 0x0f6 |
|
977 |
0x0000 #define XK_division 0x0f7 |
|
978 |
0x0000 #define XK_oslash 0x0f8 |
|
979 |
0x0000 #define XK_ugrave 0x0f9 |
|
980 |
0x0000 #define XK_uacute 0x0fa |
|
981 |
0x0000 #define XK_ucircumflex 0x0fb |
|
982 |
0x0000 #define XK_udiaeresis 0x0fc |
|
983 |
0x0000 #define XK_yacute 0x0fd |
|
984 |
0x0000 #define XK_thorn 0x0fe |
|
985 |
0x0000 #define XK_ydiaeresis 0x0ff |
|
986 |
#endif /* XK_LATIN1 */ |
|
987 |
||
988 |
/* |
|
989 |
* Latin 2 |
|
990 |
* Byte 3 = 1 |
|
991 |
*/ |
|
992 |
||
993 |
#ifdef XK_LATIN2 |
|
994 |
0x0104 #define XK_Aogonek 0x1a1 |
|
995 |
0x02d8 #define XK_breve 0x1a2 |
|
996 |
0x0141 #define XK_Lstroke 0x1a3 |
|
997 |
0x013d #define XK_Lcaron 0x1a5 |
|
998 |
0x015a #define XK_Sacute 0x1a6 |
|
999 |
0x0160 #define XK_Scaron 0x1a9 |
|
1000 |
0x015e #define XK_Scedilla 0x1aa |
|
1001 |
0x0164 #define XK_Tcaron 0x1ab |
|
1002 |
0x0179 #define XK_Zacute 0x1ac |
|
1003 |
0x017d #define XK_Zcaron 0x1ae |
|
1004 |
0x017b #define XK_Zabovedot 0x1af |
|
1005 |
0x0105 #define XK_aogonek 0x1b1 |
|
1006 |
0x02db #define XK_ogonek 0x1b2 |
|
1007 |
0x0142 #define XK_lstroke 0x1b3 |
|
1008 |
0x013e #define XK_lcaron 0x1b5 |
|
1009 |
0x015b #define XK_sacute 0x1b6 |
|
1010 |
0x02c7 #define XK_caron 0x1b7 |
|
1011 |
0x0161 #define XK_scaron 0x1b9 |
|
1012 |
0x015f #define XK_scedilla 0x1ba |
|
1013 |
0x0165 #define XK_tcaron 0x1bb |
|
1014 |
0x017a #define XK_zacute 0x1bc |
|
1015 |
0x02dd #define XK_doubleacute 0x1bd |
|
1016 |
0x017e #define XK_zcaron 0x1be |
|
1017 |
0x017c #define XK_zabovedot 0x1bf |
|
1018 |
0x0154 #define XK_Racute 0x1c0 |
|
1019 |
0x0102 #define XK_Abreve 0x1c3 |
|
1020 |
0x0139 #define XK_Lacute 0x1c5 |
|
1021 |
0x0106 #define XK_Cacute 0x1c6 |
|
1022 |
0x010c #define XK_Ccaron 0x1c8 |
|
1023 |
0x0118 #define XK_Eogonek 0x1ca |
|
1024 |
0x011a #define XK_Ecaron 0x1cc |
|
1025 |
0x010e #define XK_Dcaron 0x1cf |
|
1026 |
0x0110 #define XK_Dstroke 0x1d0 |
|
1027 |
0x0143 #define XK_Nacute 0x1d1 |
|
1028 |
0x0147 #define XK_Ncaron 0x1d2 |
|
1029 |
0x0150 #define XK_Odoubleacute 0x1d5 |
|
1030 |
0x0158 #define XK_Rcaron 0x1d8 |
|
1031 |
0x016e #define XK_Uring 0x1d9 |
|
1032 |
0x0170 #define XK_Udoubleacute 0x1db |
|
1033 |
0x0162 #define XK_Tcedilla 0x1de |
|
1034 |
0x0155 #define XK_racute 0x1e0 |
|
1035 |
0x0103 #define XK_abreve 0x1e3 |
|
1036 |
0x013a #define XK_lacute 0x1e5 |
|
1037 |
0x0107 #define XK_cacute 0x1e6 |
|
1038 |
0x010d #define XK_ccaron 0x1e8 |
|
1039 |
0x0119 #define XK_eogonek 0x1ea |
|
1040 |
0x011b #define XK_ecaron 0x1ec |
|
1041 |
0x010f #define XK_dcaron 0x1ef |
|
1042 |
0x0111 #define XK_dstroke 0x1f0 |
|
1043 |
0x0144 #define XK_nacute 0x1f1 |
|
1044 |
0x0148 #define XK_ncaron 0x1f2 |
|
1045 |
0x0151 #define XK_odoubleacute 0x1f5 |
|
1046 |
0x0171 #define XK_udoubleacute 0x1fb |
|
1047 |
0x0159 #define XK_rcaron 0x1f8 |
|
1048 |
0x016f #define XK_uring 0x1f9 |
|
1049 |
0x0163 #define XK_tcedilla 0x1fe |
|
1050 |
0x02d9 #define XK_abovedot 0x1ff |
|
1051 |
#endif /* XK_LATIN2 */ |
|
1052 |
||
1053 |
/* |
|
1054 |
* Latin 3 |
|
1055 |
* Byte 3 = 2 |
|
1056 |
*/ |
|
1057 |
||
1058 |
#ifdef XK_LATIN3 |
|
1059 |
0x0126 #define XK_Hstroke 0x2a1 |
|
1060 |
0x0124 #define XK_Hcircumflex 0x2a6 |
|
1061 |
0x0130 #define XK_Iabovedot 0x2a9 |
|
1062 |
0x011e #define XK_Gbreve 0x2ab |
|
1063 |
0x0134 #define XK_Jcircumflex 0x2ac |
|
1064 |
0x0127 #define XK_hstroke 0x2b1 |
|
1065 |
0x0125 #define XK_hcircumflex 0x2b6 |
|
1066 |
0x0131 #define XK_idotless 0x2b9 |
|
1067 |
0x011f #define XK_gbreve 0x2bb |
|
1068 |
0x0135 #define XK_jcircumflex 0x2bc |
|
1069 |
0x010a #define XK_Cabovedot 0x2c5 |
|
1070 |
0x0108 #define XK_Ccircumflex 0x2c6 |
|
1071 |
0x0120 #define XK_Gabovedot 0x2d5 |
|
1072 |
0x011c #define XK_Gcircumflex 0x2d8 |
|
1073 |
0x016c #define XK_Ubreve 0x2dd |
|
1074 |
0x015c #define XK_Scircumflex 0x2de |
|
1075 |
0x010b #define XK_cabovedot 0x2e5 |
|
1076 |
0x0109 #define XK_ccircumflex 0x2e6 |
|
1077 |
0x0121 #define XK_gabovedot 0x2f5 |
|
1078 |
0x011d #define XK_gcircumflex 0x2f8 |
|
1079 |
0x016d #define XK_ubreve 0x2fd |
|
1080 |
0x015d #define XK_scircumflex 0x2fe |
|
1081 |
#endif /* XK_LATIN3 */ |
|
1082 |
||
1083 |
||
1084 |
/* |
|
1085 |
* Latin 4 |
|
1086 |
* Byte 3 = 3 |
|
1087 |
*/ |
|
1088 |
||
1089 |
#ifdef XK_LATIN4 |
|
1090 |
0x0138 #define XK_kra 0x3a2 |
|
1091 |
0x0000 #define XK_kappa 0x3a2 /* deprecated */ |
|
1092 |
0x0156 #define XK_Rcedilla 0x3a3 |
|
1093 |
0x0128 #define XK_Itilde 0x3a5 |
|
1094 |
0x013b #define XK_Lcedilla 0x3a6 |
|
1095 |
0x0112 #define XK_Emacron 0x3aa |
|
1096 |
0x0122 #define XK_Gcedilla 0x3ab |
|
1097 |
0x0166 #define XK_Tslash 0x3ac |
|
1098 |
0x0157 #define XK_rcedilla 0x3b3 |
|
1099 |
0x0129 #define XK_itilde 0x3b5 |
|
1100 |
0x013c #define XK_lcedilla 0x3b6 |
|
1101 |
0x0113 #define XK_emacron 0x3ba |
|
1102 |
0x0123 #define XK_gcedilla 0x3bb |
|
1103 |
0x0167 #define XK_tslash 0x3bc |
|
1104 |
0x014a #define XK_ENG 0x3bd |
|
1105 |
0x014b #define XK_eng 0x3bf |
|
1106 |
0x0100 #define XK_Amacron 0x3c0 |
|
1107 |
0x012e #define XK_Iogonek 0x3c7 |
|
1108 |
0x0116 #define XK_Eabovedot 0x3cc |
|
1109 |
0x012a #define XK_Imacron 0x3cf |
|
1110 |
0x0145 #define XK_Ncedilla 0x3d1 |
|
1111 |
0x014c #define XK_Omacron 0x3d2 |
|
1112 |
0x0136 #define XK_Kcedilla 0x3d3 |
|
1113 |
0x0172 #define XK_Uogonek 0x3d9 |
|
1114 |
0x0168 #define XK_Utilde 0x3dd |
|
1115 |
0x016a #define XK_Umacron 0x3de |
|
1116 |
0x0101 #define XK_amacron 0x3e0 |
|
1117 |
0x012f #define XK_iogonek 0x3e7 |
|
1118 |
0x0117 #define XK_eabovedot 0x3ec |
|
1119 |
0x012b #define XK_imacron 0x3ef |
|
1120 |
0x0146 #define XK_ncedilla 0x3f1 |
|
1121 |
0x014d #define XK_omacron 0x3f2 |
|
1122 |
0x0137 #define XK_kcedilla 0x3f3 |
|
1123 |
0x0173 #define XK_uogonek 0x3f9 |
|
1124 |
0x0169 #define XK_utilde 0x3fd |
|
1125 |
0x016b #define XK_umacron 0x3fe |
|
1126 |
#endif /* XK_LATIN4 */ |
|
1127 |
||
1128 |
/* |
|
1129 |
* Latin-8 |
|
1130 |
* Byte 3 = 18 |
|
1131 |
*/ |
|
1132 |
#ifdef XK_LATIN8 |
|
1133 |
0x1e02 #define XK_Babovedot 0x12a1 |
|
1134 |
0x1e03 #define XK_babovedot 0x12a2 |
|
1135 |
0x1e0a #define XK_Dabovedot 0x12a6 |
|
1136 |
0x1e80 #define XK_Wgrave 0x12a8 |
|
1137 |
0x1e82 #define XK_Wacute 0x12aa |
|
1138 |
0x1e0b #define XK_dabovedot 0x12ab |
|
1139 |
0x1ef2 #define XK_Ygrave 0x12ac |
|
1140 |
0x1e1e #define XK_Fabovedot 0x12b0 |
|
1141 |
0x1e1f #define XK_fabovedot 0x12b1 |
|
1142 |
0x1e40 #define XK_Mabovedot 0x12b4 |
|
1143 |
0x1e41 #define XK_mabovedot 0x12b5 |
|
1144 |
0x1e56 #define XK_Pabovedot 0x12b7 |
|
1145 |
0x1e81 #define XK_wgrave 0x12b8 |
|
1146 |
0x1e57 #define XK_pabovedot 0x12b9 |
|
1147 |
0x1e83 #define XK_wacute 0x12ba |
|
1148 |
0x1e60 #define XK_Sabovedot 0x12bb |
|
1149 |
0x1ef3 #define XK_ygrave 0x12bc |
|
1150 |
0x1e84 #define XK_Wdiaeresis 0x12bd |
|
1151 |
0x1e85 #define XK_wdiaeresis 0x12be |
|
1152 |
0x1e61 #define XK_sabovedot 0x12bf |
|
1153 |
0x017 4#define XK_Wcircumflex 0x12d0 |
|
1154 |
0x1e6a #define XK_Tabovedot 0x12d7 |
|
1155 |
0x0176 #define XK_Ycircumflex 0x12de |
|
1156 |
0x0175 #define XK_wcircumflex 0x12f0 |
|
1157 |
0x1e6b #define XK_tabovedot 0x12f7 |
|
1158 |
0x0177 #define XK_ycircumflex 0x12fe |
|
1159 |
#endif /* XK_LATIN8 */ |
|
1160 |
||
1161 |
/* |
|
1162 |
* Latin-9 (a.k.a. Latin-0) |
|
1163 |
* Byte 3 = 19 |
|
1164 |
*/ |
|
1165 |
||
1166 |
#ifdef XK_LATIN9 |
|
1167 |
0x0152 #define XK_OE 0x13bc |
|
1168 |
0x0153 #define XK_oe 0x13bd |
|
1169 |
0x0178 #define XK_Ydiaeresis 0x13be |
|
1170 |
#endif /* XK_LATIN9 */ |
|
1171 |
||
1172 |
/* |
|
1173 |
* Katakana |
|
1174 |
* Byte 3 = 4 |
|
1175 |
*/ |
|
1176 |
||
1177 |
#ifdef XK_KATAKANA |
|
1178 |
0x203e #define XK_overline 0x47e |
|
1179 |
0x3002 #define XK_kana_fullstop 0x4a1 |
|
1180 |
0x300c #define XK_kana_openingbracket 0x4a2 |
|
1181 |
0x300d #define XK_kana_closingbracket 0x4a3 |
|
1182 |
0x3001 #define XK_kana_comma 0x4a4 |
|
1183 |
0x30fb #define XK_kana_conjunctive 0x4a5 |
|
1184 |
0x0000 #define XK_kana_middledot 0x4a5 /* deprecated */ |
|
1185 |
0x30f2 #define XK_kana_WO 0x4a6 |
|
1186 |
0x30a1 #define XK_kana_a 0x4a7 |
|
1187 |
0x30a3 #define XK_kana_i 0x4a8 |
|
1188 |
0x30a5 #define XK_kana_u 0x4a9 |
|
1189 |
0x30a7 #define XK_kana_e 0x4aa |
|
1190 |
0x30a9 #define XK_kana_o 0x4ab |
|
1191 |
0x30e3 #define XK_kana_ya 0x4ac |
|
1192 |
0x30e5 #define XK_kana_yu 0x4ad |
|
1193 |
0x30e7 #define XK_kana_yo 0x4ae |
|
1194 |
0x30c3 #define XK_kana_tsu 0x4af |
|
1195 |
0x0000 #define XK_kana_tu 0x4af /* deprecated */ |
|
1196 |
0x30fc #define XK_prolongedsound 0x4b0 |
|
1197 |
0x30a2 #define XK_kana_A 0x4b1 |
|
1198 |
0x30a4 #define XK_kana_I 0x4b2 |
|
1199 |
0x30a6 #define XK_kana_U 0x4b3 |
|
1200 |
0x30a8 #define XK_kana_E 0x4b4 |
|
1201 |
0x30aa #define XK_kana_O 0x4b5 |
|
1202 |
0x30ab #define XK_kana_KA 0x4b6 |
|
1203 |
0x30ad #define XK_kana_KI 0x4b7 |
|
1204 |
0x30af #define XK_kana_KU 0x4b8 |
|
1205 |
0x30b1 #define XK_kana_KE 0x4b9 |
|
1206 |
0x30b3 #define XK_kana_KO 0x4ba |
|
1207 |
0x30b5 #define XK_kana_SA 0x4bb |
|
1208 |
0x30b7 #define XK_kana_SHI 0x4bc |
|
1209 |
0x30b9 #define XK_kana_SU 0x4bd |
|
1210 |
0x30bb #define XK_kana_SE 0x4be |
|
1211 |
0x30bd #define XK_kana_SO 0x4bf |
|
1212 |
0x30bf #define XK_kana_TA 0x4c0 |
|
1213 |
0x30c1 #define XK_kana_CHI 0x4c1 |
|
1214 |
0x0000 #define XK_kana_TI 0x4c1 /* deprecated */ |
|
1215 |
0x30c4 #define XK_kana_TSU 0x4c2 |
|
1216 |
0x0000 #define XK_kana_TU 0x4c2 /* deprecated */ |
|
1217 |
0x30c6 #define XK_kana_TE 0x4c3 |
|
1218 |
0x30c8 #define XK_kana_TO 0x4c4 |
|
1219 |
0x30ca #define XK_kana_NA 0x4c5 |
|
1220 |
0x30cb #define XK_kana_NI 0x4c6 |
|
1221 |
0x30cc #define XK_kana_NU 0x4c7 |
|
1222 |
0x30cd #define XK_kana_NE 0x4c8 |
|
1223 |
0x30ce #define XK_kana_NO 0x4c9 |
|
1224 |
0x30cf #define XK_kana_HA 0x4ca |
|
1225 |
0x30d2 #define XK_kana_HI 0x4cb |
|
1226 |
0x30d5 #define XK_kana_FU 0x4cc |
|
1227 |
0x0000 #define XK_kana_HU 0x4cc /* deprecated */ |
|
1228 |
0x30d8 #define XK_kana_HE 0x4cd |
|
1229 |
0x30db #define XK_kana_HO 0x4ce |
|
1230 |
0x30de #define XK_kana_MA 0x4cf |
|
1231 |
0x30df #define XK_kana_MI 0x4d0 |
|
1232 |
0x30e0 #define XK_kana_MU 0x4d1 |
|
1233 |
0x30e1 #define XK_kana_ME 0x4d2 |
|
1234 |
0x30e2 #define XK_kana_MO 0x4d3 |
|
1235 |
0x30e4 #define XK_kana_YA 0x4d4 |
|
1236 |
0x30e6 #define XK_kana_YU 0x4d5 |
|
1237 |
0x30e8 #define XK_kana_YO 0x4d6 |
|
1238 |
0x30e9 #define XK_kana_RA 0x4d7 |
|
1239 |
0x30ea #define XK_kana_RI 0x4d8 |
|
1240 |
0x30eb #define XK_kana_RU 0x4d9 |
|
1241 |
0x30ec #define XK_kana_RE 0x4da |
|
1242 |
0x30ed #define XK_kana_RO 0x4db |
|
1243 |
0x30ef #define XK_kana_WA 0x4dc |
|
1244 |
0x30f3 #define XK_kana_N 0x4dd |
|
1245 |
0x309b #define XK_voicedsound 0x4de |
|
1246 |
0x309c #define XK_semivoicedsound 0x4df |
|
1247 |
0x0000 #define XK_kana_switch 0xFF7E /* Alias for mode_switch */ |
|
1248 |
#endif /* XK_KATAKANA */ |
|
1249 |
||
1250 |
/* |
|
1251 |
* Arabic |
|
1252 |
* Byte 3 = 5 |
|
1253 |
*/ |
|
1254 |
||
1255 |
#ifdef XK_ARABIC |
|
1256 |
0x0670 #define XK_Farsi_0 0x590 |
|
1257 |
0x06f1 #define XK_Farsi_1 0x591 |
|
1258 |
0x06f2 #define XK_Farsi_2 0x592 |
|
1259 |
0x06f3 #define XK_Farsi_3 0x593 |
|
1260 |
0x06f4 #define XK_Farsi_4 0x594 |
|
1261 |
0x06f5 #define XK_Farsi_5 0x595 |
|
1262 |
0x06f6 #define XK_Farsi_6 0x596 |
|
1263 |
0x06f7 #define XK_Farsi_7 0x597 |
|
1264 |
0x06f8 #define XK_Farsi_8 0x598 |
|
1265 |
0x06f9 #define XK_Farsi_9 0x599 |
|
1266 |
0x066a #define XK_Arabic_percent 0x5a5 |
|
1267 |
0x0670 #define XK_Arabic_superscript_alef 0x5a6 |
|
1268 |
0x0679 #define XK_Arabic_tteh 0x5a7 |
|
1269 |
0x067e #define XK_Arabic_peh 0x5a8 |
|
1270 |
0x0686 #define XK_Arabic_tcheh 0x5a9 |
|
1271 |
0x0688 #define XK_Arabic_ddal 0x5aa |
|
1272 |
0x0691 #define XK_Arabic_rreh 0x5ab |
|
1273 |
0x060c #define XK_Arabic_comma 0x5ac |
|
1274 |
0x06d4 #define XK_Arabic_fullstop 0x5ae |
|
1275 |
0x0660 #define XK_Arabic_0 0x5b0 |
|
1276 |
0x0661 #define XK_Arabic_1 0x5b1 |
|
1277 |
0x0662 #define XK_Arabic_2 0x5b2 |
|
1278 |
0x0663 #define XK_Arabic_3 0x5b3 |
|
1279 |
0x0664 #define XK_Arabic_4 0x5b4 |
|
1280 |
0x0665 #define XK_Arabic_5 0x5b5 |
|
1281 |
0x0666 #define XK_Arabic_6 0x5b6 |
|
1282 |
0x0667 #define XK_Arabic_7 0x5b7 |
|
1283 |
0x0668 #define XK_Arabic_8 0x5b8 |
|
1284 |
0x0669 #define XK_Arabic_9 0x5b9 |
|
1285 |
0x061b #define XK_Arabic_semicolon 0x5bb |
|
1286 |
0x061f #define XK_Arabic_question_mark 0x5bf |
|
1287 |
0x0621 #define XK_Arabic_hamza 0x5c1 |
|
1288 |
0x0622 #define XK_Arabic_maddaonalef 0x5c2 |
|
1289 |
0x0623 #define XK_Arabic_hamzaonalef 0x5c3 |
|
1290 |
0x0624 #define XK_Arabic_hamzaonwaw 0x5c4 |
|
1291 |
0x0625 #define XK_Arabic_hamzaunderalef 0x5c5 |
|
1292 |
0x0626 #define XK_Arabic_hamzaonyeh 0x5c6 |
|
1293 |
0x0627 #define XK_Arabic_alef 0x5c7 |
|
1294 |
0x0628 #define XK_Arabic_beh 0x5c8 |
|
1295 |
0x0629 #define XK_Arabic_tehmarbuta 0x5c9 |
|
1296 |
0x062a #define XK_Arabic_teh 0x5ca |
|
1297 |
0x062b #define XK_Arabic_theh 0x5cb |
|
1298 |
0x062c #define XK_Arabic_jeem 0x5cc |
|
1299 |
0x062d #define XK_Arabic_hah 0x5cd |
|
1300 |
0x062e #define XK_Arabic_khah 0x5ce |
|
1301 |
0x062f #define XK_Arabic_dal 0x5cf |
|
1302 |
0x0630 #define XK_Arabic_thal 0x5d0 |
|
1303 |
0x0631 #define XK_Arabic_ra 0x5d1 |
|
1304 |
0x0632 #define XK_Arabic_zain 0x5d2 |
|
1305 |
0x0633 #define XK_Arabic_seen 0x5d3 |
|
1306 |
0x0634 #define XK_Arabic_sheen 0x5d4 |
|
1307 |
0x0635 #define XK_Arabic_sad 0x5d5 |
|
1308 |
0x0636 #define XK_Arabic_dad 0x5d6 |
|
1309 |
0x0637 #define XK_Arabic_tah 0x5d7 |
|
1310 |
0x0638 #define XK_Arabic_zah 0x5d8 |
|
1311 |
0x0639 #define XK_Arabic_ain 0x5d9 |
|
1312 |
0x063a #define XK_Arabic_ghain 0x5da |
|
1313 |
0x0640 #define XK_Arabic_tatweel 0x5e0 |
|
1314 |
0x0641 #define XK_Arabic_feh 0x5e1 |
|
1315 |
0x0642 #define XK_Arabic_qaf 0x5e2 |
|
1316 |
0x0643 #define XK_Arabic_kaf 0x5e3 |
|
1317 |
0x0644 #define XK_Arabic_lam 0x5e4 |
|
1318 |
0x0645 #define XK_Arabic_meem 0x5e5 |
|
1319 |
0x0646 #define XK_Arabic_noon 0x5e6 |
|
1320 |
0x0647 #define XK_Arabic_ha 0x5e7 |
|
1321 |
0x0000 #define XK_Arabic_heh 0x5e7 /* deprecated */ |
|
1322 |
0x0648 #define XK_Arabic_waw 0x5e8 |
|
1323 |
0x0649 #define XK_Arabic_alefmaksura 0x5e9 |
|
1324 |
0x064a #define XK_Arabic_yeh 0x5ea |
|
1325 |
0x064b #define XK_Arabic_fathatan 0x5eb |
|
1326 |
0x064c #define XK_Arabic_dammatan 0x5ec |
|
1327 |
0x064d #define XK_Arabic_kasratan 0x5ed |
|
1328 |
0x064e #define XK_Arabic_fatha 0x5ee |
|
1329 |
0x064f #define XK_Arabic_damma 0x5ef |
|
1330 |
0x0650 #define XK_Arabic_kasra 0x5f0 |
|
1331 |
0x0651 #define XK_Arabic_shadda 0x5f1 |
|
1332 |
0x0652 #define XK_Arabic_sukun 0x5f2 |
|
1333 |
0x0653 #define XK_Arabic_madda_above 0x5f3 |
|
1334 |
0x0654 #define XK_Arabic_hamza_above 0x5f4 |
|
1335 |
0x0655 #define XK_Arabic_hamza_below 0x5f5 |
|
1336 |
0x0698 #define XK_Arabic_jeh 0x5f6 |
|
1337 |
0x06a4 #define XK_Arabic_veh 0x5f7 |
|
1338 |
0x06a9 #define XK_Arabic_keheh 0x5f8 |
|
1339 |
0x06af #define XK_Arabic_gaf 0x5f9 |
|
1340 |
0x06ba #define XK_Arabic_noon_ghunna 0x5fa |
|
1341 |
0x06be #define XK_Arabic_heh_doachashmee 0x5fb |
|
1342 |
0x06cc #define XK_Farsi_yeh 0x5fc |
|
1343 |
0x06d2 #define XK_Arabic_yeh_baree 0x5fd |
|
1344 |
0x06c1 #define XK_Arabic_heh_goal 0x5fe |
|
1345 |
0x0000 #define XK_Arabic_switch 0xFF7E /* Alias for mode_switch */ |
|
1346 |
#endif /* XK_ARABIC */ |
|
1347 |
||
1348 |
/* |
|
1349 |
* Cyrillic |
|
1350 |
* Byte 3 = 6 |
|
1351 |
*/ |
|
1352 |
#ifdef XK_CYRILLIC |
|
1353 |
0x0492 #define XK_Cyrillic_GHE_bar 0x680 |
|
1354 |
0x0493 #define XK_Cyrillic_ghe_bar 0x690 |
|
1355 |
0x0496 #define XK_Cyrillic_ZHE_descender 0x681 |
|
1356 |
0x0497 #define XK_Cyrillic_zhe_descender 0x691 |
|
1357 |
0x049a #define XK_Cyrillic_KA_descender 0x682 |
|
1358 |
0x049b #define XK_Cyrillic_ka_descender 0x692 |
|
1359 |
0x049c #define XK_Cyrillic_KA_vertstroke 0x683 |
|
1360 |
0x049d #define XK_Cyrillic_ka_vertstroke 0x693 |
|
1361 |
0x04a2 #define XK_Cyrillic_EN_descender 0x684 |
|
1362 |
0x04a3 #define XK_Cyrillic_en_descender 0x694 |
|
1363 |
0x04ae #define XK_Cyrillic_U_straight 0x685 |
|
1364 |
0x04af #define XK_Cyrillic_u_straight 0x695 |
|
1365 |
0x04b0 #define XK_Cyrillic_U_straight_bar 0x686 |
|
1366 |
0x04b1 #define XK_Cyrillic_u_straight_bar 0x696 |
|
1367 |
0x04b2 #define XK_Cyrillic_HA_descender 0x687 |
|
1368 |
0x04b3 #define XK_Cyrillic_ha_descender 0x697 |
|
1369 |
0x04b6 #define XK_Cyrillic_CHE_descender 0x688 |
|
1370 |
0x04b7 #define XK_Cyrillic_che_descender 0x698 |
|
1371 |
0x04b8 #define XK_Cyrillic_CHE_vertstroke 0x689 |
|
1372 |
0x04b9 #define XK_Cyrillic_che_vertstroke 0x699 |
|
1373 |
0x04ba #define XK_Cyrillic_SHHA 0x68a |
|
1374 |
0x04bb #define XK_Cyrillic_shha 0x69a |
|
1375 |
||
1376 |
0x04d8 #define XK_Cyrillic_SCHWA 0x68c |
|
1377 |
0x04d9 #define XK_Cyrillic_schwa 0x69c |
|
1378 |
0x04e2 #define XK_Cyrillic_I_macron 0x68d |
|
1379 |
0x04e3 #define XK_Cyrillic_i_macron 0x69d |
|
1380 |
0x04e8 #define XK_Cyrillic_O_bar 0x68e |
|
1381 |
0x04e9 #define XK_Cyrillic_o_bar 0x69e |
|
1382 |
0x04ee #define XK_Cyrillic_U_macron 0x68f |
|
1383 |
0x04ef #define XK_Cyrillic_u_macron 0x69f |
|
1384 |
||
1385 |
0x0452 #define XK_Serbian_dje 0x6a1 |
|
1386 |
0x0453 #define XK_Macedonia_gje 0x6a2 |
|
1387 |
0x0451 #define XK_Cyrillic_io 0x6a3 |
|
1388 |
0x0454 #define XK_Ukrainian_ie 0x6a4 |
|
1389 |
0x0000 #define XK_Ukranian_je 0x6a4 /* deprecated */ |
|
1390 |
0x0455 #define XK_Macedonia_dse 0x6a5 |
|
1391 |
0x0456 #define XK_Ukrainian_i 0x6a6 |
|
1392 |
0x0000 #define XK_Ukranian_i 0x6a6 /* deprecated */ |
|
1393 |
0x0457 #define XK_Ukrainian_yi 0x6a7 |
|
1394 |
0x0000 #define XK_Ukranian_yi 0x6a7 /* deprecated */ |
|
1395 |
0x0458 #define XK_Cyrillic_je 0x6a8 |
|
1396 |
0x0000 #define XK_Serbian_je 0x6a8 /* deprecated */ |
|
1397 |
0x0459 #define XK_Cyrillic_lje 0x6a9 |
|
1398 |
0x0000 #define XK_Serbian_lje 0x6a9 /* deprecated */ |
|
1399 |
0x045a #define XK_Cyrillic_nje 0x6aa |
|
1400 |
0x0000 #define XK_Serbian_nje 0x6aa /* deprecated */ |
|
1401 |
0x045b #define XK_Serbian_tshe 0x6ab |
|
1402 |
0x045c #define XK_Macedonia_kje 0x6ac |
|
1403 |
0x0491 #define XK_Ukrainian_ghe_with_upturn 0x6ad |
|
1404 |
0x045e #define XK_Byelorussian_shortu 0x6ae |
|
1405 |
0x045f #define XK_Cyrillic_dzhe 0x6af |
|
1406 |
0x0000 #define XK_Serbian_dze 0x6af /* deprecated */ |
|
1407 |
0x2116 #define XK_numerosign 0x6b0 |
|
1408 |
0x0402 #define XK_Serbian_DJE 0x6b1 |
|
1409 |
0x0403 #define XK_Macedonia_GJE 0x6b2 |
|
1410 |
0x0401 #define XK_Cyrillic_IO 0x6b3 |
|
1411 |
0x0404 #define XK_Ukrainian_IE 0x6b4 |
|
1412 |
0x0000 #define XK_Ukranian_JE 0x6b4 /* deprecated */ |
|
1413 |
0x0405 #define XK_Macedonia_DSE 0x6b5 |
|
1414 |
0x0406 #define XK_Ukrainian_I 0x6b6 |
|
1415 |
0x0000 #define XK_Ukranian_I 0x6b6 /* deprecated */ |
|
1416 |
0x0407 #define XK_Ukrainian_YI 0x6b7 |
|
1417 |
0x0000 #define XK_Ukranian_YI 0x6b7 /* deprecated */ |
|
1418 |
0x0408 #define XK_Cyrillic_JE 0x6b8 |
|
1419 |
0x0000 #define XK_Serbian_JE 0x6b8 /* deprecated */ |
|
1420 |
0x0409 #define XK_Cyrillic_LJE 0x6b9 |
|
1421 |
0x0000 #define XK_Serbian_LJE 0x6b9 /* deprecated */ |
|
1422 |
0x040a #define XK_Cyrillic_NJE 0x6ba |
|
1423 |
0x0000 #define XK_Serbian_NJE 0x6ba /* deprecated */ |
|
1424 |
0x040b #define XK_Serbian_TSHE 0x6bb |
|
1425 |
0x040c #define XK_Macedonia_KJE 0x6bc |
|
1426 |
0x0490 #define XK_Ukrainian_GHE_WITH_UPTURN 0x6bd |
|
1427 |
0x040e #define XK_Byelorussian_SHORTU 0x6be |
|
1428 |
0x040f #define XK_Cyrillic_DZHE 0x6bf |
|
1429 |
0x0000 #define XK_Serbian_DZE 0x6bf /* deprecated */ |
|
1430 |
0x044e #define XK_Cyrillic_yu 0x6c0 |
|
1431 |
0x0430 #define XK_Cyrillic_a 0x6c1 |
|
1432 |
0x0431 #define XK_Cyrillic_be 0x6c2 |
|
1433 |
0x0446 #define XK_Cyrillic_tse 0x6c3 |
|
1434 |
0x0434 #define XK_Cyrillic_de 0x6c4 |
|
1435 |
0x0435 #define XK_Cyrillic_ie 0x6c5 |
|
1436 |
0x0444 #define XK_Cyrillic_ef 0x6c6 |
|
1437 |
0x0433 #define XK_Cyrillic_ghe 0x6c7 |
|
1438 |
0x0445 #define XK_Cyrillic_ha 0x6c8 |
|
1439 |
0x0438 #define XK_Cyrillic_i 0x6c9 |
|
1440 |
0x0439 #define XK_Cyrillic_shorti 0x6ca |
|
1441 |
0x043a #define XK_Cyrillic_ka 0x6cb |
|
1442 |
0x043b #define XK_Cyrillic_el 0x6cc |
|
1443 |
0x043c #define XK_Cyrillic_em 0x6cd |
|
1444 |
0x043d #define XK_Cyrillic_en 0x6ce |
|
1445 |
0x043e #define XK_Cyrillic_o 0x6cf |
|
1446 |
0x043f #define XK_Cyrillic_pe 0x6d0 |
|
1447 |
0x044f #define XK_Cyrillic_ya 0x6d1 |
|
1448 |
0x0440 #define XK_Cyrillic_er 0x6d2 |
|
1449 |
0x0441 #define XK_Cyrillic_es 0x6d3 |
|
1450 |
0x0442 #define XK_Cyrillic_te 0x6d4 |
|
1451 |
0x0443 #define XK_Cyrillic_u 0x6d5 |
|
1452 |
0x0436 #define XK_Cyrillic_zhe 0x6d6 |
|
1453 |
0x0432 #define XK_Cyrillic_ve 0x6d7 |
|
1454 |
0x044c #define XK_Cyrillic_softsign 0x6d8 |
|
1455 |
0x044b #define XK_Cyrillic_yeru 0x6d9 |
|
1456 |
0x0437 #define XK_Cyrillic_ze 0x6da |
|
1457 |
0x0448 #define XK_Cyrillic_sha 0x6db |
|
1458 |
0x044d #define XK_Cyrillic_e 0x6dc |
|
1459 |
0x0449 #define XK_Cyrillic_shcha 0x6dd |
|
1460 |
0x0447 #define XK_Cyrillic_che 0x6de |
|
1461 |
0x044a #define XK_Cyrillic_hardsign 0x6df |
|
1462 |
0x042e #define XK_Cyrillic_YU 0x6e0 |
|
1463 |
0x0410 #define XK_Cyrillic_A 0x6e1 |
|
1464 |
0x0411 #define XK_Cyrillic_BE 0x6e2 |
|
1465 |
0x0426 #define XK_Cyrillic_TSE 0x6e3 |
|
1466 |
0x0414 #define XK_Cyrillic_DE 0x6e4 |
|
1467 |
0x0415 #define XK_Cyrillic_IE 0x6e5 |
|
1468 |
0x0424 #define XK_Cyrillic_EF 0x6e6 |
|
1469 |
0x0413 #define XK_Cyrillic_GHE 0x6e7 |
|
1470 |
0x0425 #define XK_Cyrillic_HA 0x6e8 |
|
1471 |
0x0418 #define XK_Cyrillic_I 0x6e9 |
|
1472 |
0x0419 #define XK_Cyrillic_SHORTI 0x6ea |
|
1473 |
0x041a #define XK_Cyrillic_KA 0x6eb |
|
1474 |
0x041b #define XK_Cyrillic_EL 0x6ec |
|
1475 |
0x041c #define XK_Cyrillic_EM 0x6ed |
|
1476 |
0x041d #define XK_Cyrillic_EN 0x6ee |
|
1477 |
0x041e #define XK_Cyrillic_O 0x6ef |
|
1478 |
0x041f #define XK_Cyrillic_PE 0x6f0 |
|
1479 |
0x042f #define XK_Cyrillic_YA 0x6f1 |
|
1480 |
0x0420 #define XK_Cyrillic_ER 0x6f2 |
|
1481 |
0x0421 #define XK_Cyrillic_ES 0x6f3 |
|
1482 |
0x0422 #define XK_Cyrillic_TE 0x6f4 |
|
1483 |
0x0423 #define XK_Cyrillic_U 0x6f5 |
|
1484 |
0x0416 #define XK_Cyrillic_ZHE 0x6f6 |
|
1485 |
0x0412 #define XK_Cyrillic_VE 0x6f7 |
|
1486 |
0x042c #define XK_Cyrillic_SOFTSIGN 0x6f8 |
|
1487 |
0x042b #define XK_Cyrillic_YERU 0x6f9 |
|
1488 |
0x0417 #define XK_Cyrillic_ZE 0x6fa |
|
1489 |
0x0428 #define XK_Cyrillic_SHA 0x6fb |
|
1490 |
0x042d #define XK_Cyrillic_E 0x6fc |
|
1491 |
0x0429 #define XK_Cyrillic_SHCHA 0x6fd |
|
1492 |
0x0427 #define XK_Cyrillic_CHE 0x6fe |
|
1493 |
0x042a #define XK_Cyrillic_HARDSIGN 0x6ff |
|
1494 |
#endif /* XK_CYRILLIC */ |
|
1495 |
||
1496 |
/* |
|
1497 |
* Greek |
|
1498 |
* Byte 3 = 7 |
|
1499 |
*/ |
|
1500 |
||
1501 |
#ifdef XK_GREEK |
|
1502 |
0x0386 #define XK_Greek_ALPHAaccent 0x7a1 |
|
1503 |
0x0388 #define XK_Greek_EPSILONaccent 0x7a2 |
|
1504 |
0x0389 #define XK_Greek_ETAaccent 0x7a3 |
|
1505 |
0x038a #define XK_Greek_IOTAaccent 0x7a4 |
|
1506 |
0x03aa #define XK_Greek_IOTAdieresis 0x7a5 |
|
1507 |
0x0000 #define XK_Greek_IOTAdiaeresis XK_Greek_IOTAdieresis /* old typo */ |
|
1508 |
0x038c #define XK_Greek_OMICRONaccent 0x7a7 |
|
1509 |
0x038e #define XK_Greek_UPSILONaccent 0x7a8 |
|
1510 |
0x03ab #define XK_Greek_UPSILONdieresis 0x7a9 |
|
1511 |
0x038f #define XK_Greek_OMEGAaccent 0x7ab |
|
1512 |
0x0385 #define XK_Greek_accentdieresis 0x7ae |
|
1513 |
0x2015 #define XK_Greek_horizbar 0x7af |
|
1514 |
0x03ac #define XK_Greek_alphaaccent 0x7b1 |
|
1515 |
0x03ad #define XK_Greek_epsilonaccent 0x7b2 |
|
1516 |
0x03ae #define XK_Greek_etaaccent 0x7b3 |
|
1517 |
0x03af #define XK_Greek_iotaaccent 0x7b4 |
|
1518 |
0x03ca #define XK_Greek_iotadieresis 0x7b5 |
|
1519 |
0x0390 #define XK_Greek_iotaaccentdieresis 0x7b6 |
|
1520 |
0x03cc #define XK_Greek_omicronaccent 0x7b7 |
|
1521 |
0x03cd #define XK_Greek_upsilonaccent 0x7b8 |
|
1522 |
0x03cb #define XK_Greek_upsilondieresis 0x7b9 |
|
1523 |
0x03b0 #define XK_Greek_upsilonaccentdieresis 0x7ba |
|
1524 |
0x03ce #define XK_Greek_omegaaccent 0x7bb |
|
1525 |
0x0391 #define XK_Greek_ALPHA 0x7c1 |
|
1526 |
0x0392 #define XK_Greek_BETA 0x7c2 |
|
1527 |
0x0393 #define XK_Greek_GAMMA 0x7c3 |
|
1528 |
0x0394 #define XK_Greek_DELTA 0x7c4 |
|
1529 |
0x0395 #define XK_Greek_EPSILON 0x7c5 |
|
1530 |
0x0396 #define XK_Greek_ZETA 0x7c6 |
|
1531 |
0x0397 #define XK_Greek_ETA 0x7c7 |
|
1532 |
0x0398 #define XK_Greek_THETA 0x7c8 |
|
1533 |
0x0399 #define XK_Greek_IOTA 0x7c9 |
|
1534 |
0x039a #define XK_Greek_KAPPA 0x7ca |
|
1535 |
0x0000 #define XK_Greek_LAMDA 0x7cb |
|
1536 |
0x039b #define XK_Greek_LAMBDA 0x7cb |
|
1537 |
0x039c #define XK_Greek_MU 0x7cc |
|
1538 |
0x039d #define XK_Greek_NU 0x7cd |
|
1539 |
0x039e #define XK_Greek_XI 0x7ce |
|
1540 |
0x039f #define XK_Greek_OMICRON 0x7cf |
|
1541 |
0x03a0 #define XK_Greek_PI 0x7d0 |
|
1542 |
0x03a1 #define XK_Greek_RHO 0x7d1 |
|
1543 |
0x03a3 #define XK_Greek_SIGMA 0x7d2 |
|
1544 |
0x03a4 #define XK_Greek_TAU 0x7d4 |
|
1545 |
0x03a5 #define XK_Greek_UPSILON 0x7d5 |
|
1546 |
0x03a6 #define XK_Greek_PHI 0x7d6 |
|
1547 |
0x03a7 #define XK_Greek_CHI 0x7d7 |
|
1548 |
0x03a8 #define XK_Greek_PSI 0x7d8 |
|
1549 |
0x03a9 #define XK_Greek_OMEGA 0x7d9 |
|
1550 |
0x03b1 #define XK_Greek_alpha 0x7e1 |
|
1551 |
0x03b2 #define XK_Greek_beta 0x7e2 |
|
1552 |
0x03b3 #define XK_Greek_gamma 0x7e3 |
|
1553 |
0x03b4 #define XK_Greek_delta 0x7e4 |
|
1554 |
0x03b5 #define XK_Greek_epsilon 0x7e5 |
|
1555 |
0x03b6 #define XK_Greek_zeta 0x7e6 |
|
1556 |
0x03b7 #define XK_Greek_eta 0x7e7 |
|
1557 |
0x03b8 #define XK_Greek_theta 0x7e8 |
|
1558 |
0x03b9 #define XK_Greek_iota 0x7e9 |
|
1559 |
0x03ba #define XK_Greek_kappa 0x7ea |
|
1560 |
0x0000 #define XK_Greek_lamda 0x7eb |
|
1561 |
0x03bb #define XK_Greek_lambda 0x7eb |
|
1562 |
0x03bc #define XK_Greek_mu 0x7ec |
|
1563 |
0x03bd #define XK_Greek_nu 0x7ed |
|
1564 |
0x03be #define XK_Greek_xi 0x7ee |
|
1565 |
0x03bf #define XK_Greek_omicron 0x7ef |
|
1566 |
0x03c0 #define XK_Greek_pi 0x7f0 |
|
1567 |
0x03c1 #define XK_Greek_rho 0x7f1 |
|
1568 |
0x03c3 #define XK_Greek_sigma 0x7f2 |
|
1569 |
0x03c2 #define XK_Greek_finalsmallsigma 0x7f3 |
|
1570 |
0x03c4 #define XK_Greek_tau 0x7f4 |
|
1571 |
0x03c5 #define XK_Greek_upsilon 0x7f5 |
|
1572 |
0x03c6 #define XK_Greek_phi 0x7f6 |
|
1573 |
0x03c7 #define XK_Greek_chi 0x7f7 |
|
1574 |
0x03c8 #define XK_Greek_psi 0x7f8 |
|
1575 |
0x03c9 #define XK_Greek_omega 0x7f9 |
|
1576 |
0x0000 #define XK_Greek_switch 0xFF7E /* Alias for mode_switch */ |
|
1577 |
#endif /* XK_GREEK */ |
|
1578 |
||
1579 |
/* |
|
1580 |
* Technical |
|
1581 |
* Byte 3 = 8 |
|
1582 |
*/ |
|
1583 |
||
1584 |
#ifdef XK_TECHNICAL |
|
1585 |
0x23b7 #define XK_leftradical 0x8a1 |
|
1586 |
0x250c #define XK_topleftradical 0x8a2 |
|
1587 |
0x2500 #define XK_horizconnector 0x8a3 |
|
1588 |
0x2320 #define XK_topintegral 0x8a4 |
|
1589 |
0x2321 #define XK_botintegral 0x8a5 |
|
1590 |
0x2502 #define XK_vertconnector 0x8a6 |
|
1591 |
0x23a1 #define XK_topleftsqbracket 0x8a7 |
|
1592 |
0x23a3 #define XK_botleftsqbracket 0x8a8 |
|
1593 |
0x23a4 #define XK_toprightsqbracket 0x8a9 |
|
1594 |
0x23a6 #define XK_botrightsqbracket 0x8aa |
|
1595 |
0x239b #define XK_topleftparens 0x8ab |
|
1596 |
0x239d #define XK_botleftparens 0x8ac |
|
1597 |
0x239e #define XK_toprightparens 0x8ad |
|
1598 |
0x23a0 #define XK_botrightparens 0x8ae |
|
1599 |
0x23a8 #define XK_leftmiddlecurlybrace 0x8af |
|
1600 |
0x23ac #define XK_rightmiddlecurlybrace 0x8b0 |
|
1601 |
0x0000 #define XK_topleftsummation 0x8b1 |
|
1602 |
0x0000 #define XK_botleftsummation 0x8b2 |
|
1603 |
0x0000 #define XK_topvertsummationconnector 0x8b3 |
|
1604 |
0x0000 #define XK_botvertsummationconnector 0x8b4 |
|
1605 |
0x0000 #define XK_toprightsummation 0x8b5 |
|
1606 |
0x0000 #define XK_botrightsummation 0x8b6 |
|
1607 |
0x0000 #define XK_rightmiddlesummation 0x8b7 |
|
1608 |
0x2264 #define XK_lessthanequal 0x8bc |
|
1609 |
0x2260 #define XK_notequal 0x8bd |
|
1610 |
0x2265 #define XK_greaterthanequal 0x8be |
|
1611 |
0x222b #define XK_integral 0x8bf |
|
1612 |
0x2234 #define XK_therefore 0x8c0 |
|
1613 |
0x221d #define XK_variation 0x8c1 |
|
1614 |
0x221e #define XK_infinity 0x8c2 |
|
1615 |
0x2207 #define XK_nabla 0x8c5 |
|
1616 |
0x223c #define XK_approximate 0x8c8 |
|
1617 |
0x2243 #define XK_similarequal 0x8c9 |
|
1618 |
0x2104 #define XK_ifonlyif 0x8cd |
|
1619 |
0x21d2 #define XK_implies 0x8ce |
|
1620 |
0x2261 #define XK_identical 0x8cf |
|
1621 |
0x221a #define XK_radical 0x8d6 |
|
1622 |
0x2282 #define XK_includedin 0x8da |
|
1623 |
0x2283 #define XK_includes 0x8db |
|
1624 |
0x2229 #define XK_intersection 0x8dc |
|
1625 |
0x222a #define XK_union 0x8dd |
|
1626 |
0x2227 #define XK_logicaland 0x8de |
|
1627 |
0x2228 #define XK_logicalor 0x8df |
|
1628 |
0x2202 #define XK_partialderivative 0x8ef |
|
1629 |
0x0192 #define XK_function 0x8f6 |
|
1630 |
0x2190 #define XK_leftarrow 0x8fb |
|
1631 |
0x2191 #define XK_uparrow 0x8fc |
|
1632 |
0x2192 #define XK_rightarrow 0x8fd |
|
1633 |
0x2193 #define XK_downarrow 0x8fe |
|
1634 |
#endif /* XK_TECHNICAL */ |
|
1635 |
||
1636 |
/* |
|
1637 |
* Special |
|
1638 |
* Byte 3 = 9 |
|
1639 |
*/ |
|
1640 |
||
1641 |
#ifdef XK_SPECIAL |
|
1642 |
0x0000 #define XK_blank 0x9df |
|
1643 |
0x25c6 #define XK_soliddiamond 0x9e0 |
|
1644 |
0x2592 #define XK_checkerboard 0x9e1 |
|
1645 |
0x2409 #define XK_ht 0x9e2 |
|
1646 |
0x240c #define XK_ff 0x9e3 |
|
1647 |
0x240d #define XK_cr 0x9e4 |
|
1648 |
0x240a #define XK_lf 0x9e5 |
|
1649 |
0x2424 #define XK_nl 0x9e8 |
|
1650 |
0x240b #define XK_vt 0x9e9 |
|
1651 |
0x2518 #define XK_lowrightcorner 0x9ea |
|
1652 |
0x2510 #define XK_uprightcorner 0x9eb |
|
1653 |
0x250c #define XK_upleftcorner 0x9ec |
|
1654 |
0x2514 #define XK_lowleftcorner 0x9ed |
|
1655 |
0x253c #define XK_crossinglines 0x9ee |
|
1656 |
0x23ba #define XK_horizlinescan1 0x9ef |
|
1657 |
0x23bb #define XK_horizlinescan3 0x9f0 |
|
1658 |
0x2500 #define XK_horizlinescan5 0x9f1 |
|
1659 |
0x23bc #define XK_horizlinescan7 0x9f2 |
|
1660 |
0x23bd #define XK_horizlinescan9 0x9f3 |
|
1661 |
0x251c #define XK_leftt 0x9f4 |
|
1662 |
0x2524 #define XK_rightt 0x9f5 |
|
1663 |
0x2534 #define XK_bott 0x9f6 |
|
1664 |
0x242c #define XK_topt 0x9f7 |
|
1665 |
0x2502 #define XK_vertbar 0x9f8 |
|
1666 |
#endif /* XK_SPECIAL */ |
|
1667 |
||
1668 |
/* |
|
1669 |
* Publishing |
|
1670 |
* Byte 3 = a |
|
1671 |
*/ |
|
1672 |
||
1673 |
#ifdef XK_PUBLISHING |
|
1674 |
0x2003 #define XK_emspace 0xaa1 |
|
1675 |
0x2002 #define XK_enspace 0xaa2 |
|
1676 |
0x2004 #define XK_em3space 0xaa3 |
|
1677 |
0x2005 #define XK_em4space 0xaa4 |
|
1678 |
0x2007 #define XK_digitspace 0xaa5 |
|
1679 |
0x2008 #define XK_punctspace 0xaa6 |
|
1680 |
0x2009 #define XK_thinspace 0xaa7 |
|
1681 |
0x200a #define XK_hairspace 0xaa8 |
|
1682 |
0x2014 #define XK_emdash 0xaa9 |
|
1683 |
0x2013 #define XK_endash 0xaaa |
|
1684 |
0x2423 #define XK_signifblank 0xaac |
|
1685 |
0x2026 #define XK_ellipsis 0xaae |
|
1686 |
0x2025 #define XK_doubbaselinedot 0xaaf |
|
1687 |
0x2153 #define XK_onethird 0xab0 |
|
1688 |
0x2154 #define XK_twothirds 0xab1 |
|
1689 |
0x2155 #define XK_onefifth 0xab2 |
|
1690 |
0x2156 #define XK_twofifths 0xab3 |
|
1691 |
0x2157 #define XK_threefifths 0xab4 |
|
1692 |
0x2158 #define XK_fourfifths 0xab5 |
|
1693 |
0x2159 #define XK_onesixth 0xab6 |
|
1694 |
0x215a #define XK_fivesixths 0xab7 |
|
1695 |
0x2105 #define XK_careof 0xab8 |
|
1696 |
0x2012 #define XK_figdash 0xabb |
|
1697 |
0x27e8 #define XK_leftanglebracket 0xabc |
|
1698 |
0x002e #define XK_decimalpoint 0xabd |
|
1699 |
0x27e9 #define XK_rightanglebracket 0xabe |
|
1700 |
0x0000 #define XK_marker 0xabf |
|
1701 |
0x215b #define XK_oneeighth 0xac3 |
|
1702 |
0x215c #define XK_threeeighths 0xac4 |
|
1703 |
0x215d #define XK_fiveeighths 0xac5 |
|
1704 |
0x215e #define XK_seveneighths 0xac6 |
|
1705 |
0x2122 #define XK_trademark 0xac9 |
|
1706 |
0x2613 #define XK_signaturemark 0xaca |
|
1707 |
0x0000 #define XK_trademarkincircle 0xacb |
|
1708 |
0x25c1 #define XK_leftopentriangle 0xacc |
|
1709 |
0x25b7 #define XK_rightopentriangle 0xacd |
|
1710 |
0x25cb #define XK_emopencircle 0xace |
|
1711 |
0x25af #define XK_emopenrectangle 0xacf |
|
1712 |
0x2018 #define XK_leftsinglequotemark 0xad0 |
|
1713 |
0x2019 #define XK_rightsinglequotemark 0xad1 |
|
1714 |
0x201c #define XK_leftdoublequotemark 0xad2 |
|
1715 |
0x201d #define XK_rightdoublequotemark 0xad3 |
|
1716 |
0x211e #define XK_prescription 0xad4 |
|
1717 |
0x2032 #define XK_minutes 0xad6 |
|
1718 |
0x2033 #define XK_seconds 0xad7 |
|
1719 |
0x271d #define XK_latincross 0xad9 |
|
1720 |
0x0000 #define XK_hexagram 0xada |
|
1721 |
0x25ac #define XK_filledrectbullet 0xadb |
|
1722 |
0x25c0 #define XK_filledlefttribullet 0xadc |
|
1723 |
0x25b6 #define XK_filledrighttribullet 0xadd |
|
1724 |
0x25cf #define XK_emfilledcircle 0xade |
|
1725 |
0x25ae #define XK_emfilledrect 0xadf |
|
1726 |
0x25e6 #define XK_enopencircbullet 0xae0 |
|
1727 |
0x25ab #define XK_enopensquarebullet 0xae1 |
|
1728 |
0x25ad #define XK_openrectbullet 0xae2 |
|
1729 |
0x25b3 #define XK_opentribulletup 0xae3 |
|
1730 |
0x25bd #define XK_opentribulletdown 0xae4 |
|
1731 |
0x2606 #define XK_openstar 0xae5 |
|
1732 |
0x2022 #define XK_enfilledcircbullet 0xae6 |
|
1733 |
0x25aa #define XK_enfilledsqbullet 0xae7 |
|
1734 |
0x25b2 #define XK_filledtribulletup 0xae8 |
|
1735 |
0x25bc #define XK_filledtribulletdown 0xae9 |
|
1736 |
0x261c #define XK_leftpointer 0xaea |
|
1737 |
0x261e #define XK_rightpointer 0xaeb |
|
1738 |
0x2663 #define XK_club 0xaec |
|
1739 |
0x2666 #define XK_diamond 0xaed |
|
1740 |
0x2665 #define XK_heart 0xaee |
|
1741 |
0x2720 #define XK_maltesecross 0xaf0 |
|
1742 |
0x2020 #define XK_dagger 0xaf1 |
|
1743 |
0x2021 #define XK_doubledagger 0xaf2 |
|
1744 |
0x2713 #define XK_checkmark 0xaf3 |
|
1745 |
0x2717 #define XK_ballotcross 0xaf4 |
|
1746 |
0x266f #define XK_musicalsharp 0xaf5 |
|
1747 |
0x266d #define XK_musicalflat 0xaf6 |
|
1748 |
0x2642 #define XK_malesymbol 0xaf7 |
|
1749 |
0x2640 #define XK_femalesymbol 0xaf8 |
|
1750 |
0x260e #define XK_telephone 0xaf9 |
|
1751 |
0x2315 #define XK_telephonerecorder 0xafa |
|
1752 |
0x2117 #define XK_phonographcopyright 0xafb |
|
1753 |
0x2038 #define XK_caret 0xafc |
|
1754 |
0x201a #define XK_singlelowquotemark 0xafd |
|
1755 |
0x201e #define XK_doublelowquotemark 0xafe |
|
1756 |
0x0000 #define XK_cursor 0xaff |
|
1757 |
#endif /* XK_PUBLISHING */ |
|
1758 |
||
1759 |
/* |
|
1760 |
* APL |
|
1761 |
* Byte 3 = b |
|
1762 |
*/ |
|
1763 |
||
1764 |
#ifdef XK_APL |
|
1765 |
0x003c #define XK_leftcaret 0xba3 |
|
1766 |
0x003e #define XK_rightcaret 0xba6 |
|
1767 |
0x2228 #define XK_downcaret 0xba8 |
|
1768 |
0x2227 #define XK_upcaret 0xba9 |
|
1769 |
0x00af #define XK_overbar 0xbc0 |
|
1770 |
0x22a5 #define XK_downtack 0xbc2 |
|
1771 |
0x2229 #define XK_upshoe 0xbc3 |
|
1772 |
0x230a #define XK_downstile 0xbc4 |
|
1773 |
0x005f #define XK_underbar 0xbc6 |
|
1774 |
0x2218 #define XK_jot 0xbca |
|
1775 |
0x2395 #define XK_quad 0xbcc |
|
1776 |
0x22a4 #define XK_uptack 0xbce |
|
1777 |
0x25cb #define XK_circle 0xbcf |
|
1778 |
0x2308 #define XK_upstile 0xbd3 |
|
1779 |
0x222a #define XK_downshoe 0xbd6 |
|
1780 |
0x2283 #define XK_rightshoe 0xbd8 |
|
1781 |
0x2282 #define XK_leftshoe 0xbda |
|
1782 |
0x22a2 #define XK_lefttack 0xbdc |
|
1783 |
0x22a3 #define XK_righttack 0xbfc |
|
1784 |
#endif /* XK_APL */ |
|
1785 |
||
1786 |
/* |
|
1787 |
* Hebrew |
|
1788 |
* Byte 3 = c |
|
1789 |
*/ |
|
1790 |
||
1791 |
#ifdef XK_HEBREW |
|
1792 |
0x2017 #define XK_hebrew_doublelowline 0xcdf |
|
1793 |
0x05d0 #define XK_hebrew_aleph 0xce0 |
|
1794 |
0x05d1 #define XK_hebrew_bet 0xce1 |
|
1795 |
0x0000 #define XK_hebrew_beth 0xce1 /* deprecated */ |
|
1796 |
0x05d2 #define XK_hebrew_gimel 0xce2 |
|
1797 |
0x0000 #define XK_hebrew_gimmel 0xce2 /* deprecated */ |
|
1798 |
0x05d3 #define XK_hebrew_dalet 0xce3 |
|
1799 |
0x0000 #define XK_hebrew_daleth 0xce3 /* deprecated */ |
|
1800 |
0x05d4 #define XK_hebrew_he 0xce4 |
|
1801 |
0x05d5 #define XK_hebrew_waw 0xce5 |
|
1802 |
0x05d6 #define XK_hebrew_zain 0xce6 |
|
1803 |
0x0000 #define XK_hebrew_zayin 0xce6 /* deprecated */ |
|
1804 |
0x05d7 #define XK_hebrew_chet 0xce7 |
|
1805 |
0x0000 #define XK_hebrew_het 0xce7 /* deprecated */ |
|
1806 |
0x05d8 #define XK_hebrew_tet 0xce8 |
|
1807 |
0x0000 #define XK_hebrew_teth 0xce8 /* deprecated */ |
|
1808 |
0x05d9 #define XK_hebrew_yod 0xce9 |
|
1809 |
0x05da #define XK_hebrew_finalkaph 0xcea |
|
1810 |
0x05db #define XK_hebrew_kaph 0xceb |
|
1811 |
0x05dc #define XK_hebrew_lamed 0xcec |
|
1812 |
0x05dd #define XK_hebrew_finalmem 0xced |
|
1813 |
0x05de #define XK_hebrew_mem 0xcee |
|
1814 |
0x05df #define XK_hebrew_finalnun 0xcef |
|
1815 |
0x05e0 #define XK_hebrew_nun 0xcf0 |
|
1816 |
0x05e1 #define XK_hebrew_samech 0xcf1 |
|
1817 |
0x0000 #define XK_hebrew_samekh 0xcf1 /* deprecated */ |
|
1818 |
0x05e2 #define XK_hebrew_ayin 0xcf2 |
|
1819 |
0x05e3 #define XK_hebrew_finalpe 0xcf3 |
|
1820 |
0x05e4 #define XK_hebrew_pe 0xcf4 |
|
1821 |
0x05e5 #define XK_hebrew_finalzade 0xcf5 |
|
1822 |
0x0000 #define XK_hebrew_finalzadi 0xcf5 /* deprecated */ |
|
1823 |
0x05e6 #define XK_hebrew_zade 0xcf6 |
|
1824 |
0x0000 #define XK_hebrew_zadi 0xcf6 /* deprecated */ |
|
1825 |
0x05e7 #define XK_hebrew_qoph 0xcf7 |
|
1826 |
0x0000 #define XK_hebrew_kuf 0xcf7 /* deprecated */ |
|
1827 |
0x05e8 #define XK_hebrew_resh 0xcf8 |
|
1828 |
0x05e9 #define XK_hebrew_shin 0xcf9 |
|
1829 |
0x05ea #define XK_hebrew_taw 0xcfa |
|
1830 |
0x0000 #define XK_hebrew_taf 0xcfa /* deprecated */ |
|
1831 |
0x0000 #define XK_Hebrew_switch 0xFF7E /* Alias for mode_switch */ |
|
1832 |
#endif /* XK_HEBREW */ |
|
1833 |
||
1834 |
/* |
|
1835 |
* Thai |
|
1836 |
* Byte 3 = d |
|
1837 |
*/ |
|
1838 |
||
1839 |
#ifdef XK_THAI |
|
1840 |
0x0e01 #define XK_Thai_kokai 0xda1 |
|
1841 |
0x0e02 #define XK_Thai_khokhai 0xda2 |
|
1842 |
0x0e03 #define XK_Thai_khokhuat 0xda3 |
|
1843 |
0x0e04 #define XK_Thai_khokhwai 0xda4 |
|
1844 |
0x0e05 #define XK_Thai_khokhon 0xda5 |
|
1845 |
0x0e06 #define XK_Thai_khorakhang 0xda6 |
|
1846 |
0x0e07 #define XK_Thai_ngongu 0xda7 |
|
1847 |
0x0e08 #define XK_Thai_chochan 0xda8 |
|
1848 |
0x0e09 #define XK_Thai_choching 0xda9 |
|
1849 |
0x0e0a #define XK_Thai_chochang 0xdaa |
|
1850 |
0x0e0b #define XK_Thai_soso 0xdab |
|
1851 |
0x0e0c #define XK_Thai_chochoe 0xdac |
|
1852 |
0x0e0d #define XK_Thai_yoying 0xdad |
|
1853 |
0x0e0e #define XK_Thai_dochada 0xdae |
|
1854 |
0x0e0f #define XK_Thai_topatak 0xdaf |
|
1855 |
0x0e10 #define XK_Thai_thothan 0xdb0 |
|
1856 |
0x0e11 #define XK_Thai_thonangmontho 0xdb1 |
|
1857 |
0x0e12 #define XK_Thai_thophuthao 0xdb2 |
|
1858 |
0x0e13 #define XK_Thai_nonen 0xdb3 |
|
1859 |
0x0e14 #define XK_Thai_dodek 0xdb4 |
|
1860 |
0x0e15 #define XK_Thai_totao 0xdb5 |
|
1861 |
0x0e16 #define XK_Thai_thothung 0xdb6 |
|
1862 |
0x0e17 #define XK_Thai_thothahan 0xdb7 |
|
1863 |
0x0e18 #define XK_Thai_thothong 0xdb8 |
|
1864 |
0x0e19 #define XK_Thai_nonu 0xdb9 |
|
1865 |
0x0e1a #define XK_Thai_bobaimai 0xdba |
|
1866 |
0x0e1b #define XK_Thai_popla 0xdbb |
|
1867 |
0x0e1c #define XK_Thai_phophung 0xdbc |
|
1868 |
0x0e1d #define XK_Thai_fofa 0xdbd |
|
1869 |
0x0e1e #define XK_Thai_phophan 0xdbe |
|
1870 |
0x0e1f #define XK_Thai_fofan 0xdbf |
|
1871 |
0x0e20 #define XK_Thai_phosamphao 0xdc0 |
|
1872 |
0x0e21 #define XK_Thai_moma 0xdc1 |
|
1873 |
0x0e22 #define XK_Thai_yoyak 0xdc2 |
|
1874 |
0x0e23 #define XK_Thai_rorua 0xdc3 |
|
1875 |
0x0e24 #define XK_Thai_ru 0xdc4 |
|
1876 |
0x0e25 #define XK_Thai_loling 0xdc5 |
|
1877 |
0x0e26 #define XK_Thai_lu 0xdc6 |
|
1878 |
0x0e27 #define XK_Thai_wowaen 0xdc7 |
|
1879 |
0x0e28 #define XK_Thai_sosala 0xdc8 |
|
1880 |
0x0e29 #define XK_Thai_sorusi 0xdc9 |
|
1881 |
0x0e2a #define XK_Thai_sosua 0xdca |
|
1882 |
0x0e2b #define XK_Thai_hohip 0xdcb |
|
1883 |
0x0e2c #define XK_Thai_lochula 0xdcc |
|
1884 |
0x0e2d #define XK_Thai_oang 0xdcd |
|
1885 |
0x0e2e #define XK_Thai_honokhuk 0xdce |
|
1886 |
0x0e2f #define XK_Thai_paiyannoi 0xdcf |
|
1887 |
0x0e30 #define XK_Thai_saraa 0xdd0 |
|
1888 |
0x0e31 #define XK_Thai_maihanakat 0xdd1 |
|
1889 |
0x0e32 #define XK_Thai_saraaa 0xdd2 |
|
1890 |
0x0e33 #define XK_Thai_saraam 0xdd3 |
|
1891 |
0x0e34 #define XK_Thai_sarai 0xdd4 |
|
1892 |
0x0e35 #define XK_Thai_saraii 0xdd5 |
|
1893 |
0x0e36 #define XK_Thai_saraue 0xdd6 |
|
1894 |
0x0e37 #define XK_Thai_sarauee 0xdd7 |
|
1895 |
0x0e38 #define XK_Thai_sarau 0xdd8 |
|
1896 |
0x0e39 #define XK_Thai_sarauu 0xdd9 |
|
1897 |
0x0e3a #define XK_Thai_phinthu 0xdda |
|
1898 |
0x0000 #define XK_Thai_maihanakat_maitho 0xdde |
|
1899 |
0x0e3f #define XK_Thai_baht 0xddf |
|
1900 |
0x0e40 #define XK_Thai_sarae 0xde0 |
|
1901 |
0x0e41 #define XK_Thai_saraae 0xde1 |
|
1902 |
0x0e42 #define XK_Thai_sarao 0xde2 |
|
1903 |
0x0e43 #define XK_Thai_saraaimaimuan 0xde3 |
|
1904 |
0x0e44 #define XK_Thai_saraaimaimalai 0xde4 |
|
1905 |
0x0e45 #define XK_Thai_lakkhangyao 0xde5 |
|
1906 |
0x0e46 #define XK_Thai_maiyamok 0xde6 |
|
1907 |
0x0e47 #define XK_Thai_maitaikhu 0xde7 |
|
1908 |
0x0e48 #define XK_Thai_maiek 0xde8 |
|
1909 |
0x0e49 #define XK_Thai_maitho 0xde9 |
|
1910 |
0x0e4a #define XK_Thai_maitri 0xdea |
|
1911 |
0x0e4b #define XK_Thai_maichattawa 0xdeb |
|
1912 |
0x0e4c #define XK_Thai_thanthakhat 0xdec |
|
1913 |
0x0e4d #define XK_Thai_nikhahit 0xded |
|
1914 |
0x0e50 #define XK_Thai_leksun 0xdf0 |
|
1915 |
0x0e51 #define XK_Thai_leknung 0xdf1 |
|
1916 |
0x0e52 #define XK_Thai_leksong 0xdf2 |
|
1917 |
0x0e53 #define XK_Thai_leksam 0xdf3 |
|
1918 |
0x0e54 #define XK_Thai_leksi 0xdf4 |
|
1919 |
0x0e55 #define XK_Thai_lekha 0xdf5 |
|
1920 |
0x0e56 #define XK_Thai_lekhok 0xdf6 |
|
1921 |
0x0e57 #define XK_Thai_lekchet 0xdf7 |
|
1922 |
0x0e58 #define XK_Thai_lekpaet 0xdf8 |
|
1923 |
0x0e59 #define XK_Thai_lekkao 0xdf9 |
|
1924 |
#endif /* XK_THAI */ |
|
1925 |
||
1926 |
/* |
|
1927 |
* Korean |
|
1928 |
* Byte 3 = e |
|
1929 |
*/ |
|
1930 |
||
1931 |
#ifdef XK_KOREAN |
|
1932 |
||
1933 |
0x0000 #define XK_Hangul 0xff31 /* Hangul start/stop(toggle) */ |
|
1934 |
0x0000 #define XK_Hangul_Start 0xff32 /* Hangul start */ |
|
1935 |
0x0000 #define XK_Hangul_End 0xff33 /* Hangul end, English start */ |
|
1936 |
0x0000 #define XK_Hangul_Hanja 0xff34 /* Start Hangul->Hanja Conversion */ |
|
1937 |
0x0000 #define XK_Hangul_Jamo 0xff35 /* Hangul Jamo mode */ |
|
1938 |
0x0000 #define XK_Hangul_Romaja 0xff36 /* Hangul Romaja mode */ |
|
1939 |
0x0000 #define XK_Hangul_Codeinput 0xff37 /* Hangul code input mode */ |
|
1940 |
0x0000 #define XK_Hangul_Jeonja 0xff38 /* Jeonja mode */ |
|
1941 |
0x0000 #define XK_Hangul_Banja 0xff39 /* Banja mode */ |
|
1942 |
0x0000 #define XK_Hangul_PreHanja 0xff3a /* Pre Hanja conversion */ |
|
1943 |
0x0000 #define XK_Hangul_PostHanja 0xff3b /* Post Hanja conversion */ |
|
1944 |
0x0000 #define XK_Hangul_SingleCandidate 0xff3c /* Single candidate */ |
|
1945 |
0x0000 #define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */ |
|
1946 |
0x0000 #define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */ |
|
1947 |
0x0000 #define XK_Hangul_Special 0xff3f /* Special symbols */ |
|
1948 |
0x0000 #define XK_Hangul_switch 0xFF7E /* Alias for mode_switch */ |
|
1949 |
||
1950 |
/* Hangul Consonant Characters */ |
|
1951 |
0x3131 #define XK_Hangul_Kiyeog 0xea1 |
|
1952 |
0x3132 #define XK_Hangul_SsangKiyeog 0xea2 |
|
1953 |
0x3133 #define XK_Hangul_KiyeogSios 0xea3 |
|
1954 |
0x3134 #define XK_Hangul_Nieun 0xea4 |
|
1955 |
0x3135 #define XK_Hangul_NieunJieuj 0xea5 |
|
1956 |
0x3136 #define XK_Hangul_NieunHieuh 0xea6 |
|
1957 |
0x3137 #define XK_Hangul_Dikeud 0xea7 |
|
1958 |
0x3138 #define XK_Hangul_SsangDikeud 0xea8 |
|
1959 |
0x3139 #define XK_Hangul_Rieul 0xea9 |
|
1960 |
0x313a #define XK_Hangul_RieulKiyeog 0xeaa |
|
1961 |
0x313b #define XK_Hangul_RieulMieum 0xeab |
|
1962 |
0x313c #define XK_Hangul_RieulPieub 0xeac |
|
1963 |
0x313d #define XK_Hangul_RieulSios 0xead |
|
1964 |
0x313e #define XK_Hangul_RieulTieut 0xeae |
|
1965 |
0x313f #define XK_Hangul_RieulPhieuf 0xeaf |
|
1966 |
0x3140 #define XK_Hangul_RieulHieuh 0xeb0 |
|
1967 |
0x3141 #define XK_Hangul_Mieum 0xeb1 |
|
1968 |
0x3142 #define XK_Hangul_Pieub 0xeb2 |
|
1969 |
0x3143 #define XK_Hangul_SsangPieub 0xeb3 |
|
1970 |
0x3144 #define XK_Hangul_PieubSios 0xeb4 |
|
1971 |
0x3145 #define XK_Hangul_Sios 0xeb5 |
|
1972 |
0x3146 #define XK_Hangul_SsangSios 0xeb6 |
|
1973 |
0x3147 #define XK_Hangul_Ieung 0xeb7 |
|
1974 |
0x3148 #define XK_Hangul_Jieuj 0xeb8 |
|
1975 |
0x3149 #define XK_Hangul_SsangJieuj 0xeb9 |
|
1976 |
0x314a #define XK_Hangul_Cieuc 0xeba |
|
1977 |
0x314b #define XK_Hangul_Khieuq 0xebb |
|
1978 |
0x314c #define XK_Hangul_Tieut 0xebc |
|
1979 |
0x314d #define XK_Hangul_Phieuf 0xebd |
|
1980 |
0x314e #define XK_Hangul_Hieuh 0xebe |
|
1981 |
||
1982 |
/* Hangul Vowel Characters */ |
|
1983 |
0x314f #define XK_Hangul_A 0xebf |
|
1984 |
0x3150 #define XK_Hangul_AE 0xec0 |
|
1985 |
0x3151 #define XK_Hangul_YA 0xec1 |
|
1986 |
0x3152 #define XK_Hangul_YAE 0xec2 |
|
1987 |
0x3153 #define XK_Hangul_EO 0xec3 |
|
1988 |
0x3154 #define XK_Hangul_E 0xec4 |
|
1989 |
0x3155 #define XK_Hangul_YEO 0xec5 |
|
1990 |
0x3156 #define XK_Hangul_YE 0xec6 |
|
1991 |
0x3157 #define XK_Hangul_O 0xec7 |
|
1992 |
0x3158 #define XK_Hangul_WA 0xec8 |
|
1993 |
0x3159 #define XK_Hangul_WAE 0xec9 |
|
1994 |
0x315a #define XK_Hangul_OE 0xeca |
|
1995 |
0x315b #define XK_Hangul_YO 0xecb |
|
1996 |
0x315c #define XK_Hangul_U 0xecc |
|
1997 |
0x315d #define XK_Hangul_WEO 0xecd |
|
1998 |
0x315e #define XK_Hangul_WE 0xece |
|
1999 |
0x315f #define XK_Hangul_WI 0xecf |
|
2000 |
0x3160 #define XK_Hangul_YU 0xed0 |
|
2001 |
0x3161 #define XK_Hangul_EU 0xed1 |
|
2002 |
0x3162 #define XK_Hangul_YI 0xed2 |
|
2003 |
0x3163 #define XK_Hangul_I 0xed3 |
|
2004 |
||
2005 |
/* Hangul syllable-final (JongSeong) Characters */ |
|
2006 |
0x11a8 #define XK_Hangul_J_Kiyeog 0xed4 |
|
2007 |
0x11a9 #define XK_Hangul_J_SsangKiyeog 0xed5 |
|
2008 |
0x11aa #define XK_Hangul_J_KiyeogSios 0xed6 |
|
2009 |
0x11ab #define XK_Hangul_J_Nieun 0xed7 |
|
2010 |
0x11ac #define XK_Hangul_J_NieunJieuj 0xed8 |
|
2011 |
0x11ad #define XK_Hangul_J_NieunHieuh 0xed9 |
|
2012 |
0x11ae #define XK_Hangul_J_Dikeud 0xeda |
|
2013 |
0x11af #define XK_Hangul_J_Rieul 0xedb |
|
2014 |
0x11b0 #define XK_Hangul_J_RieulKiyeog 0xedc |
|
2015 |
0x11b1 #define XK_Hangul_J_RieulMieum 0xedd |
|
2016 |
0x11b2 #define XK_Hangul_J_RieulPieub 0xede |
|
2017 |
0x11b3 #define XK_Hangul_J_RieulSios 0xedf |
|
2018 |
0x11b4 #define XK_Hangul_J_RieulTieut 0xee0 |
|
2019 |
0x11b5 #define XK_Hangul_J_RieulPhieuf 0xee1 |
|
2020 |
0x11b6 #define XK_Hangul_J_RieulHieuh 0xee2 |
|
2021 |
0x11b7 #define XK_Hangul_J_Mieum 0xee3 |
|
2022 |
0x11b8 #define XK_Hangul_J_Pieub 0xee4 |
|
2023 |
0x11b9 #define XK_Hangul_J_PieubSios 0xee5 |
|
2024 |
0x11ba #define XK_Hangul_J_Sios 0xee6 |
|
2025 |
0x11bb #define XK_Hangul_J_SsangSios 0xee7 |
|
2026 |
0x11bc #define XK_Hangul_J_Ieung 0xee8 |
|
2027 |
0x11bd #define XK_Hangul_J_Jieuj 0xee9 |
|
2028 |
0x11be #define XK_Hangul_J_Cieuc 0xeea |
|
2029 |
0x11bf #define XK_Hangul_J_Khieuq 0xeeb |
|
2030 |
0x11c0 #define XK_Hangul_J_Tieut 0xeec |
|
2031 |
0x11c1 #define XK_Hangul_J_Phieuf 0xeed |
|
2032 |
0x11c2 #define XK_Hangul_J_Hieuh 0xeee |
|
2033 |
||
2034 |
/* Ancient Hangul Consonant Characters */ |
|
2035 |
0x316d #define XK_Hangul_RieulYeorinHieuh 0xeef |
|
2036 |
0x3171 #define XK_Hangul_SunkyeongeumMieum 0xef0 |
|
2037 |
0x3178 #define XK_Hangul_SunkyeongeumPieub 0xef1 |
|
2038 |
0x317f #define XK_Hangul_PanSios 0xef2 |
|
2039 |
0x3181 #define XK_Hangul_KkogjiDalrinIeung 0xef3 |
|
2040 |
0x3184 #define XK_Hangul_SunkyeongeumPhieuf 0xef4 |
|
2041 |
0x3186 #define XK_Hangul_YeorinHieuh 0xef5 |
|
2042 |
||
2043 |
/* Ancient Hangul Vowel Characters */ |
|
2044 |
0x318d #define XK_Hangul_AraeA 0xef6 |
|
2045 |
0x318e #define XK_Hangul_AraeAE 0xef7 |
|
2046 |
||
2047 |
/* Ancient Hangul syllable-final (JongSeong) Characters */ |
|
2048 |
0x11eb #define XK_Hangul_J_PanSios 0xef8 |
|
2049 |
0x11f0 #define XK_Hangul_J_KkogjiDalrinIeung 0xef9 |
|
2050 |
0x11f9 #define XK_Hangul_J_YeorinHieuh 0xefa |
|
2051 |
||
2052 |
/* Korean currency symbol */ |
|
2053 |
0x20a9 #define XK_Korean_Won 0xeff |
|
2054 |
||
2055 |
#endif /* XK_KOREAN */ |
|
2056 |
||
2057 |
/* |
|
2058 |
* Armenian |
|
2059 |
* Byte 3 = 0x14 |
|
2060 |
*/ |
|
2061 |
// yan: skip Armenian for the time being |
|
2062 |
#ifdef XK_ARMENIAN |
|
2063 |
0x0000 #define XK_Armenian_eternity 0x14a1 |
|
2064 |
0x0000 #define XK_Armenian_ligature_ew 0x14a2 |
|
2065 |
0x0000 #define XK_Armenian_full_stop 0x14a3 |
|
2066 |
0x0000 #define XK_Armenian_verjaket 0x14a3 |
|
2067 |
0x0000 #define XK_Armenian_parenright 0x14a4 |
|
2068 |
0x0000 #define XK_Armenian_parenleft 0x14a5 |
|
2069 |
0x0000 #define XK_Armenian_guillemotright 0x14a6 |
|
2070 |
0x0000 #define XK_Armenian_guillemotleft 0x14a7 |
|
2071 |
0x0000 #define XK_Armenian_em_dash 0x14a8 |
|
2072 |
0x0000 #define XK_Armenian_dot 0x14a9 |
|
2073 |
0x0000 #define XK_Armenian_mijaket 0x14a9 |
|
2074 |
0x0000 #define XK_Armenian_separation_mark 0x14aa |
|
2075 |
0x0000 #define XK_Armenian_but 0x14aa |
|
2076 |
0x0000 #define XK_Armenian_comma 0x14ab |
|
2077 |
0x0000 #define XK_Armenian_en_dash 0x14ac |
|
2078 |
0x0000 #define XK_Armenian_hyphen 0x14ad |
|
2079 |
0x0000 #define XK_Armenian_yentamna 0x14ad |
|
2080 |
0x0000 #define XK_Armenian_ellipsis 0x14ae |
|
2081 |
0x0000 #define XK_Armenian_exclam 0x14af |
|
2082 |
0x0000 #define XK_Armenian_amanak 0x14af |
|
2083 |
0x0000 #define XK_Armenian_accent 0x14b0 |
|
2084 |
0x0000 #define XK_Armenian_shesht 0x14b0 |
|
2085 |
0x0000 #define XK_Armenian_question 0x14b1 |
|
2086 |
0x0000 #define XK_Armenian_paruyk 0x14b1 |
|
2087 |
0x0000 #define XK_Armenian_AYB 0x14b2 |
|
2088 |
0x0000 #define XK_Armenian_ayb 0x14b3 |
|
2089 |
0x0000 #define XK_Armenian_BEN 0x14b4 |
|
2090 |
0x0000 #define XK_Armenian_ben 0x14b5 |
|
2091 |
0x0000 #define XK_Armenian_GIM 0x14b6 |
|
2092 |
0x0000 #define XK_Armenian_gim 0x14b7 |
|
2093 |
0x0000 #define XK_Armenian_DA 0x14b8 |
|
2094 |
0x0000 #define XK_Armenian_da 0x14b9 |
|
2095 |
0x0000 #define XK_Armenian_YECH 0x14ba |
|
2096 |
0x0000 #define XK_Armenian_yech 0x14bb |
|
2097 |
0x0000 #define XK_Armenian_ZA 0x14bc |
|
2098 |
0x0000 #define XK_Armenian_za 0x14bd |
|
2099 |
0x0000 #define XK_Armenian_E 0x14be |
|
2100 |
0x0000 #define XK_Armenian_e 0x14bf |
|
2101 |
0x0000 #define XK_Armenian_AT 0x14c0 |
|
2102 |
0x0000 #define XK_Armenian_at 0x14c1 |
|
2103 |
0x0000 #define XK_Armenian_TO 0x14c2 |
|
2104 |
0x0000 #define XK_Armenian_to 0x14c3 |
|
2105 |
0x0000 #define XK_Armenian_ZHE 0x14c4 |
|
2106 |
0x0000 #define XK_Armenian_zhe 0x14c5 |
|
2107 |
0x0000 #define XK_Armenian_INI 0x14c6 |
|
2108 |
0x0000 #define XK_Armenian_ini 0x14c7 |
|
2109 |
0x0000 #define XK_Armenian_LYUN 0x14c8 |
|
2110 |
0x0000 #define XK_Armenian_lyun 0x14c9 |
|
2111 |
0x0000 #define XK_Armenian_KHE 0x14ca |
|
2112 |
0x0000 #define XK_Armenian_khe 0x14cb |
|
2113 |
0x0000 #define XK_Armenian_TSA 0x14cc |
|
2114 |
0x0000 #define XK_Armenian_tsa 0x14cd |
|
2115 |
0x0000 #define XK_Armenian_KEN 0x14ce |
|
2116 |
0x0000 #define XK_Armenian_ken 0x14cf |
|
2117 |
0x0000 #define XK_Armenian_HO 0x14d0 |
|
2118 |
0x0000 #define XK_Armenian_ho 0x14d1 |
|
2119 |
0x0000 #define XK_Armenian_DZA 0x14d2 |
|
2120 |
0x0000 #define XK_Armenian_dza 0x14d3 |
|
2121 |
0x0000 #define XK_Armenian_GHAT 0x14d4 |
|
2122 |
0x0000 #define XK_Armenian_ghat 0x14d5 |
|
2123 |
0x0000 #define XK_Armenian_TCHE 0x14d6 |
|
2124 |
0x0000 #define XK_Armenian_tche 0x14d7 |
|
2125 |
0x0000 #define XK_Armenian_MEN 0x14d8 |
|
2126 |
0x0000 #define XK_Armenian_men 0x14d9 |
|
2127 |
0x0000 #define XK_Armenian_HI 0x14da |
|
2128 |
0x0000 #define XK_Armenian_hi 0x14db |
|
2129 |
0x0000 #define XK_Armenian_NU 0x14dc |
|
2130 |
0x0000 #define XK_Armenian_nu 0x14dd |
|
2131 |
0x0000 #define XK_Armenian_SHA 0x14de |
|
2132 |
0x0000 #define XK_Armenian_sha 0x14df |
|
2133 |
0x0000 #define XK_Armenian_VO 0x14e0 |
|
2134 |
0x0000 #define XK_Armenian_vo 0x14e1 |
|
2135 |
0x0000 #define XK_Armenian_CHA 0x14e2 |
|
2136 |
0x0000 #define XK_Armenian_cha 0x14e3 |
|
2137 |
0x0000 #define XK_Armenian_PE 0x14e4 |
|
2138 |
0x0000 #define XK_Armenian_pe 0x14e5 |
|
2139 |
0x0000 #define XK_Armenian_JE 0x14e6 |
|
2140 |
0x0000 #define XK_Armenian_je 0x14e7 |
|
2141 |
0x0000 #define XK_Armenian_RA 0x14e8 |
|
2142 |
0x0000 #define XK_Armenian_ra 0x14e9 |
|
2143 |
0x0000 #define XK_Armenian_SE 0x14ea |
|
2144 |
0x0000 #define XK_Armenian_se 0x14eb |
|
2145 |
0x0000 #define XK_Armenian_VEV 0x14ec |
|
2146 |
0x0000 #define XK_Armenian_vev 0x14ed |
|
2147 |
0x0000 #define XK_Armenian_TYUN 0x14ee |
|
2148 |
0x0000 #define XK_Armenian_tyun 0x14ef |
|
2149 |
0x0000 #define XK_Armenian_RE 0x14f0 |
|
2150 |
0x0000 #define XK_Armenian_re 0x14f1 |
|
2151 |
0x0000 #define XK_Armenian_TSO 0x14f2 |
|
2152 |
0x0000 #define XK_Armenian_tso 0x14f3 |
|
2153 |
0x0000 #define XK_Armenian_VYUN 0x14f4 |
|
2154 |
0x0000 #define XK_Armenian_vyun 0x14f5 |
|
2155 |
0x0000 #define XK_Armenian_PYUR 0x14f6 |
|
2156 |
0x0000 #define XK_Armenian_pyur 0x14f7 |
|
2157 |
0x0000 #define XK_Armenian_KE 0x14f8 |
|
2158 |
0x0000 #define XK_Armenian_ke 0x14f9 |
|
2159 |
0x0000 #define XK_Armenian_O 0x14fa |
|
2160 |
0x0000 #define XK_Armenian_o 0x14fb |
|
2161 |
0x0000 #define XK_Armenian_FE 0x14fc |
|
2162 |
0x0000 #define XK_Armenian_fe 0x14fd |
|
2163 |
0x0000 #define XK_Armenian_apostrophe 0x14fe |
|
2164 |
0x0000 #define XK_Armenian_section_sign 0x14ff |
|
2165 |
#endif /* XK_ARMENIAN */ |
|
2166 |
||
2167 |
/* |
|
2168 |
* Georgian |
|
2169 |
* Byte 3 = 0x15 |
|
2170 |
*/ |
|
2171 |
//yan: skip Georgian for now; |
|
2172 |
#ifdef XK_GEORGIAN |
|
2173 |
0x0000 #define XK_Georgian_an 0x15d0 |
|
2174 |
0x0000 #define XK_Georgian_ban 0x15d1 |
|
2175 |
0x0000 #define XK_Georgian_gan 0x15d2 |
|
2176 |
0x0000 #define XK_Georgian_don 0x15d3 |
|
2177 |
0x0000 #define XK_Georgian_en 0x15d4 |
|
2178 |
0x0000 #define XK_Georgian_vin 0x15d5 |
|
2179 |
0x0000 #define XK_Georgian_zen 0x15d6 |
|
2180 |
0x0000 #define XK_Georgian_tan 0x15d7 |
|
2181 |
0x0000 #define XK_Georgian_in 0x15d8 |
|
2182 |
0x0000 #define XK_Georgian_kan 0x15d9 |
|
2183 |
0x0000 #define XK_Georgian_las 0x15da |
|
2184 |
0x0000 #define XK_Georgian_man 0x15db |
|
2185 |
0x0000 #define XK_Georgian_nar 0x15dc |
|
2186 |
0x0000 #define XK_Georgian_on 0x15dd |
|
2187 |
0x0000 #define XK_Georgian_par 0x15de |
|
2188 |
0x0000 #define XK_Georgian_zhar 0x15df |
|
2189 |
0x0000 #define XK_Georgian_rae 0x15e0 |
|
2190 |
0x0000 #define XK_Georgian_san 0x15e1 |
|
2191 |
0x0000 #define XK_Georgian_tar 0x15e2 |
|
2192 |
0x0000 #define XK_Georgian_un 0x15e3 |
|
2193 |
0x0000 #define XK_Georgian_phar 0x15e4 |
|
2194 |
0x0000 #define XK_Georgian_khar 0x15e5 |
|
2195 |
0x0000 #define XK_Georgian_ghan 0x15e6 |
|
2196 |
0x0000 #define XK_Georgian_qar 0x15e7 |
|
2197 |
0x0000 #define XK_Georgian_shin 0x15e8 |
|
2198 |
0x0000 #define XK_Georgian_chin 0x15e9 |
|
2199 |
0x0000 #define XK_Georgian_can 0x15ea |
|
2200 |
0x0000 #define XK_Georgian_jil 0x15eb |
|
2201 |
0x0000 #define XK_Georgian_cil 0x15ec |
|
2202 |
0x0000 #define XK_Georgian_char 0x15ed |
|
2203 |
0x0000 #define XK_Georgian_xan 0x15ee |
|
2204 |
0x0000 #define XK_Georgian_jhan 0x15ef |
|
2205 |
0x0000 #define XK_Georgian_hae 0x15f0 |
|
2206 |
0x0000 #define XK_Georgian_he 0x15f1 |
|
2207 |
0x0000 #define XK_Georgian_hie 0x15f2 |
|
2208 |
0x0000 #define XK_Georgian_we 0x15f3 |
|
2209 |
0x0000 #define XK_Georgian_har 0x15f4 |
|
2210 |
0x0000 #define XK_Georgian_hoe 0x15f5 |
|
2211 |
0x0000 #define XK_Georgian_fi 0x15f6 |
|
2212 |
#endif /* XK_GEORGIAN */ |
|
2213 |
||
2214 |
/* |
|
2215 |
* Azeri (and other Turkic or Caucasian languages of ex-USSR) |
|
2216 |
* Byte 3 = 0x16 |
|
2217 |
*/ |
|
2218 |
||
2219 |
#ifdef XK_CAUCASUS |
|
2220 |
/* latin */ |
|
2221 |
0x0000 #define XK_Ccedillaabovedot 0x16a2 |
|
2222 |
0x1e8a #define XK_Xabovedot 0x16a3 |
|
2223 |
0x0000 #define XK_Qabovedot 0x16a5 |
|
2224 |
0x012c #define XK_Ibreve 0x16a6 |
|
2225 |
0x0000 #define XK_IE 0x16a7 |
|
2226 |
0x0000 #define XK_UO 0x16a8 |
|
2227 |
0x01b5 #define XK_Zstroke 0x16a9 |
|
2228 |
0x01e6 #define XK_Gcaron 0x16aa |
|
2229 |
0x019f #define XK_Obarred 0x16af |
|
2230 |
0x0000 #define XK_ccedillaabovedot 0x16b2 |
|
2231 |
0x1e8b #define XK_xabovedot 0x16b3 |
|
2232 |
0x0000 #define XK_Ocaron 0x16b4 |
|
2233 |
0x0000 #define XK_qabovedot 0x16b5 |
|
2234 |
0x012d #define XK_ibreve 0x16b6 |
|
2235 |
0x0000 #define XK_ie 0x16b7 |
|
2236 |
0x0000 #define XK_uo 0x16b8 |
|
2237 |
0x01b6 #define XK_zstroke 0x16b9 |
|
2238 |
0x01e7 #define XK_gcaron 0x16ba |
|
2239 |
0x01d2 #define XK_ocaron 0x16bd |
|
2240 |
0x0275 #define XK_obarred 0x16bf |
|
2241 |
0x018f #define XK_SCHWA 0x16c6 |
|
2242 |
0x0259 #define XK_schwa 0x16f6 |
|
2243 |
/* those are not really Caucasus, but I put them here for now */ |
|
2244 |
/* For Inupiak */ |
|
2245 |
// yan: is there unicode for Inupiak or Guarani at all? |
|
2246 |
0x0000 #define XK_Lbelowdot 0x16d1 |
|
2247 |
0x0000 #define XK_Lstrokebelowdot 0x16d2 |
|
2248 |
0x0000 #define XK_lbelowdot 0x16e1 |
|
2249 |
0x0000 #define XK_lstrokebelowdot 0x16e2 |
|
2250 |
/* For Guarani */ |
|
2251 |
0x0000 #define XK_Gtilde 0x16d3 |
|
2252 |
0x0000 #define XK_gtilde 0x16e3 |
|
2253 |
#endif /* XK_CAUCASUS */ |
|
2254 |
||
2255 |
/* |
|
2256 |
* Vietnamese |
|
2257 |
* Byte 3 = 0x1e |
|
2258 |
*/ |
|
2259 |
||
2260 |
#ifdef XK_VIETNAMESE |
|
2261 |
0x1ea0 #define XK_Abelowdot 0x1ea0 |
|
2262 |
0x1ea1 #define XK_abelowdot 0x1ea1 |
|
2263 |
0x1ea2 #define XK_Ahook 0x1ea2 |
|
2264 |
0x1ea3 #define XK_ahook 0x1ea3 |
|
2265 |
0x1ea4 #define XK_Acircumflexacute 0x1ea4 |
|
2266 |
0x1ea5 #define XK_acircumflexacute 0x1ea5 |
|
2267 |
0x1ea6 #define XK_Acircumflexgrave 0x1ea6 |
|
2268 |
0x1ea7 #define XK_acircumflexgrave 0x1ea7 |
|
2269 |
0x1ea8 #define XK_Acircumflexhook 0x1ea8 |
|
2270 |
0x1ea9 #define XK_acircumflexhook 0x1ea9 |
|
2271 |
0x1eaa #define XK_Acircumflextilde 0x1eaa |
|
2272 |
0x1eab #define XK_acircumflextilde 0x1eab |
|
2273 |
0x1eac #define XK_Acircumflexbelowdot 0x1eac |
|
2274 |
0x1ead #define XK_acircumflexbelowdot 0x1ead |
|
2275 |
0x1eae #define XK_Abreveacute 0x1eae |
|
2276 |
0x1eaf #define XK_abreveacute 0x1eaf |
|
2277 |
0x1eb0 #define XK_Abrevegrave 0x1eb0 |
|
2278 |
0x1eb1 #define XK_abrevegrave 0x1eb1 |
|
2279 |
0x1eb2 #define XK_Abrevehook 0x1eb2 |
|
2280 |
0x1eb3 #define XK_abrevehook 0x1eb3 |
|
2281 |
0x1eb4 #define XK_Abrevetilde 0x1eb4 |
|
2282 |
0x1eb5 #define XK_abrevetilde 0x1eb5 |
|
2283 |
0x1eb6 #define XK_Abrevebelowdot 0x1eb6 |
|
2284 |
0x1eb7 #define XK_abrevebelowdot 0x1eb7 |
|
2285 |
0x1eb8 #define XK_Ebelowdot 0x1eb8 |
|
2286 |
0x1eb9 #define XK_ebelowdot 0x1eb9 |
|
2287 |
0x1eba #define XK_Ehook 0x1eba |
|
2288 |
0x1ebb #define XK_ehook 0x1ebb |
|
2289 |
0x1ebc #define XK_Etilde 0x1ebc |
|
2290 |
0x1ebd #define XK_etilde 0x1ebd |
|
2291 |
0x1ebe #define XK_Ecircumflexacute 0x1ebe |
|
2292 |
0x1ebf #define XK_ecircumflexacute 0x1ebf |
|
2293 |
0x1ec0 #define XK_Ecircumflexgrave 0x1ec0 |
|
2294 |
0x1ec1 #define XK_ecircumflexgrave 0x1ec1 |
|
2295 |
0x1ec2 #define XK_Ecircumflexhook 0x1ec2 |
|
2296 |
0x1ec3 #define XK_ecircumflexhook 0x1ec3 |
|
2297 |
0x1ec4 #define XK_Ecircumflextilde 0x1ec4 |
|
2298 |
0x1ec5 #define XK_ecircumflextilde 0x1ec5 |
|
2299 |
0x1ec6 #define XK_Ecircumflexbelowdot 0x1ec6 |
|
2300 |
0x1ec7 #define XK_ecircumflexbelowdot 0x1ec7 |
|
2301 |
0x1ec8 #define XK_Ihook 0x1ec8 |
|
2302 |
0x1ec9 #define XK_ihook 0x1ec9 |
|
2303 |
0x1eca #define XK_Ibelowdot 0x1eca |
|
2304 |
0x1ecb #define XK_ibelowdot 0x1ecb |
|
2305 |
0x1ecc #define XK_Obelowdot 0x1ecc |
|
2306 |
0x1ecd #define XK_obelowdot 0x1ecd |
|
2307 |
0x1ece #define XK_Ohook 0x1ece |
|
2308 |
0x1ecf #define XK_ohook 0x1ecf |
|
2309 |
0x1ed0 #define XK_Ocircumflexacute 0x1ed0 |
|
2310 |
0x1ed1 #define XK_ocircumflexacute 0x1ed1 |
|
2311 |
0x1ed2 #define XK_Ocircumflexgrave 0x1ed2 |
|
2312 |
0x1ed3 #define XK_ocircumflexgrave 0x1ed3 |
|
2313 |
0x1ed4 #define XK_Ocircumflexhook 0x1ed4 |
|
2314 |
0x1ed5 #define XK_ocircumflexhook 0x1ed5 |
|
2315 |
0x1ed6 #define XK_Ocircumflextilde 0x1ed6 |
|
2316 |
0x1ed7 #define XK_ocircumflextilde 0x1ed7 |
|
2317 |
0x1ed8 #define XK_Ocircumflexbelowdot 0x1ed8 |
|
2318 |
0x1ed9 #define XK_ocircumflexbelowdot 0x1ed9 |
|
2319 |
0x1eda #define XK_Ohornacute 0x1eda |
|
2320 |
0x1edb #define XK_ohornacute 0x1edb |
|
2321 |
0x1edc #define XK_Ohorngrave 0x1edc |
|
2322 |
0x1edd #define XK_ohorngrave 0x1edd |
|
2323 |
0x1ede #define XK_Ohornhook 0x1ede |
|
2324 |
0x1edf #define XK_ohornhook 0x1edf |
|
2325 |
0x1ee0 #define XK_Ohorntilde 0x1ee0 |
|
2326 |
0x1ee1 #define XK_ohorntilde 0x1ee1 |
|
2327 |
0x1ee2 #define XK_Ohornbelowdot 0x1ee2 |
|
2328 |
0x1ee3 #define XK_ohornbelowdot 0x1ee3 |
|
2329 |
0x1ee4 #define XK_Ubelowdot 0x1ee4 |
|
2330 |
0x1ee5 #define XK_ubelowdot 0x1ee5 |
|
2331 |
0x1ee6 #define XK_Uhook 0x1ee6 |
|
2332 |
0x1ee7 #define XK_uhook 0x1ee7 |
|
2333 |
0x1ee8 #define XK_Uhornacute 0x1ee8 |
|
2334 |
0x1ee9 #define XK_uhornacute 0x1ee9 |
|
2335 |
0x1eea #define XK_Uhorngrave 0x1eea |
|
2336 |
0x1eeb #define XK_uhorngrave 0x1eeb |
|
2337 |
0x1eec #define XK_Uhornhook 0x1eec |
|
2338 |
0x1eed #define XK_uhornhook 0x1eed |
|
2339 |
0x1eee #define XK_Uhorntilde 0x1eee |
|
2340 |
0x1eef #define XK_uhorntilde 0x1eef |
|
2341 |
0x1ef0 #define XK_Uhornbelowdot 0x1ef0 |
|
2342 |
0x1ef1 #define XK_uhornbelowdot 0x1ef1 |
|
2343 |
0x1ef4 #define XK_Ybelowdot 0x1ef4 |
|
2344 |
0x1ef5 #define XK_ybelowdot 0x1ef5 |
|
2345 |
0x1ef6 #define XK_Yhook 0x1ef6 |
|
2346 |
0x1ef7 #define XK_yhook 0x1ef7 |
|
2347 |
0x1ef8 #define XK_Ytilde 0x1ef8 |
|
2348 |
0x1ef9 #define XK_ytilde 0x1ef9 |
|
2349 |
0x01a0 #define XK_Ohorn 0x1efa /* U+01a0 */ |
|
2350 |
0x01a1 #define XK_ohorn 0x1efb /* U+01a1 */ |
|
2351 |
0x01af #define XK_Uhorn 0x1efc /* U+01af */ |
|
2352 |
0x01b0 #define XK_uhorn 0x1efd /* U+01b0 */ |
|
2353 |
||
2354 |
0x0000 #define XK_combining_tilde 0x1e9f /* U+0303 */ |
|
2355 |
0x0000 #define XK_combining_grave 0x1ef2 /* U+0300 */ |
|
2356 |
0x0000 #define XK_combining_acute 0x1ef3 /* U+0301 */ |
|
2357 |
0x0000 #define XK_combining_hook 0x1efe /* U+0309 */ |
|
2358 |
0x0000 #define XK_combining_belowdot 0x1eff /* U+0323 */ |
|
2359 |
#endif /* XK_VIETNAMESE */ |
|
2360 |
||
2361 |
#ifdef XK_CURRENCY |
|
2362 |
0x20a0 #define XK_EcuSign 0x20a0 |
|
2363 |
0x20a1 #define XK_ColonSign 0x20a1 |
|
2364 |
0x20a2 #define XK_CruzeiroSign 0x20a2 |
|
2365 |
0x20a3 #define XK_FFrancSign 0x20a3 |
|
2366 |
0x20a4 #define XK_LiraSign 0x20a4 |
|
2367 |
0x20a5 #define XK_MillSign 0x20a5 |
|
2368 |
0x20a6 #define XK_NairaSign 0x20a6 |
|
2369 |
0x20a7 #define XK_PesetaSign 0x20a7 |
|
2370 |
0x20a8 #define XK_RupeeSign 0x20a8 |
|
2371 |
0x20a9 #define XK_WonSign 0x20a9 |
|
2372 |
0x20aa #define XK_NewSheqelSign 0x20aa |
|
2373 |
0x20ab #define XK_DongSign 0x20ab |
|
2374 |
0x20ac #define XK_EuroSign 0x20ac |
|
2375 |
#endif |
|
2376 |
||
2377 |
//yan: keysyms from vendor headers go here. I don't know many though. |
|
2378 |
||
2379 |
0x0008 #define osfXK_BackSpace 0x1004FF08 |
|
2380 |
0x001b #define osfXK_Escape 0x1004FF1B |
|
2381 |
//XXX ? Esc on Solaris?, to check |
|
2382 |
0x0000 #define osfXK_Cancel 0x1004FF69 |
|
2383 |
0x007f #define osfXK_Delete 0x1004FFFF |
|
2384 |
||
2385 |
tojava |
|
2386 |
tojava //XXX fill keysym2JavaKeycodeHash. |
|
2387 |
tojava |
|
2388 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_a), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_A, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2389 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_b), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_B, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2390 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_c), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_C, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2391 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_d), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_D, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2392 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_e), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_E, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2393 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_f), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2394 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_g), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_G, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2395 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_h), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_H, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2396 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_i), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_I, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2397 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_j), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_J, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2398 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_k), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_K, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2399 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_l), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_L, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2400 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_m), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_M, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2401 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_n), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_N, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2402 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_o), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_O, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2403 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_p), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_P, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2404 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_q), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Q, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2405 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_r), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_R, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2406 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_s), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_S, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2407 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_t), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_T, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2408 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_u), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_U, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2409 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_v), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_V, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2410 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_w), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_W, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2411 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_x), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_X, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2412 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_y), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Y, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2413 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_z), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_Z, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2414 |
tojava |
|
2415 |
tojava /* TTY Function keys */ |
|
2416 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_BackSpace), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2417 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2418 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ISO_Left_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2419 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Clear), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLEAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2420 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Return), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2421 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Linefeed), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2422 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Pause), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2423 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F21), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2424 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAUSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2425 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Scroll_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2426 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F23), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2427 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SCROLL_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2428 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Escape), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ESCAPE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2429 |
tojava |
|
2430 |
tojava /* Other vendor-specific versions of TTY Function keys */ |
|
2431 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_BackSpace), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2432 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Clear), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLEAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2433 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Escape), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ESCAPE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2434 |
tojava |
|
2435 |
tojava /* Modifier keys */ |
|
2436 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Shift_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SHIFT, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); |
|
2437 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Shift_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SHIFT, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); |
|
2438 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Control_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTROL, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); |
|
2439 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Control_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTROL, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); |
|
2440 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Alt_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); |
|
2441 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Alt_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); |
|
2442 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Meta_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META, java.awt.event.KeyEvent.KEY_LOCATION_LEFT)); |
|
2443 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Meta_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_META, java.awt.event.KeyEvent.KEY_LOCATION_RIGHT)); |
|
2444 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Caps_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CAPS_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2445 |
tojava |
|
2446 |
tojava /* Misc Functions */ |
|
2447 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Print), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2448 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F22), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2449 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PRINTSCREEN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2450 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Cancel), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CANCEL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2451 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Help), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2452 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Num_Lock), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUM_LOCK, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2453 |
tojava |
|
2454 |
tojava /* Other vendor-specific versions of Misc Functions */ |
|
2455 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Cancel), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CANCEL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2456 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Help), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HELP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2457 |
tojava |
|
2458 |
tojava /* Rectangular Navigation Block */ |
|
2459 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Home), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2460 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2461 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Page_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2462 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2463 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2464 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Page_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2465 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2466 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R15), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2467 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_End), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2468 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R13), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2469 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2470 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2471 |
tojava |
|
2472 |
tojava /* Keypad equivalents of Rectangular Navigation Block */ |
|
2473 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Home), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_HOME, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2474 |
tojava 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)); |
|
2475 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2476 |
tojava 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)); |
|
2477 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2478 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_End), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2479 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2480 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2481 |
tojava |
|
2482 |
tojava /* Other vendor-specific Rectangular Navigation Block */ |
|
2483 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_PageUp), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2484 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Prior), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2485 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_PageDown), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2486 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Next), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2487 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_EndLine), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_END, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2488 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Insert), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INSERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2489 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Delete), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DELETE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2490 |
tojava |
|
2491 |
tojava /* Triangular Navigation Block */ |
|
2492 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2493 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2494 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2495 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2496 |
tojava |
|
2497 |
tojava /* Keypad equivalents of Triangular Navigation Block */ |
|
2498 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2499 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_UP, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2500 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2501 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_KP_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2502 |
tojava |
|
2503 |
tojava /* Other vendor-specific Triangular Navigation Block */ |
|
2504 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Left), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2505 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Up), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2506 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Right), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2507 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Down), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOWN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2508 |
tojava |
|
2509 |
tojava /* Remaining Cursor control & motion */ |
|
2510 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Begin), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BEGIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2511 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Begin), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BEGIN, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2512 |
tojava |
|
2513 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_0), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_0, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2514 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_1, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2515 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_2, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2516 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_3, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2517 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_4, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2518 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_5, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2519 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_6, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2520 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_7, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2521 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_8, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2522 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_9, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2523 |
tojava |
|
2524 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_space), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2525 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_exclam), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EXCLAMATION_MARK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2526 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_quotedbl), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_QUOTEDBL, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2527 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_numbersign), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMBER_SIGN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2528 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dollar), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DOLLAR, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2529 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ampersand), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AMPERSAND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2530 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_apostrophe), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_QUOTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2531 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_parenleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LEFT_PARENTHESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2532 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_parenright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_RIGHT_PARENTHESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2533 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_asterisk), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ASTERISK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2534 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_plus), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PLUS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2535 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_comma), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COMMA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2536 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_minus), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MINUS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2537 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_period), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PERIOD, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2538 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_slash), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SLASH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2539 |
tojava |
|
2540 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_colon), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COLON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2541 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_semicolon), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SEMICOLON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2542 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_less), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_LESS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2543 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_equal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2544 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_greater), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_GREATER, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2545 |
tojava |
|
2546 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_at), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2547 |
tojava |
|
2548 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_bracketleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_OPEN_BRACKET, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2549 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_backslash), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_SLASH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2550 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_bracketright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CLOSE_BRACKET, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2551 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_asciicircum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2552 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_underscore), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDERSCORE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2553 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Super_L), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_WINDOWS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2554 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Super_R), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_WINDOWS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2555 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Menu), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONTEXT_MENU, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2556 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BACK_QUOTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2557 |
tojava |
|
2558 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_braceleft), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BRACELEFT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2559 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_braceright), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_BRACERIGHT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2560 |
tojava |
|
2561 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_exclamdown), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_INVERTED_EXCLAMATION_MARK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2562 |
tojava |
|
2563 |
tojava /* Remaining Numeric Keypad Keys */ |
|
2564 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_0), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD0, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2565 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD1, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2566 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD2, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2567 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD3, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2568 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD4, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2569 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD5, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2570 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD6, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2571 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD7, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2572 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD8, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2573 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_NUMPAD9, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2574 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Space), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SPACE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2575 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Tab), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_TAB, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2576 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Enter), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ENTER, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2577 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Equal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2578 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_EQUALS, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2579 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Multiply), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2580 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F26), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2581 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_MULTIPLY, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2582 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Add), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ADD, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2583 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Separator), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SEPARATOR, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2584 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Subtract), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2585 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F24), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2586 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Decimal), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DECIMAL, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2587 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_KP_Divide), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2588 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F25), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2589 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_R5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DIVIDE, java.awt.event.KeyEvent.KEY_LOCATION_NUMPAD)); |
|
2590 |
tojava |
|
2591 |
tojava /* Function Keys */ |
|
2592 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F1, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2593 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F2, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2594 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F3, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2595 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F4, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2596 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F5), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F5, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2597 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F6, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2598 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F7), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F7, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2599 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F8, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2600 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F9, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2601 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F10), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F10, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2602 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F11), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2603 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_F12), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2604 |
tojava |
|
2605 |
tojava /* Sun vendor-specific version of F11 and F12 */ |
|
2606 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_F36), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F11, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2607 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_F37), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_F12, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2608 |
tojava |
|
2609 |
tojava /* X11 keysym names for input method related keys don't always |
|
2610 |
tojava * match keytop engravings or Java virtual key names, so here we |
|
2611 |
tojava * only map constants that we've found on real keyboards. |
|
2612 |
tojava */ |
|
2613 |
tojava /* Type 5c Japanese keyboard: kakutei */ |
|
2614 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Execute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ACCEPT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2615 |
tojava /* Type 5c Japanese keyboard: henkan */ |
|
2616 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Kanji), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CONVERT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2617 |
tojava /* Type 5c Japanese keyboard: nihongo */ |
|
2618 |
tojava 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)); |
|
2619 |
tojava /* VK_KANA_LOCK is handled separately because it generates the |
|
2620 |
tojava * same keysym as ALT_GRAPH in spite of its different behavior. |
|
2621 |
tojava */ |
|
2622 |
tojava |
|
2623 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Multi_key), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COMPOSE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2624 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Mode_switch), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT_GRAPH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
450
be95c1c0efcf
6627324: Alt Graph doesnot generate any key event when pressing in German locale
yan
parents:
2
diff
changeset
|
2625 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_ISO_Level3_Shift), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_ALT_GRAPH, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
2 | 2626 |
tojava |
2627 |
tojava /* Editing block */ |
|
2628 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Redo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2629 |
tojava // XXX XK_L2 == F12; TODO: add code to use only one of them depending on the keyboard type. For now, restore |
|
2630 |
tojava // good PC behavior and bad but old Sparc behavior. |
|
2631 |
tojava // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L2), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2632 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2633 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L4), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2634 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L6), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2635 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L8), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2636 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L10), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2637 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_Find), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2638 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L9), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2639 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L3), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PROPS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2640 |
tojava // XXX XK_L1 == F11; TODO: add code to use only one of them depending on the keyboard type. For now, restore |
|
2641 |
tojava // good PC behavior and bad but old Sparc behavior. |
|
2642 |
tojava // keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_L1), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2643 |
tojava |
|
2644 |
tojava /* Sun vendor-specific versions for editing block */ |
|
2645 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Again), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_AGAIN, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2646 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2647 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2648 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2649 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2650 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Find), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_FIND, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2651 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Props), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PROPS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2652 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_Stop), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_STOP, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2653 |
tojava |
|
2654 |
tojava /* Apollo (HP) vendor-specific versions for editing block */ |
|
2655 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2656 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2657 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.apXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2658 |
tojava |
|
2659 |
tojava /* Other vendor-specific versions for editing block */ |
|
2660 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Copy), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_COPY, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2661 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Cut), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_CUT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2662 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Paste), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_PASTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2663 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.osfXK_Undo), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDO, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2664 |
tojava |
|
2665 |
tojava /* Dead key mappings (for European keyboards) */ |
|
2666 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2667 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2668 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_circumflex), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2669 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2670 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_macron), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_MACRON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2671 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_breve), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_BREVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2672 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_abovedot), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVEDOT, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2673 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2674 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_abovering), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVERING, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2675 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_doubleacute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DOUBLEACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2676 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_caron), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CARON, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2677 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_cedilla), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2678 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_ogonek), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_OGONEK, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2679 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.XK_dead_iota), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_IOTA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2680 |
tojava 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)); |
|
2681 |
tojava 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)); |
|
2682 |
tojava |
|
2683 |
tojava /* Sun vendor-specific dead key mappings (for European keyboards) */ |
|
2684 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2685 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Circum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2686 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2687 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2688 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2689 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.SunXK_FA_Cedilla), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2690 |
tojava |
|
2691 |
tojava /* DEC vendor-specific dead key mappings (for European keyboards) */ |
|
2692 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_ring_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ABOVERING, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2693 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_circumflex_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2694 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_cedilla_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CEDILLA, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2695 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_acute_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2696 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_grave_accent), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2697 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_tilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2698 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.DXK_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2699 |
tojava |
|
2700 |
tojava /* Other vendor-specific dead key mappings (for European keyboards) */ |
|
2701 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_acute), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_ACUTE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2702 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_grave), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_GRAVE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2703 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciicircum), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_CIRCUMFLEX, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2704 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_diaeresis), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_DIAERESIS, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2705 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XKeySymConstants.hpXK_mute_asciitilde), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_DEAD_TILDE, java.awt.event.KeyEvent.KEY_LOCATION_STANDARD)); |
|
2706 |
tojava |
|
2707 |
tojava keysym2JavaKeycodeHash.put( Long.valueOf(XConstants.NoSymbol), new Keysym2JavaKeycode(java.awt.event.KeyEvent.VK_UNDEFINED, java.awt.event.KeyEvent.KEY_LOCATION_UNKNOWN)); |
|
1966
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2708 |
tojava |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2709 |
tojava /* Reverse search of keysym by keycode. */ |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2710 |
tojava |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2711 |
tojava /* Add keyboard locking codes. */ |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2712 |
tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_CAPS_LOCK, XKeySymConstants.XK_Caps_Lock); |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2713 |
tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_NUM_LOCK, XKeySymConstants.XK_Num_Lock); |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2714 |
tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_SCROLL_LOCK, XKeySymConstants.XK_Scroll_Lock); |
12a51fb0db0d
5100701: Toolkit.getLockingKeyState() does not work on XToolkit, but works on Motif
yan
parents:
1187
diff
changeset
|
2715 |
tojava javaKeycode2KeysymHash.put( java.awt.event.KeyEvent.VK_KANA_LOCK, XKeySymConstants.XK_Kana_Lock); |
2 | 2716 |
tojava }; |
2717 |
tojava |
|
2718 |
tojava } |