1 /* Copyright 2008 Edwin Stang (edwinstang@gmail.com), 2 * 3 * This file is part of JXGrabKey. 4 * 5 * JXGrabKey is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * JXGrabKey is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with JXGrabKey. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 package jxgrabkey; 20 21 import java.awt.event.KeyEvent; 22 23 /** 24 * This class holds definitions for X11 keysyms. It can also convert AWT keys into X11 keysyms. 25 * 26 * These definitions are taken from the escher project (http://escher.sourceforge.net/). 27 * They converted them from the original X11 definitions. 28 */ 29 public final class X11KeysymDefinitions { 30 31 //Latin1 ****************************************************************** 32 public static final int SPACE = 0x020; 33 public static final int EXCLAM = 0x021; 34 public static final int QUOTE_DBL = 0x022; 35 public static final int NUMBER_SIGN = 0x023; 36 public static final int DOLLAR = 0x024; 37 public static final int PERCENT = 0x025; 38 public static final int AMPERSAND = 0x026; 39 public static final int APOSTROPHE = 0x027; 40 public static final int QUOTE_RIGHT = 0x027; /* deprecated */ 41 public static final int PAREN_LEFT = 0x028; 42 public static final int PAREN_RIGHT = 0x029; 43 public static final int ASTERISK = 0x02a; 44 public static final int PLUS = 0x02b; 45 public static final int COMMA = 0x02c; 46 public static final int MINUS = 0x02d; 47 public static final int PERIOD = 0x02e; 48 public static final int SLASH = 0x02f; 49 public static final int NUM_0 = 0x030; 50 public static final int NUM_1 = 0x031; 51 public static final int NUM_2 = 0x032; 52 public static final int NUM_3 = 0x033; 53 public static final int NUM_4 = 0x034; 54 public static final int NUM_5 = 0x035; 55 public static final int NUM_6 = 0x036; 56 public static final int NUM_7 = 0x037; 57 public static final int NUM_8 = 0x038; 58 public static final int NUM_9 = 0x039; 59 public static final int COLON = 0x03a; 60 public static final int SEMICOLON = 0x03b; 61 public static final int LESS = 0x03c; 62 public static final int EQUAL = 0x03d; 63 public static final int GREATER = 0x03e; 64 public static final int QUESTION = 0x03f; 65 public static final int AT = 0x040; 66 public static final int A = 0x041; 67 public static final int B = 0x042; 68 public static final int C = 0x043; 69 public static final int D = 0x044; 70 public static final int E = 0x045; 71 public static final int F = 0x046; 72 public static final int G = 0x047; 73 public static final int H = 0x048; 74 public static final int I = 0x049; 75 public static final int J = 0x04a; 76 public static final int K = 0x04b; 77 public static final int L = 0x04c; 78 public static final int M = 0x04d; 79 public static final int N = 0x04e; 80 public static final int O = 0x04f; 81 public static final int P = 0x050; 82 public static final int Q = 0x051; 83 public static final int R = 0x052; 84 public static final int S = 0x053; 85 public static final int T = 0x054; 86 public static final int U = 0x055; 87 public static final int V = 0x056; 88 public static final int W = 0x057; 89 public static final int X = 0x058; 90 public static final int Y = 0x059; 91 public static final int Z = 0x05a; 92 public static final int BRACKET_LEFT = 0x05b; 93 public static final int BACKSLASH = 0x05c; 94 public static final int BRACKET_RIGHT = 0x05d; 95 public static final int ASCII_CIRCUM = 0x05e; 96 public static final int UNDERSCORE = 0x05f; 97 public static final int GRAVE = 0x060; 98 public static final int QUOTE_LEFT = 0x060; /* deprecated */ 99 100 public static final int A_SMALL = 0x061; 101 public static final int B_SMALL = 0x062; 102 public static final int C_SMALL = 0x063; 103 public static final int D_SMALL = 0x064; 104 public static final int E_SMALL = 0x065; 105 public static final int F_SMALL = 0x066; 106 public static final int G_SMALL = 0x067; 107 public static final int H_SMALL = 0x068; 108 public static final int I_SMALL = 0x069; 109 public static final int J_SMALL = 0x06a; 110 public static final int K_SMALL = 0x06b; 111 public static final int L_SMALL = 0x06c; 112 public static final int M_SMALL = 0x06d; 113 public static final int N_SMALL = 0x06e; 114 public static final int O_SMALL = 0x06f; 115 public static final int P_SMALL = 0x070; 116 public static final int Q_SMALL = 0x071; 117 public static final int R_SMALL = 0x072; 118 public static final int S_SMALL = 0x073; 119 public static final int T_SMALL = 0x074; 120 public static final int U_SMALL = 0x075; 121 public static final int V_SMALL = 0x076; 122 public static final int W_SMALL = 0x077; 123 public static final int X_SMALL = 0x078; 124 public static final int Y_SMALL = 0x079; 125 public static final int Z_SMALL = 0x07a; 126 127 public static final int BRACE_LEFT = 0x07b; 128 public static final int BAR = 0x07c; 129 public static final int BRACE_RIGHT = 0x07d; 130 public static final int ASCII_TILDE = 0x07e; 131 132 public static final int NO_BREAKSPACE = 0x0a0;; 133 public static final int EXCLAM_DOWN = 0x0a1; 134 public static final int CENT = 0x0a2; 135 public static final int STERLING = 0x0a3; 136 public static final int CURRENCY = 0x0a4; 137 public static final int YEN = 0x0a5; 138 public static final int BROKEN_BAR = 0x0a6; 139 public static final int SECTION = 0x0a7; 140 public static final int DIAERESIS = 0x0a8; 141 public static final int COPYRIGHT = 0x0a9; 142 public static final int ORDFEMININE = 0x0aa; 143 public static final int GUILLEMOT_LEFT = 0x0ab; /* left angle quotation mark */ 144 public static final int NOT_SIGN = 0x0ac; 145 public static final int HYPHEN = 0x0ad; 146 public static final int REGISTERED = 0x0ae; 147 public static final int MACRON = 0x0af; 148 public static final int DEGREE = 0x0b0; 149 public static final int PLUS_MINUS = 0x0b1; 150 public static final int TWO_SUPERIOR = 0x0b2; 151 public static final int THREE_SUPERIOR = 0x0b3; 152 public static final int ACUTE = 0x0b4; 153 public static final int MU = 0x0b5; 154 public static final int PARAGRAPH = 0x0b6; 155 public static final int PERIOD_CENTERED = 0x0b7; 156 public static final int CEDILLA = 0x0b8; 157 public static final int ONE_SUPERIOR = 0x0b9; 158 public static final int MASCULINE = 0x0ba; 159 public static final int GUILLEMOT_RIGHT = 0x0bb; /* right angle quotation mark */ 160 public static final int ONE_QUARTER = 0x0bc; 161 public static final int ONE_HALF = 0x0bd; 162 public static final int THREE_QUARTERS = 0x0be; 163 public static final int QUESTION_DOWN = 0x0bf; 164 public static final int A_GRAVE = 0x0c0; 165 public static final int A_ACUTE = 0x0c1; 166 public static final int A_CIRCUMFLEX = 0x0c2; 167 public static final int A_TILDE = 0x0c3; 168 public static final int A_DIAERESIS = 0x0c4; 169 public static final int A_RING = 0x0c5; 170 public static final int AE = 0x0c6; 171 public static final int C_CEDILLA = 0x0c7; 172 public static final int E_GRAVE = 0x0c8; 173 public static final int E_ACUTE = 0x0c9; 174 public static final int E_CIRCUMFLEX = 0x0ca; 175 public static final int E_DIAERESIS = 0x0cb; 176 public static final int I_GRAVE = 0x0cc; 177 public static final int I_ACUTE = 0x0cd; 178 public static final int I_CIRCUMFLEX = 0x0ce; 179 public static final int I_DIAERESIS = 0x0cf; 180 public static final int E_TH = 0x0d0; 181 public static final int N_TILDE = 0x0d1; 182 public static final int O_GRAVE = 0x0d2; 183 public static final int O_ACUTE = 0x0d3; 184 public static final int O_CIRCUMFLEX = 0x0d4; 185 public static final int O_TILDE = 0x0d5; 186 public static final int O_DIAERESIS = 0x0d6; 187 public static final int MULTIPLY = 0x0d7; 188 public static final int O_OBLIQUE = 0x0d8; 189 public static final int O_SLASH = 0x0d9; 190 public static final int U_ACUTE = 0x0da;; 191 public static final int U_CIRCUMFLEX = 0x0db; 192 public static final int U_DIAERESIS = 0x0dc; 193 public static final int Y_ACUTE = 0x0dd; 194 public static final int T_HORN = 0x0de; 195 public static final int S_SHARP = 0x0df; 196 197 public static final int A_GRAVE_SMALL = 0x0e0; 198 public static final int A_ACUTE_SMALL = 0x0e1; 199 public static final int A_CIRCUMFLEX_SMALL = 0x0e2; 200 public static final int A_TILDE_SMALL = 0x0e3; 201 public static final int A_DIAERESIS_SMALL = 0x0e4; 202 public static final int A_RING_SMALL = 0x0e5; 203 public static final int AE_SMALL = 0x0e6; 204 public static final int C_CEDILLA_SMALL = 0x0e7; 205 public static final int E_GRAVE_SMALL = 0x0e8; 206 public static final int E_ACUTE_SMALL = 0x0e9; 207 public static final int E_CIRCUMFLEX_SMALL = 0x0ea; 208 public static final int E_DIAERESIS_SMALL = 0x0eb; 209 public static final int I_GRAVE_SMALL = 0x0ec; 210 public static final int I_ACUTE_SMALL = 0x0ed; 211 public static final int I_CIRCUMFLEX_SMALL = 0x0ee; 212 public static final int I_DIAERESIS_SMALL = 0x0ef; 213 public static final int E_TH_SMALL = 0x0f0; 214 public static final int N_TILDE_SMALL = 0x0f1; 215 public static final int O_GRAVE_SMALL = 0x0f2; 216 public static final int O_ACUTE_SMALL = 0x0f3; 217 public static final int O_CIRCUMFLEX_SMALL = 0x0f4; 218 public static final int O_TILDE_SMALL = 0x0f5; 219 public static final int O_DIAERESIS_SMALL = 0x0f6; 220 public static final int DIVISION_SMALL = 0x0f7; 221 public static final int O_SLASH_SMALL = 0x0f8; 222 public static final int O_OBLIQUE_SMALL = 0x0f9; 223 public static final int UA_CUTE_SMALL = 0x0fa;; 224 public static final int U_CIRCUMFLEX_SMALL = 0x0fb; 225 public static final int U_DIAERESIS_SMALL = 0x0fc; 226 public static final int YA_CUTE_SMALL = 0x0fd; 227 public static final int T_HORN_SMALL = 0x0fe; 228 public static final int Y_DIAERESIS_SMALL = 0x0ff; 229 230 //Misc ******************************************************************** 231 public static final int VOID_SYMBOL = 0xffffff; 232 233 234 /* TTY Functions, cleverly chosen to map to ascii, for convenience of 235 * programming, but could have been arbitrary (at the cost of lookup 236 * tables in client code). 237 */ 238 239 public static final int BACKSPACE = 0xff08; /* back space, back char */ 240 public static final int TAB = 0xff09; 241 public static final int LINEFEED = 0xff0a; /* linefeed, LF */ 242 public static final int CLEAR = 0xff0b; 243 public static final int RETURN = 0xff0d; /* return, enter */ 244 public static final int PAUSE = 0xff13; /* pause, hold */ 245 public static final int SCROLL_LOCK = 0xff14; 246 public static final int SYS_REQ = 0xff15; 247 public static final int ESCAPE = 0xff1b; 248 public static final int DELETE = 0xffff; /* delete, rubout */ 249 250 251 /* International & multi-key character composition. */ 252 253 public static final int MULTI_KEY = 0xff20; /* multi-key character compose */ 254 public static final int CODEINPUT = 0xff37; 255 public static final int SINGLE_CANDIDATE = 0xff3c; 256 public static final int MULTIPLE_CANDIDATE = 0xff3d; 257 public static final int PREVIOUS_CANDIDATE = 0xff3e; 258 259 260 261 /* Japanese keyboard support. 0xff31 thru 0xff3f are under XK_KOREAN. */ 262 263 public static final int KANJI = 0xff21; /* kanji, kanji convert */ 264 public static final int MUHENKAN = 0xff22; /* cancel conversion */ 265 public static final int HENKAN_MODE = 0xff23; /* start/stop conversion */ 266 public static final int HENKAN = 0xff23; /* alias for henkan_mode */ 267 public static final int ROMAJI = 0xff24; /* to romaji */ 268 public static final int HIRAGANA = 0xff25; /* to hiragana */ 269 public static final int KATAKANA = 0xff26; /* to katakana */ 270 public static final int HIRAGANA_KATAKANA = 0xff27; /* hiragana/katakana toggle */ 271 public static final int ZENKAKU = 0xff28; /* to zenkaku */ 272 public static final int HANKAKU = 0xff29; /* to hankaku */ 273 public static final int ZENKAKU_HANKAKU = 0xff2a; /* zenkaku/hankaku toggle */ 274 public static final int TOUROKU = 0xff2b; /* add to dictionary */ 275 public static final int MASSYO = 0xff2c; /* delete from dictionary */ 276 public static final int KANA_LOCK = 0xff2d; /* kana lock */ 277 public static final int KANA_SHIFT = 0xff2e; /* kana shift */ 278 public static final int EISU_SHIFT = 0xff2f; /* alphanumeric shift */ 279 public static final int EISU_TOGGLE = 0xff30; /* alphanumeric toggle */ 280 public static final int KANJI_BANGOU = 0xff37; /* codeinput */ 281 public static final int ZEN_KOHO = 0xff3d; /* multiple/all candidate(s) */ 282 public static final int MAE_KOHO = 0xff3e; /* previous candidate */ 283 284 285 /** Cursor control & motion. */ 286 287 public static final int HOME = 0xff50; 288 public static final int LEFT = 0xff51; /* move left, left arrow */ 289 public static final int UP = 0xff52; /* move up, up arrow */ 290 public static final int RIGHT = 0xff53; /* move right, right arrow */ 291 public static final int DOWN = 0xff54; /* move down, down arrow */ 292 public static final int PRIOR = 0xff55; /* prior, previous */ 293 public static final int PAGE_UP = 0xff55; 294 public static final int NEXT = 0xff56; /* next */ 295 public static final int PAGE_DOWN = 0xff56; 296 public static final int END = 0xff57; /* eol */ 297 public static final int BEGIN = 0xff58; /* bol */ 298 299 300 /* Misc Functions. */ 301 302 public static final int SELECT = 0xff60; /* select, mark */ 303 public static final int PRINT = 0xff61; 304 public static final int EXECUTE = 0xff62; /* execute, run, do */ 305 public static final int INSERT = 0xff63; /* insert, insert here */ 306 public static final int UNDO = 0xff65; /* undo, oops */ 307 public static final int REDO = 0xff66; /* redo, again */ 308 public static final int MENU = 0xff67; 309 public static final int FIND = 0xff68; /* find, search */ 310 public static final int CANCEL = 0xff69; /* cancel, stop, abort, exit */ 311 public static final int HELP = 0xff6a; /* help */ 312 public static final int BREAK = 0xff6b; 313 public static final int MODE_SWITCH = 0xff7e; /* character set switch */ 314 public static final int SCRIPT_SWITCH = 0xff7e; /* alias for mode_switch */ 315 public static final int NUM_LOCK = 0xff7f; 316 317 318 /* Keypad Functions, keypad numbers cleverly chosen to map to ascii. */ 319 320 public static final int KP_SPACE = 0xff80; /* space */ 321 public static final int KP_TAB = 0xff89; 322 public static final int KP_ENTER = 0xff8d; /* enter */ 323 public static final int KP_F1 = 0xff91; /* pf1, kp_a, ... */ 324 public static final int KP_F2 = 0xff92; 325 public static final int KP_F3 = 0xff93; 326 public static final int KP_F4 = 0xff94; 327 public static final int KP_HOME = 0xff95; 328 public static final int KP_LEFT = 0xff96; 329 public static final int KP_UP = 0xff97; 330 public static final int KP_RIGHT = 0xff98; 331 public static final int KP_DOWN = 0xff99; 332 public static final int KP_PRIOR = 0xff9a; 333 public static final int KP_PAGE_UP = 0xff9a; 334 public static final int KP_NEXT = 0xff9b; 335 public static final int KP_PAGE_DOWN = 0xff9b; 336 public static final int KP_END = 0xff9c; 337 public static final int KP_BEGIN = 0xff9d; 338 public static final int KP_INSERT = 0xff9e; 339 public static final int KP_DELETE = 0xff9f; 340 public static final int KP_EQUAL = 0xffbd; /* equals */ 341 public static final int KP_MULTIPLY = 0xffaa; 342 public static final int KP_ADD = 0xffab; 343 public static final int KP_SEPARATOR = 0xffac; /* separator, often comma */ 344 public static final int KP_SUBTRACT = 0xffad; 345 public static final int KP_DECIMAL = 0xffae; 346 public static final int KP_DIVIDE = 0xffaf; 347 348 public static final int KP_0 = 0xffb0;; 349 public static final int KP_1 = 0xffb1; 350 public static final int KP_2 = 0xffb2; 351 public static final int KP_3 = 0xffb3; 352 public static final int KP_4 = 0xffb4; 353 public static final int KP_5 = 0xffb5; 354 public static final int KP_6 = 0xffb6; 355 public static final int KP_7 = 0xffb7; 356 public static final int KP_8 = 0xffb8; 357 public static final int KP_9 = 0xffb9; 358 359 360 361 /* Auxilliary Functions; note the duplicate definitions for left and 362 * right function keys; Sun keyboards and a few other manufactures have 363 * such function key groups on the left and/or right sides of the 364 * keyboard. We've not found a keyboard with more than 35 function keys 365 * total. 366 */ 367 368 public static final int F1 = 0xffbe; 369 public static final int F2 = 0xffbf; 370 public static final int F3 = 0xffc0; 371 public static final int F4 = 0xffc1; 372 public static final int F5 = 0xffc2; 373 public static final int F6 = 0xffc3; 374 public static final int F7 = 0xffc4; 375 public static final int F8 = 0xffc5; 376 public static final int F9 = 0xffc6; 377 public static final int F10 = 0xffc7; 378 public static final int F11 = 0xffc8; 379 public static final int L1 = 0xffc8; 380 public static final int F12 = 0xffc9; 381 public static final int L2 = 0xffc9; 382 public static final int F13 = 0xffca; 383 public static final int L3 = 0xffca; 384 public static final int F14 = 0xffcb; 385 public static final int L4 = 0xffcb; 386 public static final int F15 = 0xffcc; 387 public static final int L5 = 0xffcc; 388 public static final int F16 = 0xffcd; 389 public static final int L6 = 0xffcd; 390 public static final int F17 = 0xffce; 391 public static final int L7 = 0xffce; 392 public static final int F18 = 0xffcf; 393 public static final int L8 = 0xffcf; 394 public static final int F19 = 0xffd0; 395 public static final int L9 = 0xffd0; 396 public static final int F20 = 0xffd1; 397 public static final int L10 = 0xffd1; 398 public static final int F21 = 0xffd2; 399 public static final int R1 = 0xffd2; 400 public static final int F22 = 0xffd3; 401 public static final int R2 = 0xffd3; 402 public static final int F23 = 0xffd4; 403 public static final int R3 = 0xffd4; 404 public static final int F24 = 0xffd5; 405 public static final int R4 = 0xffd5; 406 public static final int F25 = 0xffd6; 407 public static final int R5 = 0xffd6; 408 public static final int F26 = 0xffd7; 409 public static final int R6 = 0xffd7; 410 public static final int F27 = 0xffd8; 411 public static final int R7 = 0xffd8; 412 public static final int F28 = 0xffd9; 413 public static final int R8 = 0xffd9; 414 public static final int F29 = 0xffda; 415 public static final int R9 = 0xffda; 416 public static final int F30 = 0xffdb; 417 public static final int R10 = 0xffdb; 418 public static final int F31 = 0xffdc; 419 public static final int R11 = 0xffdc; 420 public static final int F32 = 0xffdd; 421 public static final int R12 = 0xffdd; 422 public static final int F33 = 0xffde; 423 public static final int R13 = 0xffde; 424 public static final int F34 = 0xffdf; 425 public static final int R14 = 0xffdf; 426 public static final int F35 = 0xffe0; 427 public static final int R15 = 0xffe0; 428 429 430 /* Modifiers. */ 431 432 public static final int SHIFT_L = 0xffe1; /* left shift */ 433 public static final int SHIFT_R = 0xffe2; /* right shift */ 434 public static final int CONTROL_L = 0xffe3; /* left control */ 435 public static final int CONTROL_R = 0xffe4; /* right control */ 436 public static final int CAPS_LOCK = 0xffe5; /* caps lock */ 437 public static final int SHIFT_LOCK = 0xffe6; /* shift lock */ 438 439 public static final int META_L = 0xffe7; /* left meta */ 440 public static final int META_R = 0xffe8; /* right meta */ 441 public static final int ALT_L = 0xffe9; /* left alt */ 442 public static final int ALT_R = 0xffea; /* right alt */ 443 public static final int SUPER_L = 0xffeb; /* left super */ 444 public static final int SUPER_R = 0xffec; /* right super */ 445 public static final int HYPER_L = 0xffed; /* left hyper */ 446 public static final int HYPER_R = 0xffee; /* right hyper */ 447 448 //XKB ********************************************************************* 449 public static final int LOCK = 0xfe01; 450 public static final int LEVEL2_LATCH = 0xfe02; 451 public static final int LEVEL3_SHIFT = 0xfe03; 452 public static final int LEVEL3_LATCH = 0xfe04; 453 public static final int LEVEL3_LOCK = 0xfe05; 454 public static final int GROUP_SHIFT = 0xff7e; /* alias for mode_switch */ 455 public static final int GROUP_LATCH = 0xfe06; 456 public static final int GROUP_LOCK = 0xfe07; 457 public static final int NEXT_GROUP = 0xfe08; 458 public static final int NEXT_GROUP_LOCK = 0xfe09; 459 public static final int PREV_GROUP = 0xfe0a; 460 public static final int PREV_GROUP_LOCK = 0xfe0b; 461 public static final int FIRST_GROUP = 0xfe0c; 462 public static final int FIRST_GROUP_LOCK = 0xfe0d; 463 public static final int LAST_GROUP = 0xfe0e; 464 public static final int LAST_GROUP_LOCK = 0xfe0f; 465 466 public static final int LEFT_TAB = 0xfe20;; 467 public static final int MOVE_LINE_UP = 0xfe21; 468 public static final int MOVE_LINE_DOWN = 0xfe22; 469 public static final int PARTIAL_LINE_UP = 0xfe23; 470 public static final int PARTIAL_LINE_DOWN = 0xfe24; 471 public static final int PARTIAL_SPACE_LEFT = 0xfe25; 472 public static final int PARTIAL_SPACE_RIGHT = 0xfe26; 473 public static final int SET_MARGIN_LEFT = 0xfe27; 474 public static final int SET_MARGIN_RIGHT = 0xfe28; 475 public static final int RELEASE_MARGIN_LEFT = 0xfe29; 476 public static final int RELEASE_MARGIN_RIGHT = 0xfe2a; 477 public static final int RELEASE_BOTH_MARGINS = 0xfe2b; 478 public static final int FAST_CURSOR_LEFT = 0xfe2c; 479 public static final int FAST_CURSOR_RIGHT = 0xfe2d; 480 public static final int FAST_CURSOR_UP = 0xfe2e; 481 public static final int FAST_CURSOR_DOWN = 0xfe2f; 482 public static final int CONTINUOUS_UNDERLINE = 0xfe30; 483 public static final int DISCONTINUOUS_UNDERLINE = 0xfe31; 484 public static final int EMPHASIZE = 0xfe32; 485 public static final int CENTER_OBJECT = 0xfe33; 486 public static final int ENTER = 0xfe34; 487 488 public static final int DEAD_GRAVE = 0xfe50;; 489 public static final int DEAD_ACUTE = 0xfe51; 490 public static final int DEAD_CIRCUMFLEX = 0xfe52; 491 public static final int DEAD_TILDE = 0xfe53; 492 public static final int DEAD_MACRON = 0xfe54; 493 public static final int DEAD_BREVE = 0xfe55; 494 public static final int DEAD_ABOVEDOT = 0xfe56; 495 public static final int DEAD_DIAERESIS = 0xfe57; 496 public static final int DEAD_ABOVERING = 0xfe58; 497 public static final int DEAD_DOUBLEACUTE = 0xfe59; 498 public static final int DEAD_CARON = 0xfe5a; 499 public static final int DEAD_CEDILLA = 0xfe5b; 500 public static final int DEAD_OGONEK = 0xfe5c; 501 public static final int DEAD_IOTA = 0xfe5d; 502 public static final int DEAD_VOICED_SOUND = 0xfe5e; 503 public static final int DEAD_SEMIVOICED_SOUND = 0xfe5f; 504 public static final int DEAD_BELOWDOT = 0xfe60; 505 public static final int DEAD_HOOK = 0xfe61; 506 public static final int DEAD_HORN = 0xfe62; 507 508 public static final int FIRST_VIRTUAL_SCREEN = 0xfed0;; 509 public static final int PREV_VIRTUAL_SCREEN = 0xfed1; 510 public static final int NEXT_VIRTUAL_SCREEN = 0xfed2; 511 public static final int LAST_VIRTUAL_SCREEN = 0xfed4; 512 public static final int TERMINATE_SERVER = 0xfed5; 513 514 public static final int ACCESS_X_ENABLE = 0xfe70;; 515 public static final int ACCESS_X_FEEDBACK_ENABLE = 0xfe71; 516 public static final int REPEAT_KEYS_ENABLE = 0xfe72; 517 public static final int SLOW_KEYS_ENABLE = 0xfe73; 518 public static final int BOUNCE_KEYS_ENABLE = 0xfe74; 519 public static final int STICKY_KEYS_ENABLE = 0xfe75; 520 public static final int MOUSE_KEYS_ENABLE = 0xfe76; 521 public static final int MOUSE_KEYS_ACCEL_ENABLE = 0xfe77; 522 public static final int OVERLAY1_ENABLE = 0xfe78; 523 public static final int OVERLAY2_ENABLE = 0xfe79; 524 public static final int AUDIBLE_BELL_ENABLE = 0xfe7a; 525 526 public static final int POINTER_LEFT = 0xfee0;; 527 public static final int POINTER_RIGHT = 0xfee1; 528 public static final int POINTER_UP = 0xfee2; 529 public static final int POINTER_DOWN = 0xfee3; 530 public static final int POINTER_UP_LEFT = 0xfee4; 531 public static final int POINTER_UP_RIGHT = 0xfee5; 532 public static final int POINTER_DOWN_LEFT = 0xfee6; 533 public static final int POINTER_DOWN_RIGHT = 0xfee7; 534 public static final int POINTER_BUTTON_DFLT = 0xfee8; 535 public static final int POINTER_BUTTON1 = 0xfee9; 536 public static final int POINTER_BUTTON2 = 0xfeea; 537 public static final int POINTER_BUTTON3 = 0xfeeb; 538 public static final int POINTER_BUTTON4 = 0xfeec; 539 public static final int POINTER_BUTTON5 = 0xfeed; 540 public static final int POINTER_DBL_CLICK_DFLT = 0xfeee; 541 public static final int POINTER_DBL_CLICK1 = 0xfeef; 542 public static final int POINTER_DBL_CLICK2 = 0xfef0; 543 public static final int POINTER_DBL_CLICK3 = 0xfef1; 544 public static final int POINTER_DBL_CLICK4 = 0xfef2; 545 public static final int POINTER_DBL_CLICK5 = 0xfef3; 546 public static final int POINTER_DRAG_DFLT = 0xfef4; 547 public static final int POINTER_DRAG1 = 0xfef5; 548 public static final int POINTER_DRAG2 = 0xfef6; 549 public static final int POINTER_DRAG3 = 0xfef7; 550 public static final int POINTER_DRAG4 = 0xfef8; 551 public static final int POINTER_DRAG5 = 0xfefd; 552 553 public static final int POINTER_ENABLE_KEYS = 0xfef9;; 554 public static final int POINTER_ACCELERATE = 0xfefa; 555 public static final int POINTER_DFLT_BTN_NEXT = 0xfefb; 556 public static final int POINTER_DFLT_BTN_PREV = 0xfefc; 557 558 //XFree86 ***************************************************************** 559 /* ModeLock. This one is old, and not really used any more since XKB 560 * offers this functionality. 561 */ 562 563 public static final int MODE_LOCK = 0x1008ff01; /* mode switch lock */ 564 565 566 /* "Internet" keyboards. */ 567 568 public static final int STANDBY = 0x1008ff10; 569 public static final int AUDIO_LOWER_VOLUME = 0x1008ff11; 570 public static final int AUDIO_MUTE = 0x1008ff12; 571 public static final int AUDIO_RAISE_VOLUME = 0x1008ff13; 572 public static final int AUDIO_PLAY = 0x1008ff14; 573 public static final int AUDIO_STOP = 0x1008ff15; 574 public static final int AUDIO_PREV = 0x1008ff16; 575 public static final int AUDIO_NEXT = 0x1008ff17; 576 public static final int HOME_PAGE = 0x1008ff18; 577 public static final int MAIL = 0x1008ff19; 578 public static final int START = 0x1008ff1a; 579 public static final int SEARCH = 0x1008ff1b; 580 public static final int AUDIO_RECORD = 0x1008ff1c; 581 582 583 /* PDA's (e.g. Palm, PocketPC or elsewhere). */ 584 585 public static final int CALCULATOR = 0x1008ff1d; 586 public static final int MEMO = 0x1008ff1e; 587 public static final int TO_DO_LIST = 0x1008ff1f; 588 public static final int CALENDAR = 0x1008ff20; 589 public static final int POWER_DOWN = 0x1008ff21; 590 public static final int CONTRASTADJUST = 0x1008ff22; 591 public static final int ROCKER_UP = 0x1008ff23; 592 public static final int ROCKER_DOWN = 0x1008ff24; 593 public static final int ROCKER_ENTER = 0x1008ff25; 594 public static final int BACK = 0x1008ff26; 595 public static final int FORWARD = 0x1008ff27; 596 public static final int STOP = 0x1008ff28; 597 public static final int REFRESH = 0x1008ff29; 598 public static final int POWER_OFF = 0x1008ff1a; 599 public static final int WAKE_UP = 0x1008ff1b; 600 601 602 /* Note, 0x1008ff02 - 0x1008ff0f are free and should be used for misc new 603 * keysyms that don't fit into any of the groups below. 604 */ 605 606 607 /* Misc. */ 608 609 public static final int FAVORITES = 0x1008ff30; 610 public static final int AUDIO_PAUSE = 0x1008ff31; 611 public static final int AUDIO_MEDIA = 0x1008ff32; 612 public static final int MY_COMPUTER = 0x1008ff33; 613 public static final int VENDOR_HOME = 0x1008ff34; 614 public static final int LIGHT_BULB = 0x1008ff35; 615 public static final int SHOP = 0x1008ff36; 616 617 //Currency **************************************************************** 618 public static final int CURR_ECU = 0x20a0; 619 public static final int CURR_COLON = 0x20a1; 620 public static final int CURR_CRUZEIRO = 0x20a2; 621 public static final int CURR_FFRANC = 0x20a3; 622 public static final int CURR_LIRA = 0x20a4; 623 public static final int CURR_MILL = 0x20a5; 624 public static final int CURR_NAIRA = 0x20a6; 625 public static final int CURR_PESETA = 0x20a7; 626 public static final int CURR_RUPEE = 0x20a8; 627 public static final int CURR_WON = 0x20a9; 628 public static final int CURR_NEW_SHEQEL = 0x20aa; 629 public static final int CURR_DONG = 0x20ab; 630 public static final int CURR_EURO = 0x20ac; 631 X11KeysymDefinitions()632 private X11KeysymDefinitions(){} 633 634 /** 635 * Converts an AWT key into a X11 keysym. 636 * 637 * @param awtKey 638 * @return 639 */ awtKeyToX11Keysym(int awtKey)640 public static int awtKeyToX11Keysym(int awtKey){ 641 switch(awtKey){ 642 case KeyEvent.VK_ENTER: 643 return RETURN; 644 case KeyEvent.VK_BACK_SPACE: 645 return BACKSPACE; 646 case KeyEvent.VK_TAB: 647 return TAB; 648 case KeyEvent.VK_CANCEL: 649 return CANCEL; 650 case KeyEvent.VK_CLEAR: 651 return CLEAR; 652 case KeyEvent.VK_SHIFT: 653 return SHIFT_L; 654 case KeyEvent.VK_CONTROL: 655 return CONTROL_L; 656 case KeyEvent.VK_ALT: 657 return ALT_L; 658 case KeyEvent.VK_PAUSE: 659 return PAUSE; 660 case KeyEvent.VK_CAPS_LOCK: 661 return CAPS_LOCK; 662 case KeyEvent.VK_ESCAPE: 663 return ESCAPE; 664 case KeyEvent.VK_SPACE: 665 return SPACE; 666 case KeyEvent.VK_PAGE_UP: 667 return PAGE_UP; 668 case KeyEvent.VK_PAGE_DOWN: 669 return PAGE_DOWN; 670 case KeyEvent.VK_END: 671 return END; 672 case KeyEvent.VK_HOME: 673 return HOME; 674 case KeyEvent.VK_LEFT: 675 return LEFT; 676 case KeyEvent.VK_UP: 677 return UP; 678 case KeyEvent.VK_RIGHT: 679 return RIGHT; 680 case KeyEvent.VK_DOWN: 681 return DOWN; 682 case KeyEvent.VK_COMMA: 683 return COMMA; 684 case KeyEvent.VK_MINUS: 685 return MINUS; 686 case KeyEvent.VK_PERIOD: 687 return PERIOD; 688 case KeyEvent.VK_SLASH: 689 return SLASH; 690 case KeyEvent.VK_0: 691 return NUM_0; 692 case KeyEvent.VK_1: 693 return NUM_1; 694 case KeyEvent.VK_2: 695 return NUM_2; 696 case KeyEvent.VK_3: 697 return NUM_3; 698 case KeyEvent.VK_4: 699 return NUM_4; 700 case KeyEvent.VK_5: 701 return NUM_5; 702 case KeyEvent.VK_6: 703 return NUM_6; 704 case KeyEvent.VK_7: 705 return NUM_7; 706 case KeyEvent.VK_8: 707 return NUM_8; 708 case KeyEvent.VK_9: 709 return NUM_9; 710 case KeyEvent.VK_SEMICOLON: 711 return SEMICOLON; 712 case KeyEvent.VK_EQUALS: 713 return EQUAL; 714 case KeyEvent.VK_A: 715 return A; 716 case KeyEvent.VK_B: 717 return B; 718 case KeyEvent.VK_C: 719 return C; 720 case KeyEvent.VK_D: 721 return D; 722 case KeyEvent.VK_E: 723 return E; 724 case KeyEvent.VK_F: 725 return F; 726 case KeyEvent.VK_G: 727 return G; 728 case KeyEvent.VK_H: 729 return H; 730 case KeyEvent.VK_I: 731 return I; 732 case KeyEvent.VK_J: 733 return J; 734 case KeyEvent.VK_K: 735 return K; 736 case KeyEvent.VK_L: 737 return L; 738 case KeyEvent.VK_M: 739 return M; 740 case KeyEvent.VK_N: 741 return N; 742 case KeyEvent.VK_O: 743 return O; 744 case KeyEvent.VK_P: 745 return P; 746 case KeyEvent.VK_Q: 747 return Q; 748 case KeyEvent.VK_R: 749 return R; 750 case KeyEvent.VK_S: 751 return S; 752 case KeyEvent.VK_T: 753 return T; 754 case KeyEvent.VK_U: 755 return U; 756 case KeyEvent.VK_V: 757 return V; 758 case KeyEvent.VK_W: 759 return W; 760 case KeyEvent.VK_X: 761 return X; 762 case KeyEvent.VK_Y: 763 return Y; 764 case KeyEvent.VK_Z: 765 return Z; 766 case KeyEvent.VK_OPEN_BRACKET: 767 return BRACKET_LEFT; 768 case KeyEvent.VK_BACK_SLASH: 769 return BACKSLASH; 770 case KeyEvent.VK_CLOSE_BRACKET: 771 return BRACKET_LEFT; 772 case KeyEvent.VK_NUMPAD0: 773 return KP_0; 774 case KeyEvent.VK_NUMPAD1: 775 return KP_1; 776 case KeyEvent.VK_NUMPAD2: 777 return KP_2; 778 case KeyEvent.VK_NUMPAD3: 779 return KP_3; 780 case KeyEvent.VK_NUMPAD4: 781 return KP_4; 782 case KeyEvent.VK_NUMPAD5: 783 return KP_5; 784 case KeyEvent.VK_NUMPAD6: 785 return KP_6; 786 case KeyEvent.VK_NUMPAD7: 787 return KP_7; 788 case KeyEvent.VK_NUMPAD8: 789 return KP_8; 790 case KeyEvent.VK_NUMPAD9: 791 return KP_9; 792 case KeyEvent.VK_MULTIPLY: 793 return KP_MULTIPLY; 794 case KeyEvent.VK_ADD: 795 return KP_ADD; 796 case KeyEvent.VK_SEPARATER: 797 return KP_SEPARATOR; 798 case KeyEvent.VK_SUBTRACT: 799 return KP_SUBTRACT; 800 case KeyEvent.VK_DECIMAL: 801 return KP_DECIMAL; 802 case KeyEvent.VK_DIVIDE: 803 return KP_DIVIDE; 804 case KeyEvent.VK_DELETE: 805 return DELETE; 806 case KeyEvent.VK_NUM_LOCK: 807 return NUM_LOCK; 808 case KeyEvent.VK_SCROLL_LOCK: 809 return SCROLL_LOCK; 810 case KeyEvent.VK_F1: 811 return F1; 812 case KeyEvent.VK_F2: 813 return F2; 814 case KeyEvent.VK_F3: 815 return F3; 816 case KeyEvent.VK_F4: 817 return F4; 818 case KeyEvent.VK_F5: 819 return F5; 820 case KeyEvent.VK_F6: 821 return F6; 822 case KeyEvent.VK_F7: 823 return F7; 824 case KeyEvent.VK_F8: 825 return F8; 826 case KeyEvent.VK_F9: 827 return F9; 828 case KeyEvent.VK_F10: 829 return F10; 830 case KeyEvent.VK_F11: 831 return F11; 832 case KeyEvent.VK_F12: 833 return F12; 834 case KeyEvent.VK_F13: 835 return F13; 836 case KeyEvent.VK_F14: 837 return F14; 838 case KeyEvent.VK_F15: 839 return F15; 840 case KeyEvent.VK_F16: 841 return F16; 842 case KeyEvent.VK_F17: 843 return F17; 844 case KeyEvent.VK_F18: 845 return F18; 846 case KeyEvent.VK_F19: 847 return F19; 848 case KeyEvent.VK_F20: 849 return F20; 850 case KeyEvent.VK_F21: 851 return F21; 852 case KeyEvent.VK_F22: 853 return F22; 854 case KeyEvent.VK_F23: 855 return F23; 856 case KeyEvent.VK_F24: 857 return F24; 858 case KeyEvent.VK_PRINTSCREEN: 859 return PRINT; 860 case KeyEvent.VK_INSERT: 861 return INSERT; 862 case KeyEvent.VK_HELP: 863 return HELP; 864 case KeyEvent.VK_META: 865 return META_L; 866 case KeyEvent.VK_BACK_QUOTE: 867 return QUOTE_LEFT; 868 case KeyEvent.VK_QUOTE: 869 return QUOTE_RIGHT; 870 case KeyEvent.VK_KP_UP: 871 return KP_UP; 872 case KeyEvent.VK_KP_DOWN: 873 return KP_DOWN; 874 case KeyEvent.VK_KP_LEFT: 875 return KP_LEFT; 876 case KeyEvent.VK_KP_RIGHT: 877 return KP_RIGHT; 878 case KeyEvent.VK_DEAD_GRAVE: 879 return DEAD_GRAVE; 880 case KeyEvent.VK_DEAD_ACUTE: 881 return DEAD_ACUTE; 882 case KeyEvent.VK_DEAD_CIRCUMFLEX: 883 return DEAD_CIRCUMFLEX; 884 case KeyEvent.VK_DEAD_TILDE: 885 return DEAD_TILDE; 886 case KeyEvent.VK_DEAD_MACRON: 887 return DEAD_MACRON; 888 case KeyEvent.VK_DEAD_BREVE: 889 return DEAD_BREVE; 890 case KeyEvent.VK_DEAD_ABOVEDOT: 891 return DEAD_ABOVEDOT; 892 case KeyEvent.VK_DEAD_DIAERESIS: 893 return DEAD_DIAERESIS; 894 case KeyEvent.VK_DEAD_ABOVERING: 895 return DEAD_ABOVERING; 896 case KeyEvent.VK_DEAD_DOUBLEACUTE: 897 return DEAD_DOUBLEACUTE; 898 case KeyEvent.VK_DEAD_CARON: 899 return DEAD_CARON; 900 case KeyEvent.VK_DEAD_CEDILLA: 901 return DEAD_CEDILLA; 902 case KeyEvent.VK_DEAD_OGONEK: 903 return DEAD_OGONEK; 904 case KeyEvent.VK_DEAD_IOTA: 905 return DEAD_IOTA; 906 case KeyEvent.VK_DEAD_VOICED_SOUND: 907 return DEAD_VOICED_SOUND; 908 case KeyEvent.VK_DEAD_SEMIVOICED_SOUND: 909 return DEAD_SEMIVOICED_SOUND; 910 case KeyEvent.VK_AMPERSAND: 911 return AMPERSAND; 912 case KeyEvent.VK_ASTERISK: 913 return ASTERISK; 914 case KeyEvent.VK_QUOTEDBL: 915 return QUOTE_DBL; 916 case KeyEvent.VK_LESS: 917 return LESS; 918 case KeyEvent.VK_GREATER: 919 return GREATER; 920 case KeyEvent.VK_BRACELEFT: 921 return BRACE_LEFT; 922 case KeyEvent.VK_BRACERIGHT: 923 return BRACE_RIGHT; 924 case KeyEvent.VK_AT: 925 return AT; 926 case KeyEvent.VK_COLON: 927 return COLON; 928 case KeyEvent.VK_CIRCUMFLEX: 929 return ASCII_CIRCUM; 930 case KeyEvent.VK_DOLLAR: 931 return DOLLAR; 932 case KeyEvent.VK_EURO_SIGN: 933 return CURR_EURO; 934 case KeyEvent.VK_EXCLAMATION_MARK: 935 return EXCLAM; 936 case KeyEvent.VK_INVERTED_EXCLAMATION_MARK: 937 return EXCLAM_DOWN; 938 case KeyEvent.VK_LEFT_PARENTHESIS: 939 return PAREN_LEFT; 940 case KeyEvent.VK_NUMBER_SIGN: 941 return NUMBER_SIGN; 942 case KeyEvent.VK_PLUS: 943 return PLUS; 944 case KeyEvent.VK_RIGHT_PARENTHESIS: 945 return PAREN_RIGHT; 946 case KeyEvent.VK_UNDERSCORE: 947 return UNDERSCORE; 948 case KeyEvent.VK_WINDOWS: 949 return SUPER_L; 950 case KeyEvent.VK_CONTEXT_MENU: 951 return MENU; 952 case KeyEvent.VK_FINAL: 953 return 0; //???? 954 case KeyEvent.VK_CONVERT: 955 return 0; //???? 956 case KeyEvent.VK_NONCONVERT: 957 return 0; //???? 958 case KeyEvent.VK_ACCEPT: 959 return 0; //???? 960 case KeyEvent.VK_MODECHANGE: 961 return MODE_SWITCH; 962 case KeyEvent.VK_KANA: 963 return KANA_SHIFT; 964 case KeyEvent.VK_KANJI: 965 return KANJI; 966 case KeyEvent.VK_ALPHANUMERIC: 967 return EISU_SHIFT; 968 case KeyEvent.VK_KATAKANA: 969 return KATAKANA; 970 case KeyEvent.VK_HIRAGANA: 971 return HIRAGANA; 972 case KeyEvent.VK_FULL_WIDTH: 973 return 0; //???? 974 case KeyEvent.VK_HALF_WIDTH: 975 return 0; //???? 976 case KeyEvent.VK_ROMAN_CHARACTERS: 977 return 0; //???? 978 case KeyEvent.VK_ALL_CANDIDATES: 979 return MULTIPLE_CANDIDATE; 980 case KeyEvent.VK_PREVIOUS_CANDIDATE: 981 return PREVIOUS_CANDIDATE; 982 case KeyEvent.VK_CODE_INPUT: 983 return CODEINPUT; 984 case KeyEvent.VK_JAPANESE_KATAKANA: 985 return KATAKANA; 986 case KeyEvent.VK_JAPANESE_HIRAGANA: 987 return HIRAGANA; 988 case KeyEvent.VK_JAPANESE_ROMAN: 989 return 0; //???? 990 case KeyEvent.VK_KANA_LOCK: 991 return KANA_LOCK; 992 case KeyEvent.VK_INPUT_METHOD_ON_OFF: 993 return 0; //???? 994 case KeyEvent.VK_CUT: 995 return 0; //???? 996 case KeyEvent.VK_COPY: 997 return 0; //???? 998 case KeyEvent.VK_PASTE: 999 return 0; //???? 1000 case KeyEvent.VK_UNDO: 1001 return UNDO; 1002 case KeyEvent.VK_AGAIN: 1003 return REDO; 1004 case KeyEvent.VK_FIND: 1005 return FIND; 1006 case KeyEvent.VK_PROPS: 1007 return 0; //???? 1008 case KeyEvent.VK_STOP: 1009 return CANCEL; 1010 case KeyEvent.VK_COMPOSE: 1011 return MULTI_KEY; 1012 case KeyEvent.VK_ALT_GRAPH: 1013 return 0; //???? 1014 case KeyEvent.VK_BEGIN: 1015 return BEGIN; 1016 case KeyEvent.VK_UNDEFINED: 1017 return 0; 1018 default: 1019 return 0; 1020 } 1021 } 1022 } 1023