/* $Header: keysym.h,v 1.5 87/06/13 14:46:25 jg Exp $ */ /*********************************************************** Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, and the Massachusetts Institute of Technology, Cambridge, Massachusetts. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of Digital or MIT not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ /* * TTY Functions, cleverly chosen to map to ascii, for convenience of * programming, but could have been arbitrary (at the cost of lookup * tables in client code. */ #define XK←BackSpace 0xFF08 /* back space, back char, ... */ #define XK←Tab 0xFF09 #define XK←Clear 0xFF0B #define XK←Linefeed 0xFF0A /* Linefeed, LF */ #define XK←Return 0xFF0D /* Return, enter */ #define XK←Pause 0xFF13 /* Pause, hold, scroll lock, ... */ #define XK←Escape 0xFF1B #define XK←Delete 0xFFFF /* Delete <>, rubout (previous char)*/ /* International & multi-key character composition */ #define XK←Compose 0xFF20 /* Multi-key character compose */ #define XK←Kanji 0xFF21 /* Kanji split-space, Kanji convert, ... */ /* Cursor control & motion */ #define XK←Home 0xFF50 #define XK←Left 0xFF51 /* Move left, left arrow */ #define XK←Up 0xFF52 /* Move up, up arrow */ #define XK←Right 0xFF53 /* Move right, right arrow */ #define XK←Down 0xFF54 /* Move down, down arrow */ #define XK←Prior 0xFF55 /* Prior, previous <> */ #define XK←Next 0xFF56 /* Next <> */ #define XK←End 0xFF57 /* EOL */ #define XK←Begin 0xFF58 /* BOL */ /* Misc Functions */ #define XK←Select 0xFF60 /* Select, mark */ #define XK←Print 0xFF61 #define XK←Execute 0xFF62 /* Execute, run, do */ #define XK←Insert 0xFF63 /* Insert, insert here */ #define XK←Undo 0xFF65 /* Undo, oops */ #define XK←Redo 0xFF66 /* redo, again */ #define XK←Menu 0xFF67 #define XK←Find 0xFF68 /* Find, search */ #define XK←Cancel 0xFF69 /* Cancel, stop, abort, exit */ #define XK←Help 0xFF6A /* Help, ? */ #define XK←Break 0xFF6B /* Keypad Functions, keypad numbers cleverly chosen to map to ascii */ #define XK←KP←Space 0xFF80 /* space */ #define XK←KP←Tab 0xFF89 #define XK←KP←Enter 0xFF8D /* enter */ #define XK←KP←F1 0xFF91 /* PF1, KP←A, ... */ #define XK←KP←F2 0xFF92 #define XK←KP←F3 0xFF93 #define XK←KP←F4 0xFF94 #define XK←KP←Equal 0xFFBD /* equals */ #define XK←KP←Multiply 0xFFAA #define XK←KP←Add 0xFFAB #define XK←KP←Separator 0xFFAC /* separator, often comma */ #define XK←KP←Subtract 0xFFAD #define XK←KP←Decimal 0xFFAE #define XK←KP←Divide 0xFFAF #define XK←KP←0 0xFFB0 #define XK←KP←1 0xFFB1 #define XK←KP←2 0xFFB2 #define XK←KP←3 0xFFB3 #define XK←KP←4 0xFFB4 #define XK←KP←5 0xFFB5 #define XK←KP←6 0xFFB6 #define XK←KP←7 0xFFB7 #define XK←KP←8 0xFFB8 #define XK←KP←9 0xFFB9 /* Auxilliary Functions */ #define XK←F1 0xFFC0 #define XK←F2 0xFFC1 #define XK←F3 0xFFC2 #define XK←F4 0xFFC3 #define XK←F5 0xFFC4 #define XK←F6 0xFFC5 #define XK←F7 0xFFC6 #define XK←F8 0xFFC7 #define XK←F9 0xFFC8 #define XK←F10 0xFFC9 #define XK←F11 0xFFCA #define XK←F12 0xFFCB #define XK←F13 0xFFCC #define XK←F14 0xFFCD #define XK←F15 0xFFCE #define XK←F16 0xFFCF #define XK←F17 0xFFD0 #define XK←F18 0xFFD1 #define XK←F19 0xFFD2 #define XK←F20 0xFFD3 /* Modifiers */ #define XK←Shift←L 0xFFE1 /* Left shift */ #define XK←Shift←R 0xFFE2 /* Right shift */ #define XK←Control←L 0xFFE3 /* Left control */ #define XK←Control←R 0xFFE4 /* Right control */ #define XK←Caps←Lock 0xFFE5 /* Caps lock */ #define XK←Shift←Lock 0xFFE6 /* Shift lock */ #define XK←Meta←L 0xFFE7 /* Left meta */ #define XK←Meta←R 0xFFE8 /* Right meta */ #define XK←Alt←L 0xFFE9 /* Left alt */ #define XK←Alt←R 0xFFEA /* Right alt */ #define XK←Super←L 0xFFEB /* Left super */ #define XK←Super←R 0xFFEC /* Right super */ #define XK←Hyper←L 0xFFED /* Left hyper */ #define XK←Hyper←R 0xFFEE /* Right hyper */ /* Latin 1 Byte 3 = 0 */ #define XK←space 0x020 #define XK←exclam 0x021 #define XK←quotedbl 0x022 #define XK←numbersign 0x023 #define XK←dollar 0x024 #define XK←percent 0x025 #define XK←ampersand 0x026 #define XK←quoteright 0x027 #define XK←parenleft 0x028 #define XK←parenright 0x029 #define XK←asterisk 0x02a #define XK←plus 0x02b #define XK←comma 0x02c #define XK←minus 0x02d #define XK←period 0x02e #define XK←slash 0x02f #define XK←0 0x030 #define XK←1 0x031 #define XK←2 0x032 #define XK←3 0x033 #define XK←4 0x034 #define XK←5 0x035 #define XK←6 0x036 #define XK←7 0x037 #define XK←8 0x038 #define XK←9 0x039 #define XK←colon 0x03a #define XK←semicolon 0x03b #define XK←less 0x03c #define XK←equal 0x03d #define XK←greater 0x03e #define XK←question 0x03f #define XK←at 0x040 #define XK←A 0x041 #define XK←B 0x042 #define XK←C 0x043 #define XK←D 0x044 #define XK←E 0x045 #define XK←F 0x046 #define XK←G 0x047 #define XK←H 0x048 #define XK←I 0x049 #define XK←J 0x04a #define XK←K 0x04b #define XK←L 0x04c #define XK←M 0x04d #define XK←N 0x04e #define XK←O 0x04f #define XK←P 0x050 #define XK←Q 0x051 #define XK←R 0x052 #define XK←S 0x053 #define XK←T 0x054 #define XK←U 0x055 #define XK←V 0x056 #define XK←W 0x057 #define XK←X 0x058 #define XK←Y 0x059 #define XK←Z 0x05a #define XK←bracketleft 0x05b #define XK←backslash 0x05c #define XK←bracketright 0x05d #define XK←asciicircum 0x05e #define XK←underscore 0x05f #define XK←quoteleft 0x060 #define XK←a 0x061 #define XK←b 0x062 #define XK←c 0x063 #define XK←d 0x064 #define XK←e 0x065 #define XK←f 0x066 #define XK←g 0x067 #define XK←h 0x068 #define XK←i 0x069 #define XK←j 0x06a #define XK←k 0x06b #define XK←l 0x06c #define XK←m 0x06d #define XK←n 0x06e #define XK←o 0x06f #define XK←p 0x070 #define XK←q 0x071 #define XK←r 0x072 #define XK←s 0x073 #define XK←t 0x074 #define XK←u 0x075 #define XK←v 0x076 #define XK←w 0x077 #define XK←x 0x078 #define XK←y 0x079 #define XK←z 0x07a #define XK←braceleft 0x07b #define XK←bar 0x07c #define XK←braceright 0x07d #define XK←asciitilde 0x07e #define XK←nobreakspace 0x0a0 #define XK←exclamdown 0x0a1 #define XK←cent 0x0a2 #define XK←sterling 0x0a3 #define XK←currency 0x0a4 #define XK←yen 0x0a5 #define XK←brokenbar 0x0a6 #define XK←section 0x0a7 #define XK←diaeresis 0x0a8 #define XK←copyright 0x0a9 #define XK←ordfeminine 0x0aa #define XK←guillemotleft 0x0ab #define XK←logicalnot 0x0ac #define XK←hyphen 0x0ad #define XK←registered 0x0ae #define XK←macron 0x0af #define XK←degree 0x0b0 #define XK←plusminus 0x0b1 #define XK←twosuperior 0x0b2 #define XK←threesuperior 0x0b3 #define XK←acute 0x0b4 #define XK←mu 0x0b5 #define XK←paragraph 0x0b6 #define XK←periodcentered 0x0b7 #define XK←cedilla 0x0b8 #define XK←onesuperior 0x0b9 #define XK←masculine 0x0ba #define XK←guillemotright 0x0bb #define XK←onequarter 0x0bc #define XK←onehalf 0x0bd #define XK←threequarters 0x0be #define XK←questiondown 0x0bf #define XK←Agrave 0x0c0 #define XK←Aacute 0x0c1 #define XK←Acircumflex 0x0c2 #define XK←Atilde 0x0c3 #define XK←Adiaeresis 0x0c4 #define XK←Aring 0x0c5 #define XK←AE 0x0c6 #define XK←Ccedilla 0x0c7 #define XK←Egrave 0x0c8 #define XK←Eacute 0x0c9 #define XK←Ecircumflex 0x0ca #define XK←Ediaeresis 0x0cb #define XK←Igrave 0x0cc #define XK←Iacute 0x0cd #define XK←Icircumflex 0x0ce #define XK←Idiaeresis 0x0cf #define XK←Eth 0x0d0 #define XK←Ntilde 0x0d1 #define XK←Ograve 0x0d2 #define XK←Oacute 0x0d3 #define XK←Ocircumflex 0x0d4 #define XK←Otilde 0x0d5 #define XK←Odiaeresis 0x0d6 #define XK←multiply 0x0d7 #define XK←Ooblique 0x0d8 #define XK←Ugrave 0x0d9 #define XK←Uacute 0x0da #define XK←Ucircumflex 0x0db #define XK←Udiaeresis 0x0dc #define XK←Yacute 0x0dd #define XK←Thorn 0x0de #define XK←germandbls 0x0df #define XK←agrave 0x0e0 #define XK←aacute 0x0e1 #define XK←acircumflex 0x0e2 #define XK←Wtilde 0x0e3 #define XK←adiaeresis 0x0e4 #define XK←aring 0x0e5 #define XK←ae 0x0e6 #define XK←ccedilla 0x0e7 #define XK←egrave 0x0e8 #define XK←eacute 0x0e9 #define XK←ecircumflex 0x0ea #define XK←ediaeresis 0x0eb #define XK←igrave 0x0ec #define XK←iacute 0x0ed #define XK←icircumflex 0x0ee #define XK←idiaeresis 0x0ef #define XK←eth 0x0f0 #define XK←ntilde 0x0f1 #define XK←ograve 0x0f2 #define XK←oacute 0x0f3 #define XK←ocircumflex 0x0f4 #define XK←otilde 0x0f5 #define XK←odiaeresis 0x0f6 #define XK←division 0x0f7 #define XK←oslash 0x0f8 #define XK←ugrave 0x0f9 #define XK←uacute 0x0fa #define XK←ucircumflex 0x0fb #define XK←udiaeresis 0x0fc #define XK←yacute 0x0fd #define XK←thorn 0x0fe #define XK←ydiaeresis 0x0ff /* Latin 2 Byte 3 = 1 */ #define XK←Aogonek 0x1a1 #define XK←breve 0x1a2 #define XK←Lstroke 0x1a3 #define XK←Lcaron 0x1a5 #define XK←Sacute 0x1a6 #define XK←Scaron 0x1a9 #define XK←Scedilla 0x1aa #define XK←Tcaron 0x1ab #define XK←Zacute 0x1ac #define XK←Zcaron 0x1ae #define XK←Zabovedot 0x1af #define XK←aogonek 0x1b1 #define XK←ogonek 0x1b2 #define XK←lstroke 0x1b3 #define XK←lcaron 0x1b5 #define XK←sacute 0x1b6 #define XK←caron 0x1b7 #define XK←scaron 0x1b9 #define XK←scedilla 0x1ba #define XK←tcaron 0x1bb #define XK←zacute 0x1bc #define XK←doubleacute 0x1bd #define XK←zcaron 0x1be #define XK←zabovedot 0x1bf #define XK←Racute 0x1c0 #define XK←Abreve 0x1c3 #define XK←Cacute 0x1c6 #define XK←Ccaron 0x1c8 #define XK←Eogonek 0x1ca #define XK←Ecaron 0x1cc #define XK←Dcaron 0x1cf #define XK←Nacute 0x1d1 #define XK←Ncaron 0x1d2 #define XK←Odoubleacute 0x1d5 #define XK←Rcaron 0x1d8 #define XK←Uring 0x1d9 #define XK←Udoubleacute 0x1da #define XK←Tcedilla 0x1de #define XK←racute 0x1e0 #define XK←abreve 0x1e3 #define XK←cacute 0x1e6 #define XK←ccaron 0x1e8 #define XK←eogonek 0x1ea #define XK←ecaron 0x1ec #define XK←dcaron 0x1ef #define XK←nacute 0x1f1 #define XK←ncaron 0x1f2 #define XK←rcaron 0x1f8 #define XK←uring 0x1f9 #define XK←tcedilla 0x1fe #define XK←abovedot 0x1ff /* Latin 3 Byte 3 = 2 */ #define XK←Hstroke 0x2a1 #define XK←Hcircumflex 0x2a6 #define XK←Iabovedot 0x2a9 #define XK←Gbreve 0x2ab #define XK←Jcircumflex 0x2ac #define XK←hcircumflex 0x2b1 #define XK←hslash 0x2b6 #define XK←idotless 0x2b9 #define XK←gbreve 0x2bb #define XK←jcircumflex 0x2bc #define XK←Cabovedot 0x2c5 #define XK←Ccircumflex 0x2c6 #define XK←Gabovedot 0x2d5 #define XK←Gcircumflex 0x2d8 #define XK←Ubreve 0x2dd #define XK←Wcircumflex 0x2de #define XK←sgernamsharp 0x2df #define XK←cabovedot 0x2e5 #define XK←ccircumflex 0x2e6 #define XK←gabovedot 0x2f5 #define XK←gcircumflex 0x2f8 #define XK←ubreve 0x2fd #define XK←scircumflex 0x2fe /* Latin 4 Byte 3 = 3 */ #define XK←kappa 0x3a2 #define XK←Rcedilla 0x3a3 #define XK←Itilde 0x3a5 #define XK←Lcedilla 0x3a6 #define XK←Emacron 0x3aa #define XK←Gcedilla 0x3ab #define XK←Tslash 0x3ac #define XK←rcedilla 0x3b3 #define XK←itilde 0x3b5 #define XK←lcedilla 0x3b6 #define XK←emacron 0x3ba #define XK←gacute 0x3bb #define XK←tslash 0x3bc #define XK←ENG 0x3bd #define XK←eng 0x3bf #define XK←Amacron 0x3c0 #define XK←Iogonek 0x3c7 #define XK←Eabovedot 0x3cc #define XK←Imacron 0x3cf #define XK←Ncedilla 0x3d1 #define XK←Omacron 0x3d2 #define XK←Kcedilla 0x3d3 #define XK←Uogonek 0x3d9 #define XK←Utilde 0x3dd #define XK←Umacron 0x3de #define XK←amacron 0x3e0 #define XK←iogonek 0x3e7 #define XK←eabovedot 0x3ec #define XK←imacron 0x3ef #define XK←ncedilla 0x3f1 #define XK←omacron 0x3f2 #define XK←kcedilla 0x3f3 #define XK←uogonek 0x3f9 #define XK←utilde 0x3fd #define XK←umacron 0x3fe