/data/keys.lisp
Lisp | 1278 lines | 1186 code | 12 blank | 80 comment | 0 complexity | 99c14ae8a670162ce4aaabbb0a5941b2 MD5 | raw file
Possible License(s): GPL-3.0
- ;; data from evdev.c perhaps copyrighted like so:
- #|
- /*
- * Copyright Š 2004-2008 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, 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 name of Red Hat
- * not be used in advertising or publicity pertaining to distribution
- * of the software without specific, written prior permission. Red
- * Hat makes no representations about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied
- * warranty.
- *
- * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
- * NO EVENT SHALL THE AUTHORS 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.
- *
- */
- |#
- ;; data from x/usr/include/X11/keysymdef.h perhaps copyrighted like so:
- #|
- Copyright 1987, 1994, 1998 The Open Group
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
- Except as contained in this notice, the name of The Open Group shall
- not be used in advertising or otherwise to promote the sale, use or
- other dealings in this Software without prior written authorization
- from The Open Group.
- Copyright 1987 by Digital Equipment Corporation, Maynard, 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 name of Digital 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.
- |#
- (defconstant +scancode-to-keys+
- '(
- (#x00 :NoSymbol :NoSymbol)
- (#x01 :XK_Escape :NoSymbol)
- (#x02 :XK_1 :XK_exclam)
- (#x03 :XK_2 :XK_at)
- (#x04 :XK_3 :XK_numbersign)
- (#x05 :XK_4 :XK_dollar)
- (#x06 :XK_5 :XK_percent)
- (#x07 :XK_6 :XK_asciicircum)
- (#x08 :XK_7 :XK_ampersand)
- (#x09 :XK_8 :XK_asterisk)
- (#x0a :XK_9 :XK_parenleft)
- (#x0b :XK_0 :XK_parenright)
- (#x0c :XK_minus :XK_underscore)
- (#x0d :XK_equal :XK_plus)
- (#x0e :XK_BackSpace :NoSymbol)
- (#x0f :XK_Tab :XK_ISO_Left_Tab)
- (#x10 :XK_Q :NoSymbol)
- (#x11 :XK_W :NoSymbol)
- (#x12 :XK_E :NoSymbol)
- (#x13 :XK_R :NoSymbol)
- (#x14 :XK_T :NoSymbol)
- (#x15 :XK_Y :NoSymbol)
- (#x16 :XK_U :NoSymbol)
- (#x17 :XK_I :NoSymbol)
- (#x18 :XK_O :NoSymbol)
- (#x19 :XK_P :NoSymbol)
- (#x1a :XK_bracketleft :XK_braceleft)
- (#x1b :XK_bracketright :XK_braceright)
- (#x1c :XK_Return :NoSymbol)
- (#x1d :XK_Control_L :NoSymbol)
- (#x1e :XK_A :NoSymbol)
- (#x1f :XK_S :NoSymbol)
- (#x20 :XK_D :NoSymbol)
- (#x21 :XK_F :NoSymbol)
- (#x22 :XK_G :NoSymbol)
- (#x23 :XK_H :NoSymbol)
- (#x24 :XK_J :NoSymbol)
- (#x25 :XK_K :NoSymbol)
- (#x26 :XK_L :NoSymbol)
- (#x27 :XK_semicolon :XK_colon)
- (#x28 :XK_quoteright :XK_quotedbl)
- (#x29 :XK_quoteleft :XK_asciitilde)
- (#x2a :XK_Shift_L :NoSymbol)
- (#x2b :XK_backslash :XK_bar)
- (#x2c :XK_Z :NoSymbol)
- (#x2d :XK_X :NoSymbol)
- (#x2e :XK_C :NoSymbol)
- (#x2f :XK_V :NoSymbol)
- (#x30 :XK_B :NoSymbol)
- (#x31 :XK_N :NoSymbol)
- (#x32 :XK_M :NoSymbol)
- (#x33 :XK_comma :XK_less)
- (#x34 :XK_period :XK_greater)
- (#x35 :XK_slash :XK_question)
- (#x36 :XK_Shift_R :NoSymbol)
- (#x37 :XK_KP_Multiply :NoSymbol)
- (#x38 :XK_Alt_L :XK_Meta_L)
- (#x39 :XK_space :NoSymbol)
- (#x3a :XK_Caps_Lock :NoSymbol)
- (#x3b :XK_F1 :NoSymbol)
- (#x3c :XK_F2 :NoSymbol)
- (#x3d :XK_F3 :NoSymbol)
- (#x3e :XK_F4 :NoSymbol)
- (#x3f :XK_F5 :NoSymbol)
- (#x40 :XK_F6 :NoSymbol)
- (#x41 :XK_F7 :NoSymbol)
- (#x42 :XK_F8 :NoSymbol)
- (#x43 :XK_F9 :NoSymbol)
- (#x44 :XK_F10 :NoSymbol)
- (#x45 :XK_Num_Lock :NoSymbol)
- (#x46 :XK_Scroll_Lock :NoSymbol)
- (#x47 :XK_KP_Home :XK_KP_7)
- (#x48 :XK_KP_Up :XK_KP_8)
- (#x49 :XK_KP_Prior :XK_KP_9)
- (#x4a :XK_KP_Subtract :NoSymbol)
- (#x4b :XK_KP_Left :XK_KP_4)
- (#x4c :XK_KP_Begin :XK_KP_5)
- (#x4d :XK_KP_Right :XK_KP_6)
- (#x4e :XK_KP_Add :NoSymbol)
- (#x4f :XK_KP_End :XK_KP_1)
- (#x50 :XK_KP_Down :XK_KP_2)
- (#x51 :XK_KP_Next :XK_KP_3)
- (#x52 :XK_KP_Insert :XK_KP_0)
- (#x53 :XK_KP_Delete :XK_KP_Decimal)
- (#x54 :NoSymbol :NoSymbol)
- (#x55 :XK_F13 :NoSymbol)
- (#x56 :XK_less :XK_greater)
- (#x57 :XK_F11 :NoSymbol)
- (#x58 :XK_F12 :NoSymbol)
- (#x59 :XK_F14 :NoSymbol)
- (#x5a :XK_F15 :NoSymbol)
- (#x5b :XK_F16 :NoSymbol)
- (#x5c :XK_F17 :NoSymbol)
- (#x5d :XK_F18 :NoSymbol)
- (#x5e :XK_F19 :NoSymbol)
- (#x5f :XK_F20 :NoSymbol)
- (#x60 :XK_KP_Enter :NoSymbol)
- (#x61 :XK_Control_R :NoSymbol)
- (#x62 :XK_KP_Divide :NoSymbol)
- (#x63 :XK_Print :XK_Sys_Req)
- (#x64 :XK_Alt_R :XK_Meta_R)
- (#x65 :NoSymbol :NoSymbol)
- (#x66 :XK_Home :NoSymbol)
- (#x67 :XK_Up :NoSymbol)
- (#x68 :XK_Prior :NoSymbol)
- (#x69 :XK_Left :NoSymbol)
- (#x6a :XK_Right :NoSymbol)
- (#x6b :XK_End :NoSymbol)
- (#x6c :XK_Down :NoSymbol)
- (#x6d :XK_Next :NoSymbol)
- (#x6e :XK_Insert :NoSymbol)
- (#x6f :XK_Delete :NoSymbol)
- (#x70 :NoSymbol :NoSymbol)
- (#x71 :NoSymbol :NoSymbol)
- (#x72 :NoSymbol :NoSymbol)
- (#x73 :NoSymbol :NoSymbol)
- (#x74 :NoSymbol :NoSymbol)
- (#x75 :XK_KP_Equal :NoSymbol)
- (#x76 :NoSymbol :NoSymbol)
- (#x77 :NoSymbol :NoSymbol)
- (#x78 :XK_F21 :NoSymbol)
- (#x79 :XK_F22 :NoSymbol)
- (#x7a :XK_F23 :NoSymbol)
- (#x7b :XK_F24 :NoSymbol)
- (#x7c :XK_KP_Separator :NoSymbol)
- (#x7d :XK_Meta_L :NoSymbol)
- (#x7e :XK_Meta_R :NoSymbol)
- (#x7f :XK_Multi_key :NoSymbol)
- (#x80 :NoSymbol :NoSymbol)
- (#x81 :NoSymbol :NoSymbol)
- (#x82 :NoSymbol :NoSymbol)
- (#x83 :NoSymbol :NoSymbol)
- (#x84 :NoSymbol :NoSymbol)
- (#x85 :NoSymbol :NoSymbol)
- (#x86 :NoSymbol :NoSymbol)
- (#x87 :NoSymbol :NoSymbol)
- (#x88 :NoSymbol :NoSymbol)
- (#x89 :NoSymbol :NoSymbol)
- (#x8a :NoSymbol :NoSymbol)
- (#x8b :NoSymbol :NoSymbol)
- (#x8c :NoSymbol :NoSymbol)
- (#x8d :NoSymbol :NoSymbol)
- (#x8e :NoSymbol :NoSymbol)
- (#x8f :NoSymbol :NoSymbol)
- (#x90 :NoSymbol :NoSymbol)
- (#x91 :NoSymbol :NoSymbol)
- (#x92 :NoSymbol :NoSymbol)
- (#x93 :NoSymbol :NoSymbol)
- (#x94 :NoSymbol :NoSymbol)
- (#x95 :NoSymbol :NoSymbol)
- (#x96 :NoSymbol :NoSymbol)
- (#x97 :NoSymbol :NoSymbol)
- (#x98 :NoSymbol :NoSymbol)
- (#x99 :NoSymbol :NoSymbol)
- (#x9a :NoSymbol :NoSymbol)
- (#x9b :NoSymbol :NoSymbol)
- (#x9c :NoSymbol :NoSymbol)
- (#x9d :NoSymbol :NoSymbol)
- (#x9e :NoSymbol :NoSymbol)
- (#x9f :NoSymbol :NoSymbol)
- (#xa0 :NoSymbol :NoSymbol)
- (#xa1 :NoSymbol :NoSymbol)
- (#xa2 :NoSymbol :NoSymbol)
- (#xa3 :NoSymbol :NoSymbol)
- (#xa4 :NoSymbol :NoSymbol)
- (#xa5 :NoSymbol :NoSymbol)
- (#xa6 :NoSymbol :NoSymbol)
- (#xa7 :NoSymbol :NoSymbol)
- (#xa8 :NoSymbol :NoSymbol)
- (#xa9 :NoSymbol :NoSymbol)
- (#xaa :NoSymbol :NoSymbol)
- (#xab :NoSymbol :NoSymbol)
- (#xac :NoSymbol :NoSymbol)
- (#xad :NoSymbol :NoSymbol)
- (#xae :NoSymbol :NoSymbol)
- (#xaf :NoSymbol :NoSymbol)
- (#xb0 :NoSymbol :NoSymbol)
- (#xb1 :NoSymbol :NoSymbol)
- (#xb2 :NoSymbol :NoSymbol)
- (#xb3 :NoSymbol :NoSymbol)
- (#xb4 :NoSymbol :NoSymbol)
- (#xb5 :NoSymbol :NoSymbol)
- (#xb6 :NoSymbol :NoSymbol)
- (#xb7 :NoSymbol :NoSymbol)
- (#xb8 :NoSymbol :NoSymbol)
- (#xb9 :NoSymbol :NoSymbol)
- (#xba :NoSymbol :NoSymbol)
- (#xbb :NoSymbol :NoSymbol)
- (#xbc :NoSymbol :NoSymbol)
- (#xbd :NoSymbol :NoSymbol)
- (#xbe :NoSymbol :NoSymbol)
- (#xbf :NoSymbol :NoSymbol)
- (#xc0 :NoSymbol :NoSymbol)
- (#xc1 :NoSymbol :NoSymbol)
- (#xc2 :NoSymbol :NoSymbol)
- (#xc3 :NoSymbol :NoSymbol)
- (#xc4 :NoSymbol :NoSymbol)
- (#xc5 :NoSymbol :NoSymbol)
- (#xc6 :NoSymbol :NoSymbol)
- (#xc7 :NoSymbol :NoSymbol)
- (#xc8 :NoSymbol :NoSymbol)
- (#xc9 :NoSymbol :NoSymbol)
- (#xca :NoSymbol :NoSymbol)
- (#xcb :NoSymbol :NoSymbol)
- (#xcc :NoSymbol :NoSymbol)
- (#xcd :NoSymbol :NoSymbol)
- (#xce :NoSymbol :NoSymbol)
- (#xcf :NoSymbol :NoSymbol)
- (#xd0 :NoSymbol :NoSymbol)
- (#xd1 :NoSymbol :NoSymbol)
- (#xd2 :NoSymbol :NoSymbol)
- (#xd3 :NoSymbol :NoSymbol)
- (#xd4 :NoSymbol :NoSymbol)
- (#xd5 :NoSymbol :NoSymbol)
- (#xd6 :NoSymbol :NoSymbol)
- (#xd7 :NoSymbol :NoSymbol)
- (#xd8 :NoSymbol :NoSymbol)
- (#xd9 :NoSymbol :NoSymbol)
- (#xda :NoSymbol :NoSymbol)
- (#xdb :NoSymbol :NoSymbol)
- (#xdc :NoSymbol :NoSymbol)
- (#xdd :NoSymbol :NoSymbol)
- (#xde :NoSymbol :NoSymbol)
- (#xdf :NoSymbol :NoSymbol)
- (#xe0 :NoSymbol :NoSymbol)
- (#xe1 :NoSymbol :NoSymbol)
- (#xe2 :NoSymbol :NoSymbol)
- (#xe3 :NoSymbol :NoSymbol)
- (#xe4 :NoSymbol :NoSymbol)
- (#xe5 :NoSymbol :NoSymbol)
- (#xe6 :NoSymbol :NoSymbol)
- (#xe7 :NoSymbol :NoSymbol)
- (#xe8 :NoSymbol :NoSymbol)
- (#xe9 :NoSymbol :NoSymbol)
- (#xea :NoSymbol :NoSymbol)
- (#xeb :NoSymbol :NoSymbol)
- (#xec :NoSymbol :NoSymbol)
- (#xed :NoSymbol :NoSymbol)
- (#xee :NoSymbol :NoSymbol)
- (#xef :NoSymbol :NoSymbol)
- (#xf0 :NoSymbol :NoSymbol)
- (#xf1 :NoSymbol :NoSymbol)
- (#xf2 :NoSymbol :NoSymbol)
- (#xf3 :NoSymbol :NoSymbol)
- (#xf4 :NoSymbol :NoSymbol)
- (#xf5 :NoSymbol :NoSymbol)
- (#xf6 :NoSymbol :NoSymbol)
- (#xf7 :NoSymbol :NoSymbol)
- ))
- (defconstant +keysyms+
- '(
- (:NoSymbol #x00000000)
- (:XK_VoidSymbol #xffffff)
- (:XK_BackSpace #xff08)
- (:XK_Tab #xff09)
- (:XK_Linefeed #xff0a)
- (:XK_Clear #xff0b)
- (:XK_Return #xff0d)
- (:XK_Pause #xff13)
- (:XK_Scroll_Lock #xff14)
- (:XK_Sys_Req #xff15)
- (:XK_Escape #xff1b)
- (:XK_Delete #xffff)
- (:XK_Multi_key #xff20)
- (:XK_Codeinput #xff37)
- (:XK_SingleCandidate #xff3c)
- (:XK_MultipleCandidate #xff3d)
- (:XK_PreviousCandidate #xff3e)
- (:XK_Kanji #xff21)
- (:XK_Muhenkan #xff22)
- (:XK_Henkan_Mode #xff23)
- (:XK_Henkan #xff23)
- (:XK_Romaji #xff24)
- (:XK_Hiragana #xff25)
- (:XK_Katakana #xff26)
- (:XK_Hiragana_Katakana #xff27)
- (:XK_Zenkaku #xff28)
- (:XK_Hankaku #xff29)
- (:XK_Zenkaku_Hankaku #xff2a)
- (:XK_Touroku #xff2b)
- (:XK_Massyo #xff2c)
- (:XK_Kana_Lock #xff2d)
- (:XK_Kana_Shift #xff2e)
- (:XK_Eisu_Shift #xff2f)
- (:XK_Eisu_toggle #xff30)
- (:XK_Kanji_Bangou #xff37)
- (:XK_Zen_Koho #xff3d)
- (:XK_Mae_Koho #xff3e)
- (:XK_Home #xff50)
- (:XK_Left #xff51)
- (:XK_Up #xff52)
- (:XK_Right #xff53)
- (:XK_Down #xff54)
- (:XK_Prior #xff55)
- (:XK_Page_Up #xff55)
- (:XK_Next #xff56)
- (:XK_Page_Down #xff56)
- (:XK_End #xff57)
- (:XK_Begin #xff58)
- (:XK_Select #xff60)
- (:XK_Print #xff61)
- (:XK_Execute #xff62)
- (:XK_Insert #xff63)
- (:XK_Undo #xff65)
- (:XK_Redo #xff66)
- (:XK_Menu #xff67)
- (:XK_Find #xff68)
- (:XK_Cancel #xff69)
- (:XK_Help #xff6a)
- (:XK_Break #xff6b)
- (:XK_Mode_switch #xff7e)
- (:XK_script_switch #xff7e)
- (:XK_Num_Lock #xff7f)
- (:XK_KP_Space #xff80)
- (:XK_KP_Tab #xff89)
- (:XK_KP_Enter #xff8d)
- (:XK_KP_F1 #xff91)
- (:XK_KP_F2 #xff92)
- (:XK_KP_F3 #xff93)
- (:XK_KP_F4 #xff94)
- (:XK_KP_Home #xff95)
- (:XK_KP_Left #xff96)
- (:XK_KP_Up #xff97)
- (:XK_KP_Right #xff98)
- (:XK_KP_Down #xff99)
- (:XK_KP_Prior #xff9a)
- (:XK_KP_Page_Up #xff9a)
- (:XK_KP_Next #xff9b)
- (:XK_KP_Page_Down #xff9b)
- (:XK_KP_End #xff9c)
- (:XK_KP_Begin #xff9d)
- (:XK_KP_Insert #xff9e)
- (:XK_KP_Delete #xff9f)
- (:XK_KP_Equal #xffbd)
- (:XK_KP_Multiply #xffaa)
- (:XK_KP_Add #xffab)
- (:XK_KP_Separator #xffac)
- (:XK_KP_Subtract #xffad)
- (:XK_KP_Decimal #xffae)
- (:XK_KP_Divide #xffaf)
- (:XK_KP_0 #xffb0)
- (:XK_KP_1 #xffb1)
- (:XK_KP_2 #xffb2)
- (:XK_KP_3 #xffb3)
- (:XK_KP_4 #xffb4)
- (:XK_KP_5 #xffb5)
- (:XK_KP_6 #xffb6)
- (:XK_KP_7 #xffb7)
- (:XK_KP_8 #xffb8)
- (:XK_KP_9 #xffb9)
- (:XK_F1 #xffbe)
- (:XK_F2 #xffbf)
- (:XK_F3 #xffc0)
- (:XK_F4 #xffc1)
- (:XK_F5 #xffc2)
- (:XK_F6 #xffc3)
- (:XK_F7 #xffc4)
- (:XK_F8 #xffc5)
- (:XK_F9 #xffc6)
- (:XK_F10 #xffc7)
- (:XK_F11 #xffc8)
- (:XK_L1 #xffc8)
- (:XK_F12 #xffc9)
- (:XK_L2 #xffc9)
- (:XK_F13 #xffca)
- (:XK_L3 #xffca)
- (:XK_F14 #xffcb)
- (:XK_L4 #xffcb)
- (:XK_F15 #xffcc)
- (:XK_L5 #xffcc)
- (:XK_F16 #xffcd)
- (:XK_L6 #xffcd)
- (:XK_F17 #xffce)
- (:XK_L7 #xffce)
- (:XK_F18 #xffcf)
- (:XK_L8 #xffcf)
- (:XK_F19 #xffd0)
- (:XK_L9 #xffd0)
- (:XK_F20 #xffd1)
- (:XK_L10 #xffd1)
- (:XK_F21 #xffd2)
- (:XK_R1 #xffd2)
- (:XK_F22 #xffd3)
- (:XK_R2 #xffd3)
- (:XK_F23 #xffd4)
- (:XK_R3 #xffd4)
- (:XK_F24 #xffd5)
- (:XK_R4 #xffd5)
- (:XK_F25 #xffd6)
- (:XK_R5 #xffd6)
- (:XK_F26 #xffd7)
- (:XK_R6 #xffd7)
- (:XK_F27 #xffd8)
- (:XK_R7 #xffd8)
- (:XK_F28 #xffd9)
- (:XK_R8 #xffd9)
- (:XK_F29 #xffda)
- (:XK_R9 #xffda)
- (:XK_F30 #xffdb)
- (:XK_R10 #xffdb)
- (:XK_F31 #xffdc)
- (:XK_R11 #xffdc)
- (:XK_F32 #xffdd)
- (:XK_R12 #xffdd)
- (:XK_F33 #xffde)
- (:XK_R13 #xffde)
- (:XK_F34 #xffdf)
- (:XK_R14 #xffdf)
- (:XK_F35 #xffe0)
- (:XK_R15 #xffe0)
- (:XK_Shift_L #xffe1)
- (:XK_Shift_R #xffe2)
- (:XK_Control_L #xffe3)
- (:XK_Control_R #xffe4)
- (:XK_Caps_Lock #xffe5)
- (:XK_Shift_Lock #xffe6)
- (:XK_Meta_L #xffe7)
- (:XK_Meta_R #xffe8)
- (:XK_Alt_L #xffe9)
- (:XK_Alt_R #xffea)
- (:XK_Super_L #xffeb)
- (:XK_Super_R #xffec)
- (:XK_Hyper_L #xffed)
- (:XK_Hyper_R #xffee)
- (:XK_ISO_Lock #xfe01)
- (:XK_ISO_Level2_Latch #xfe02)
- (:XK_ISO_Level3_Shift #xfe03)
- (:XK_ISO_Level3_Latch #xfe04)
- (:XK_ISO_Level3_Lock #xfe05)
- (:XK_ISO_Level5_Shift #xfe11)
- (:XK_ISO_Level5_Latch #xfe12)
- (:XK_ISO_Level5_Lock #xfe13)
- (:XK_ISO_Group_Shift #xff7e)
- (:XK_ISO_Group_Latch #xfe06)
- (:XK_ISO_Group_Lock #xfe07)
- (:XK_ISO_Next_Group #xfe08)
- (:XK_ISO_Next_Group_Lock #xfe09)
- (:XK_ISO_Prev_Group #xfe0a)
- (:XK_ISO_Prev_Group_Lock #xfe0b)
- (:XK_ISO_First_Group #xfe0c)
- (:XK_ISO_First_Group_Lock #xfe0d)
- (:XK_ISO_Last_Group #xfe0e)
- (:XK_ISO_Last_Group_Lock #xfe0f)
- (:XK_ISO_Left_Tab #xfe20)
- (:XK_ISO_Move_Line_Up #xfe21)
- (:XK_ISO_Move_Line_Down #xfe22)
- (:XK_ISO_Partial_Line_Up #xfe23)
- (:XK_ISO_Partial_Line_Down #xfe24)
- (:XK_ISO_Partial_Space_Left #xfe25)
- (:XK_ISO_Partial_Space_Right #xfe26)
- (:XK_ISO_Set_Margin_Left #xfe27)
- (:XK_ISO_Set_Margin_Right #xfe28)
- (:XK_ISO_Release_Margin_Left #xfe29)
- (:XK_ISO_Release_Margin_Right #xfe2a)
- (:XK_ISO_Release_Both_Margins #xfe2b)
- (:XK_ISO_Fast_Cursor_Left #xfe2c)
- (:XK_ISO_Fast_Cursor_Right #xfe2d)
- (:XK_ISO_Fast_Cursor_Up #xfe2e)
- (:XK_ISO_Fast_Cursor_Down #xfe2f)
- (:XK_ISO_Continuous_Underline #xfe30)
- (:XK_ISO_Discontinuous_Underline #xfe31)
- (:XK_ISO_Emphasize #xfe32)
- (:XK_ISO_Center_Object #xfe33)
- (:XK_ISO_Enter #xfe34)
- (:XK_dead_grave #xfe50)
- (:XK_dead_acute #xfe51)
- (:XK_dead_circumflex #xfe52)
- (:XK_dead_tilde #xfe53)
- (:XK_dead_perispomeni #xfe53)
- (:XK_dead_macron #xfe54)
- (:XK_dead_breve #xfe55)
- (:XK_dead_abovedot #xfe56)
- (:XK_dead_diaeresis #xfe57)
- (:XK_dead_abovering #xfe58)
- (:XK_dead_doubleacute #xfe59)
- (:XK_dead_caron #xfe5a)
- (:XK_dead_cedilla #xfe5b)
- (:XK_dead_ogonek #xfe5c)
- (:XK_dead_iota #xfe5d)
- (:XK_dead_voiced_sound #xfe5e)
- (:XK_dead_semivoiced_sound #xfe5f)
- (:XK_dead_belowdot #xfe60)
- (:XK_dead_hook #xfe61)
- (:XK_dead_horn #xfe62)
- (:XK_dead_stroke #xfe63)
- (:XK_dead_abovecomma #xfe64)
- (:XK_dead_psili #xfe64)
- (:XK_dead_abovereversedcomma #xfe65)
- (:XK_dead_dasia #xfe65)
- (:XK_dead_doublegrave #xfe66)
- (:XK_dead_belowring #xfe67)
- (:XK_dead_belowmacron #xfe68)
- (:XK_dead_belowcircumflex #xfe69)
- (:XK_dead_belowtilde #xfe6a)
- (:XK_dead_belowbreve #xfe6b)
- (:XK_dead_belowdiaeresis #xfe6c)
- (:XK_dead_invertedbreve #xfe6d)
- (:XK_dead_belowcomma #xfe6e)
- (:XK_dead_currency #xfe6f)
- (:XK_dead_a #xfe80)
- (:XK_dead_A #xfe81)
- (:XK_dead_e #xfe82)
- (:XK_dead_E #xfe83)
- (:XK_dead_i #xfe84)
- (:XK_dead_I #xfe85)
- (:XK_dead_o #xfe86)
- (:XK_dead_O #xfe87)
- (:XK_dead_u #xfe88)
- (:XK_dead_U #xfe89)
- (:XK_dead_small_schwa #xfe8a)
- (:XK_dead_capital_schwa #xfe8b)
- (:XK_First_Virtual_Screen #xfed0)
- (:XK_Prev_Virtual_Screen #xfed1)
- (:XK_Next_Virtual_Screen #xfed2)
- (:XK_Last_Virtual_Screen #xfed4)
- (:XK_Terminate_Server #xfed5)
- (:XK_AccessX_Enable #xfe70)
- (:XK_AccessX_Feedback_Enable #xfe71)
- (:XK_RepeatKeys_Enable #xfe72)
- (:XK_SlowKeys_Enable #xfe73)
- (:XK_BounceKeys_Enable #xfe74)
- (:XK_StickyKeys_Enable #xfe75)
- (:XK_MouseKeys_Enable #xfe76)
- (:XK_MouseKeys_Accel_Enable #xfe77)
- (:XK_Overlay1_Enable #xfe78)
- (:XK_Overlay2_Enable #xfe79)
- (:XK_AudibleBell_Enable #xfe7a)
- (:XK_Pointer_Left #xfee0)
- (:XK_Pointer_Right #xfee1)
- (:XK_Pointer_Up #xfee2)
- (:XK_Pointer_Down #xfee3)
- (:XK_Pointer_UpLeft #xfee4)
- (:XK_Pointer_UpRight #xfee5)
- (:XK_Pointer_DownLeft #xfee6)
- (:XK_Pointer_DownRight #xfee7)
- (:XK_Pointer_Button_Dflt #xfee8)
- (:XK_Pointer_Button1 #xfee9)
- (:XK_Pointer_Button2 #xfeea)
- (:XK_Pointer_Button3 #xfeeb)
- (:XK_Pointer_Button4 #xfeec)
- (:XK_Pointer_Button5 #xfeed)
- (:XK_Pointer_DblClick_Dflt #xfeee)
- (:XK_Pointer_DblClick1 #xfeef)
- (:XK_Pointer_DblClick2 #xfef0)
- (:XK_Pointer_DblClick3 #xfef1)
- (:XK_Pointer_DblClick4 #xfef2)
- (:XK_Pointer_DblClick5 #xfef3)
- (:XK_Pointer_Drag_Dflt #xfef4)
- (:XK_Pointer_Drag1 #xfef5)
- (:XK_Pointer_Drag2 #xfef6)
- (:XK_Pointer_Drag3 #xfef7)
- (:XK_Pointer_Drag4 #xfef8)
- (:XK_Pointer_Drag5 #xfefd)
- (:XK_Pointer_EnableKeys #xfef9)
- (:XK_Pointer_Accelerate #xfefa)
- (:XK_Pointer_DfltBtnNext #xfefb)
- (:XK_Pointer_DfltBtnPrev #xfefc)
- (:XK_3270_Duplicate #xfd01)
- (:XK_3270_FieldMark #xfd02)
- (:XK_3270_Right2 #xfd03)
- (:XK_3270_Left2 #xfd04)
- (:XK_3270_BackTab #xfd05)
- (:XK_3270_EraseEOF #xfd06)
- (:XK_3270_EraseInput #xfd07)
- (:XK_3270_Reset #xfd08)
- (:XK_3270_Quit #xfd09)
- (:XK_3270_PA1 #xfd0a)
- (:XK_3270_PA2 #xfd0b)
- (:XK_3270_PA3 #xfd0c)
- (:XK_3270_Test #xfd0d)
- (:XK_3270_Attn #xfd0e)
- (:XK_3270_CursorBlink #xfd0f)
- (:XK_3270_AltCursor #xfd10)
- (:XK_3270_KeyClick #xfd11)
- (:XK_3270_Jump #xfd12)
- (:XK_3270_Ident #xfd13)
- (:XK_3270_Rule #xfd14)
- (:XK_3270_Copy #xfd15)
- (:XK_3270_Play #xfd16)
- (:XK_3270_Setup #xfd17)
- (:XK_3270_Record #xfd18)
- (:XK_3270_ChangeScreen #xfd19)
- (:XK_3270_DeleteWord #xfd1a)
- (:XK_3270_ExSelect #xfd1b)
- (:XK_3270_CursorSelect #xfd1c)
- (:XK_3270_PrintScreen #xfd1d)
- (:XK_3270_Enter #xfd1e)
- (:XK_space #x0020)
- (:XK_exclam #x0021)
- (:XK_quotedbl #x0022)
- (:XK_numbersign #x0023)
- (:XK_dollar #x0024)
- (:XK_percent #x0025)
- (:XK_ampersand #x0026)
- (:XK_apostrophe #x0027)
- (:XK_quoteright #x0027)
- (:XK_parenleft #x0028)
- (:XK_parenright #x0029)
- (:XK_asterisk #x002a)
- (:XK_plus #x002b)
- (:XK_comma #x002c)
- (:XK_minus #x002d)
- (:XK_period #x002e)
- (:XK_slash #x002f)
- (:XK_0 #x0030)
- (:XK_1 #x0031)
- (:XK_2 #x0032)
- (:XK_3 #x0033)
- (:XK_4 #x0034)
- (:XK_5 #x0035)
- (:XK_6 #x0036)
- (:XK_7 #x0037)
- (:XK_8 #x0038)
- (:XK_9 #x0039)
- (:XK_colon #x003a)
- (:XK_semicolon #x003b)
- (:XK_less #x003c)
- (:XK_equal #x003d)
- (:XK_greater #x003e)
- (:XK_question #x003f)
- (:XK_at #x0040)
- (:XK_A #x0041)
- (:XK_B #x0042)
- (:XK_C #x0043)
- (:XK_D #x0044)
- (:XK_E #x0045)
- (:XK_F #x0046)
- (:XK_G #x0047)
- (:XK_H #x0048)
- (:XK_I #x0049)
- (:XK_J #x004a)
- (:XK_K #x004b)
- (:XK_L #x004c)
- (:XK_M #x004d)
- (:XK_N #x004e)
- (:XK_O #x004f)
- (:XK_P #x0050)
- (:XK_Q #x0051)
- (:XK_R #x0052)
- (:XK_S #x0053)
- (:XK_T #x0054)
- (:XK_U #x0055)
- (:XK_V #x0056)
- (:XK_W #x0057)
- (:XK_X #x0058)
- (:XK_Y #x0059)
- (:XK_Z #x005a)
- (:XK_bracketleft #x005b)
- (:XK_backslash #x005c)
- (:XK_bracketright #x005d)
- (:XK_asciicircum #x005e)
- (:XK_underscore #x005f)
- (:XK_grave #x0060)
- (:XK_quoteleft #x0060)
- (:XK_a #x0061)
- (:XK_b #x0062)
- (:XK_c #x0063)
- (:XK_d #x0064)
- (:XK_e #x0065)
- (:XK_f #x0066)
- (:XK_g #x0067)
- (:XK_h #x0068)
- (:XK_i #x0069)
- (:XK_j #x006a)
- (:XK_k #x006b)
- (:XK_l #x006c)
- (:XK_m #x006d)
- (:XK_n #x006e)
- (:XK_o #x006f)
- (:XK_p #x0070)
- (:XK_q #x0071)
- (:XK_r #x0072)
- (:XK_s #x0073)
- (:XK_t #x0074)
- (:XK_u #x0075)
- (:XK_v #x0076)
- (:XK_w #x0077)
- (:XK_x #x0078)
- (:XK_y #x0079)
- (:XK_z #x007a)
- (:XK_braceleft #x007b)
- (:XK_bar #x007c)
- (:XK_braceright #x007d)
- (:XK_asciitilde #x007e)
- (:XK_nobreakspace #x00a0)
- (:XK_exclamdown #x00a1)
- (:XK_cent #x00a2)
- (:XK_sterling #x00a3)
- (:XK_currency #x00a4)
- (:XK_yen #x00a5)
- (:XK_brokenbar #x00a6)
- (:XK_section #x00a7)
- (:XK_diaeresis #x00a8)
- (:XK_copyright #x00a9)
- (:XK_ordfeminine #x00aa)
- (:XK_guillemotleft #x00ab)
- (:XK_notsign #x00ac)
- (:XK_hyphen #x00ad)
- (:XK_registered #x00ae)
- (:XK_macron #x00af)
- (:XK_degree #x00b0)
- (:XK_plusminus #x00b1)
- (:XK_twosuperior #x00b2)
- (:XK_threesuperior #x00b3)
- (:XK_acute #x00b4)
- (:XK_mu #x00b5)
- (:XK_paragraph #x00b6)
- (:XK_periodcentered #x00b7)
- (:XK_cedilla #x00b8)
- (:XK_onesuperior #x00b9)
- (:XK_masculine #x00ba)
- (:XK_guillemotright #x00bb)
- (:XK_onequarter #x00bc)
- (:XK_onehalf #x00bd)
- (:XK_threequarters #x00be)
- (:XK_questiondown #x00bf)
- (:XK_Agrave #x00c0)
- (:XK_Aacute #x00c1)
- (:XK_Acircumflex #x00c2)
- (:XK_Atilde #x00c3)
- (:XK_Adiaeresis #x00c4)
- (:XK_Aring #x00c5)
- (:XK_AE #x00c6)
- (:XK_Ccedilla #x00c7)
- (:XK_Egrave #x00c8)
- (:XK_Eacute #x00c9)
- (:XK_Ecircumflex #x00ca)
- (:XK_Ediaeresis #x00cb)
- (:XK_Igrave #x00cc)
- (:XK_Iacute #x00cd)
- (:XK_Icircumflex #x00ce)
- (:XK_Idiaeresis #x00cf)
- (:XK_ETH #x00d0)
- (:XK_Eth #x00d0)
- (:XK_Ntilde #x00d1)
- (:XK_Ograve #x00d2)
- (:XK_Oacute #x00d3)
- (:XK_Ocircumflex #x00d4)
- (:XK_Otilde #x00d5)
- (:XK_Odiaeresis #x00d6)
- (:XK_multiply #x00d7)
- (:XK_Oslash #x00d8)
- (:XK_Ooblique #x00d8)
- (:XK_Ugrave #x00d9)
- (:XK_Uacute #x00da)
- (:XK_Ucircumflex #x00db)
- (:XK_Udiaeresis #x00dc)
- (:XK_Yacute #x00dd)
- (:XK_THORN #x00de)
- (:XK_Thorn #x00de)
- (:XK_ssharp #x00df)
- (:XK_agrave #x00e0)
- (:XK_aacute #x00e1)
- (:XK_acircumflex #x00e2)
- (:XK_atilde #x00e3)
- (:XK_adiaeresis #x00e4)
- (:XK_aring #x00e5)
- (:XK_ae #x00e6)
- (:XK_ccedilla #x00e7)
- (:XK_egrave #x00e8)
- (:XK_eacute #x00e9)
- (:XK_ecircumflex #x00ea)
- (:XK_ediaeresis #x00eb)
- (:XK_igrave #x00ec)
- (:XK_iacute #x00ed)
- (:XK_icircumflex #x00ee)
- (:XK_idiaeresis #x00ef)
- (:XK_eth #x00f0)
- (:XK_ntilde #x00f1)
- (:XK_ograve #x00f2)
- (:XK_oacute #x00f3)
- (:XK_ocircumflex #x00f4)
- (:XK_otilde #x00f5)
- (:XK_odiaeresis #x00f6)
- (:XK_division #x00f7)
- (:XK_oslash #x00f8)
- (:XK_ooblique #x00f8)
- (:XK_ugrave #x00f9)
- (:XK_uacute #x00fa)
- (:XK_ucircumflex #x00fb)
- (:XK_udiaeresis #x00fc)
- (:XK_yacute #x00fd)
- (:XK_thorn #x00fe)
- (:XK_ydiaeresis #x00ff)
- (:XK_Aogonek #x01a1)
- (:XK_breve #x01a2)
- (:XK_Lstroke #x01a3)
- (:XK_Lcaron #x01a5)
- (:XK_Sacute #x01a6)
- (:XK_Scaron #x01a9)
- (:XK_Scedilla #x01aa)
- (:XK_Tcaron #x01ab)
- (:XK_Zacute #x01ac)
- (:XK_Zcaron #x01ae)
- (:XK_Zabovedot #x01af)
- (:XK_aogonek #x01b1)
- (:XK_ogonek #x01b2)
- (:XK_lstroke #x01b3)
- (:XK_lcaron #x01b5)
- (:XK_sacute #x01b6)
- (:XK_caron #x01b7)
- (:XK_scaron #x01b9)
- (:XK_scedilla #x01ba)
- (:XK_tcaron #x01bb)
- (:XK_zacute #x01bc)
- (:XK_doubleacute #x01bd)
- (:XK_zcaron #x01be)
- (:XK_zabovedot #x01bf)
- (:XK_Racute #x01c0)
- (:XK_Abreve #x01c3)
- (:XK_Lacute #x01c5)
- (:XK_Cacute #x01c6)
- (:XK_Ccaron #x01c8)
- (:XK_Eogonek #x01ca)
- (:XK_Ecaron #x01cc)
- (:XK_Dcaron #x01cf)
- (:XK_Dstroke #x01d0)
- (:XK_Nacute #x01d1)
- (:XK_Ncaron #x01d2)
- (:XK_Odoubleacute #x01d5)
- (:XK_Rcaron #x01d8)
- (:XK_Uring #x01d9)
- (:XK_Udoubleacute #x01db)
- (:XK_Tcedilla #x01de)
- (:XK_racute #x01e0)
- (:XK_abreve #x01e3)
- (:XK_lacute #x01e5)
- (:XK_cacute #x01e6)
- (:XK_ccaron #x01e8)
- (:XK_eogonek #x01ea)
- (:XK_ecaron #x01ec)
- (:XK_dcaron #x01ef)
- (:XK_dstroke #x01f0)
- (:XK_nacute #x01f1)
- (:XK_ncaron #x01f2)
- (:XK_odoubleacute #x01f5)
- (:XK_udoubleacute #x01fb)
- (:XK_rcaron #x01f8)
- (:XK_uring #x01f9)
- (:XK_tcedilla #x01fe)
- (:XK_abovedot #x01ff)
- (:XK_Hstroke #x02a1)
- (:XK_Hcircumflex #x02a6)
- (:XK_Iabovedot #x02a9)
- (:XK_Gbreve #x02ab)
- (:XK_Jcircumflex #x02ac)
- (:XK_hstroke #x02b1)
- (:XK_hcircumflex #x02b6)
- (:XK_idotless #x02b9)
- (:XK_gbreve #x02bb)
- (:XK_jcircumflex #x02bc)
- (:XK_Cabovedot #x02c5)
- (:XK_Ccircumflex #x02c6)
- (:XK_Gabovedot #x02d5)
- (:XK_Gcircumflex #x02d8)
- (:XK_Ubreve #x02dd)
- (:XK_Scircumflex #x02de)
- (:XK_cabovedot #x02e5)
- (:XK_ccircumflex #x02e6)
- (:XK_gabovedot #x02f5)
- (:XK_gcircumflex #x02f8)
- (:XK_ubreve #x02fd)
- (:XK_scircumflex #x02fe)
- (:XK_kra #x03a2)
- (:XK_kappa #x03a2)
- (:XK_Rcedilla #x03a3)
- (:XK_Itilde #x03a5)
- (:XK_Lcedilla #x03a6)
- (:XK_Emacron #x03aa)
- (:XK_Gcedilla #x03ab)
- (:XK_Tslash #x03ac)
- (:XK_rcedilla #x03b3)
- (:XK_itilde #x03b5)
- (:XK_lcedilla #x03b6)
- (:XK_emacron #x03ba)
- (:XK_gcedilla #x03bb)
- (:XK_tslash #x03bc)
- (:XK_ENG #x03bd)
- (:XK_eng #x03bf)
- (:XK_Amacron #x03c0)
- (:XK_Iogonek #x03c7)
- (:XK_Eabovedot #x03cc)
- (:XK_Imacron #x03cf)
- (:XK_Ncedilla #x03d1)
- (:XK_Omacron #x03d2)
- (:XK_Kcedilla #x03d3)
- (:XK_Uogonek #x03d9)
- (:XK_Utilde #x03dd)
- (:XK_Umacron #x03de)
- (:XK_amacron #x03e0)
- (:XK_iogonek #x03e7)
- (:XK_eabovedot #x03ec)
- (:XK_imacron #x03ef)
- (:XK_ncedilla #x03f1)
- (:XK_omacron #x03f2)
- (:XK_kcedilla #x03f3)
- (:XK_uogonek #x03f9)
- (:XK_utilde #x03fd)
- (:XK_umacron #x03fe)
- (:XK_Babovedot #x1001e02)
- (:XK_babovedot #x1001e03)
- (:XK_Dabovedot #x1001e0a)
- (:XK_Wgrave #x1001e80)
- (:XK_Wacute #x1001e82)
- (:XK_dabovedot #x1001e0b)
- (:XK_Ygrave #x1001ef2)
- (:XK_Fabovedot #x1001e1e)
- (:XK_fabovedot #x1001e1f)
- (:XK_Mabovedot #x1001e40)
- (:XK_mabovedot #x1001e41)
- (:XK_Pabovedot #x1001e56)
- (:XK_wgrave #x1001e81)
- (:XK_pabovedot #x1001e57)
- (:XK_wacute #x1001e83)
- (:XK_Sabovedot #x1001e60)
- (:XK_ygrave #x1001ef3)
- (:XK_Wdiaeresis #x1001e84)
- (:XK_wdiaeresis #x1001e85)
- (:XK_sabovedot #x1001e61)
- (:XK_Wcircumflex #x1000174)
- (:XK_Tabovedot #x1001e6a)
- (:XK_Ycircumflex #x1000176)
- (:XK_wcircumflex #x1000175)
- (:XK_tabovedot #x1001e6b)
- (:XK_ycircumflex #x1000177)
- (:XK_OE #x13bc)
- (:XK_oe #x13bd)
- (:XK_Ydiaeresis #x13be)
- (:XK_overline #x047e)
- (:XK_leftradical #x08a1)
- (:XK_topleftradical #x08a2)
- (:XK_horizconnector #x08a3)
- (:XK_topintegral #x08a4)
- (:XK_botintegral #x08a5)
- (:XK_vertconnector #x08a6)
- (:XK_topleftsqbracket #x08a7)
- (:XK_botleftsqbracket #x08a8)
- (:XK_toprightsqbracket #x08a9)
- (:XK_botrightsqbracket #x08aa)
- (:XK_topleftparens #x08ab)
- (:XK_botleftparens #x08ac)
- (:XK_toprightparens #x08ad)
- (:XK_botrightparens #x08ae)
- (:XK_leftmiddlecurlybrace #x08af)
- (:XK_rightmiddlecurlybrace #x08b0)
- (:XK_topleftsummation #x08b1)
- (:XK_botleftsummation #x08b2)
- (:XK_topvertsummationconnector #x08b3)
- (:XK_botvertsummationconnector #x08b4)
- (:XK_toprightsummation #x08b5)
- (:XK_botrightsummation #x08b6)
- (:XK_rightmiddlesummation #x08b7)
- (:XK_lessthanequal #x08bc)
- (:XK_notequal #x08bd)
- (:XK_greaterthanequal #x08be)
- (:XK_integral #x08bf)
- (:XK_therefore #x08c0)
- (:XK_variation #x08c1)
- (:XK_infinity #x08c2)
- (:XK_nabla #x08c5)
- (:XK_approximate #x08c8)
- (:XK_similarequal #x08c9)
- (:XK_ifonlyif #x08cd)
- (:XK_implies #x08ce)
- (:XK_identical #x08cf)
- (:XK_radical #x08d6)
- (:XK_includedin #x08da)
- (:XK_includes #x08db)
- (:XK_intersection #x08dc)
- (:XK_union #x08dd)
- (:XK_logicaland #x08de)
- (:XK_logicalor #x08df)
- (:XK_partialderivative #x08ef)
- (:XK_function #x08f6)
- (:XK_leftarrow #x08fb)
- (:XK_uparrow #x08fc)
- (:XK_rightarrow #x08fd)
- (:XK_downarrow #x08fe)
- (:XK_blank #x09df)
- (:XK_soliddiamond #x09e0)
- (:XK_checkerboard #x09e1)
- (:XK_ht #x09e2)
- (:XK_ff #x09e3)
- (:XK_cr #x09e4)
- (:XK_lf #x09e5)
- (:XK_nl #x09e8)
- (:XK_vt #x09e9)
- (:XK_lowrightcorner #x09ea)
- (:XK_uprightcorner #x09eb)
- (:XK_upleftcorner #x09ec)
- (:XK_lowleftcorner #x09ed)
- (:XK_crossinglines #x09ee)
- (:XK_horizlinescan1 #x09ef)
- (:XK_horizlinescan3 #x09f0)
- (:XK_horizlinescan5 #x09f1)
- (:XK_horizlinescan7 #x09f2)
- (:XK_horizlinescan9 #x09f3)
- (:XK_leftt #x09f4)
- (:XK_rightt #x09f5)
- (:XK_bott #x09f6)
- (:XK_topt #x09f7)
- (:XK_vertbar #x09f8)
- (:XK_emspace #x0aa1)
- (:XK_enspace #x0aa2)
- (:XK_em3space #x0aa3)
- (:XK_em4space #x0aa4)
- (:XK_digitspace #x0aa5)
- (:XK_punctspace #x0aa6)
- (:XK_thinspace #x0aa7)
- (:XK_hairspace #x0aa8)
- (:XK_emdash #x0aa9)
- (:XK_endash #x0aaa)
- (:XK_signifblank #x0aac)
- (:XK_ellipsis #x0aae)
- (:XK_doubbaselinedot #x0aaf)
- (:XK_onethird #x0ab0)
- (:XK_twothirds #x0ab1)
- (:XK_onefifth #x0ab2)
- (:XK_twofifths #x0ab3)
- (:XK_threefifths #x0ab4)
- (:XK_fourfifths #x0ab5)
- (:XK_onesixth #x0ab6)
- (:XK_fivesixths #x0ab7)
- (:XK_careof #x0ab8)
- (:XK_figdash #x0abb)
- (:XK_leftanglebracket #x0abc)
- (:XK_decimalpoint #x0abd)
- (:XK_rightanglebracket #x0abe)
- (:XK_marker #x0abf)
- (:XK_oneeighth #x0ac3)
- (:XK_threeeighths #x0ac4)
- (:XK_fiveeighths #x0ac5)
- (:XK_seveneighths #x0ac6)
- (:XK_trademark #x0ac9)
- (:XK_signaturemark #x0aca)
- (:XK_trademarkincircle #x0acb)
- (:XK_leftopentriangle #x0acc)
- (:XK_rightopentriangle #x0acd)
- (:XK_emopencircle #x0ace)
- (:XK_emopenrectangle #x0acf)
- (:XK_leftsinglequotemark #x0ad0)
- (:XK_rightsinglequotemark #x0ad1)
- (:XK_leftdoublequotemark #x0ad2)
- (:XK_rightdoublequotemark #x0ad3)
- (:XK_prescription #x0ad4)
- (:XK_minutes #x0ad6)
- (:XK_seconds #x0ad7)
- (:XK_latincross #x0ad9)
- (:XK_hexagram #x0ada)
- (:XK_filledrectbullet #x0adb)
- (:XK_filledlefttribullet #x0adc)
- (:XK_filledrighttribullet #x0add)
- (:XK_emfilledcircle #x0ade)
- (:XK_emfilledrect #x0adf)
- (:XK_enopencircbullet #x0ae0)
- (:XK_enopensquarebullet #x0ae1)
- (:XK_openrectbullet #x0ae2)
- (:XK_opentribulletup #x0ae3)
- (:XK_opentribulletdown #x0ae4)
- (:XK_openstar #x0ae5)
- (:XK_enfilledcircbullet #x0ae6)
- (:XK_enfilledsqbullet #x0ae7)
- (:XK_filledtribulletup #x0ae8)
- (:XK_filledtribulletdown #x0ae9)
- (:XK_leftpointer #x0aea)
- (:XK_rightpointer #x0aeb)
- (:XK_club #x0aec)
- (:XK_diamond #x0aed)
- (:XK_heart #x0aee)
- (:XK_maltesecross #x0af0)
- (:XK_dagger #x0af1)
- (:XK_doubledagger #x0af2)
- (:XK_checkmark #x0af3)
- (:XK_ballotcross #x0af4)
- (:XK_musicalsharp #x0af5)
- (:XK_musicalflat #x0af6)
- (:XK_malesymbol #x0af7)
- (:XK_femalesymbol #x0af8)
- (:XK_telephone #x0af9)
- (:XK_telephonerecorder #x0afa)
- (:XK_phonographcopyright #x0afb)
- (:XK_caret #x0afc)
- (:XK_singlelowquotemark #x0afd)
- (:XK_doublelowquotemark #x0afe)
- (:XK_cursor #x0aff)
- (:XK_leftcaret #x0ba3)
- (:XK_rightcaret #x0ba6)
- (:XK_downcaret #x0ba8)
- (:XK_upcaret #x0ba9)
- (:XK_overbar #x0bc0)
- (:XK_downtack #x0bc2)
- (:XK_upshoe #x0bc3)
- (:XK_downstile #x0bc4)
- (:XK_underbar #x0bc6)
- (:XK_jot #x0bca)
- (:XK_quad #x0bcc)
- (:XK_uptack #x0bce)
- (:XK_circle #x0bcf)
- (:XK_upstile #x0bd3)
- (:XK_downshoe #x0bd6)
- (:XK_rightshoe #x0bd8)
- (:XK_leftshoe #x0bda)
- (:XK_lefttack #x0bdc)
- (:XK_righttack #x0bfc)
- (:XK_EcuSign #x10020a0)
- (:XK_ColonSign #x10020a1)
- (:XK_CruzeiroSign #x10020a2)
- (:XK_FFrancSign #x10020a3)
- (:XK_LiraSign #x10020a4)
- (:XK_MillSign #x10020a5)
- (:XK_NairaSign #x10020a6)
- (:XK_PesetaSign #x10020a7)
- (:XK_RupeeSign #x10020a8)
- (:XK_WonSign #x10020a9)
- (:XK_NewSheqelSign #x10020aa)
- (:XK_DongSign #x10020ab)
- (:XK_EuroSign #x20ac)
- (:XK_zerosuperior #x1002070)
- (:XK_foursuperior #x1002074)
- (:XK_fivesuperior #x1002075)
- (:XK_sixsuperior #x1002076)
- (:XK_sevensuperior #x1002077)
- (:XK_eightsuperior #x1002078)
- (:XK_ninesuperior #x1002079)
- (:XK_zerosubscript #x1002080)
- (:XK_onesubscript #x1002081)
- (:XK_twosubscript #x1002082)
- (:XK_threesubscript #x1002083)
- (:XK_foursubscript #x1002084)
- (:XK_fivesubscript #x1002085)
- (:XK_sixsubscript #x1002086)
- (:XK_sevensubscript #x1002087)
- (:XK_eightsubscript #x1002088)
- (:XK_ninesubscript #x1002089)
- (:XK_partdifferential #x1002202)
- (:XK_emptyset #x1002205)
- (:XK_elementof #x1002208)
- (:XK_notelementof #x1002209)
- (:XK_containsas #x100220B)
- (:XK_squareroot #x100221A)
- (:XK_cuberoot #x100221B)
- (:XK_fourthroot #x100221C)
- (:XK_dintegral #x100222C)
- (:XK_tintegral #x100222D)
- (:XK_because #x1002235)
- (:XK_approxeq #x1002248)
- (:XK_notapproxeq #x1002247)
- (:XK_notidentical #x1002262)
- (:XK_stricteq #x1002263)
- ))
- (defconstant +scancode-to-keysyms+
- (mapcar #'(lambda (scancode-and-keys)
- (destructuring-bind (scancode k1 k2)
- scancode-and-keys
- (list (+ 8 scancode)
- (second (assoc k1 +keysyms+))
- (second (assoc k2 +keysyms+)))))
- +scancode-to-keys+))
- (defconstant +default-modifier-keysyms+
- '((:Shift :XK_Shift_L :XK_Shift_R)
- (:Lock :XK_Caps_Lock)
- (:Control :XK_Control_L :XK_Control_R)
- (:Mod1)
- (:Mod2)
- (:Mod3)
- (:Mod4)
- (:Mod5)))
- (defconstant +default-modifier-keycodes+
- (mapcar #'(lambda (item)
- (destructuring-bind (modifier &rest keysyms)
- item
- (list modifier
- (mapcar #'(lambda (keysym)
- (+ 8 (first (find keysym
- +scancode-to-keys+
- :key #'second))))
- keysyms))))
- +default-modifier-keysyms+))
- (defconstant +button-codes+
- '((#x110 1 :Button1)
- (#x111 2 :Button2)
- (#x112 3 :Button3)
- (#x113 4 :Button4)
- (#x114 5 :Button5)))
- #|
- #define BTN_LEFT 0x110
- #define BTN_RIGHT 0x111
- #define BTN_MIDDLE 0x112
- #define BTN_SIDE 0x113
- #define BTN_EXTRA 0x114
- |#