0x0020 = 0x0039 # XK_space
0x0021 = 0x0002 # XK_exclam
0x0022 = 0x0003 # XK_quotedbl
0x0023 = 0x0004 # XK_numbersign
0x0024 = 0x0005 # XK_dollar
0x0025 = 0x0006 # XK_percent
0x0026 = 0x0007 # XK_ampersand
0x0027 = 0x000c # XK_apostrophe
0x0028 = 0x0009 # XK_parenleft
0x0029 = 0x000a # XK_parenright
0x002a = 0x001a # XK_asterisk
0x002b = 0x001a # XK_plus
0x002c = 0x0033 # XK_comma
0x002d = 0x0035 # XK_minus
0x002e = 0x0034 # XK_period
0x002f = 0x0008 # XK_slash
0x0030 = 0x000b # XK_0
0x0031 = 0x0002 # XK_1
0x0032 = 0x0003 # XK_2
0x0033 = 0x0004 # XK_3
0x0034 = 0x0005 # XK_4
0x0035 = 0x0006 # XK_5
0x0036 = 0x0007 # XK_6
0x0037 = 0x0008 # XK_7
0x0038 = 0x0009 # XK_8
0x0039 = 0x000a # XK_9
0x003a = 0x0034 # XK_colon
0x003b = 0x0033 # XK_semicolon
0x003c = 0x0056 # XK_less
0x003d = 0x000b # XK_equal
0x003e = 0x0056 # XK_greater
0x003f = 0x000c # XK_question
0x0040 = 0x0203 # XK_at
0x0041 = 0x001e # XK_A
0x0042 = 0x0030 # XK_B
0x0043 = 0x002e # XK_C
0x0044 = 0x0020 # XK_D
0x0045 = 0x0012 # XK_E
0x0046 = 0x0021 # XK_F
0x0047 = 0x0022 # XK_G
0x0048 = 0x0023 # XK_H
0x0049 = 0x0017 # XK_I
0x004a = 0x0024 # XK_J
0x004b = 0x0025 # XK_K
0x004c = 0x0026 # XK_L
0x004d = 0x0032 # XK_M
0x004e = 0x0031 # XK_N
0x004f = 0x0018 # XK_O
0x0050 = 0x0019 # XK_P
0x0051 = 0x0010 # XK_Q
0x0052 = 0x0013 # XK_R
0x0053 = 0x001f # XK_S
0x0054 = 0x0014 # XK_T
0x0055 = 0x0016 # XK_U
0x0056 = 0x002f # XK_V
0x0057 = 0x0011 # XK_W
0x0058 = 0x002d # XK_X
0x0059 = 0x0015 # XK_Y
0x005a = 0x002c # XK_Z
0x005b = 0x0209 # XK_bracketleft
0x005c = 0x0229 # XK_backslash
0x005d = 0x020a # XK_bracketright
0x005e = 0x002b # XK_asciicircum
0x005f = 0x0035 # XK_underscore
0x0060 = 0x001b # XK_grave
0x0061 = 0x001e # XK_a
0x0062 = 0x0030 # XK_b
0x0063 = 0x002e # XK_c
0x0064 = 0x0020 # XK_d
0x0065 = 0x0012 # XK_e
0x0066 = 0x0021 # XK_f
0x0067 = 0x0022 # XK_g
0x0068 = 0x0023 # XK_h
0x0069 = 0x0017 # XK_i
0x006a = 0x0024 # XK_j
0x006b = 0x0025 # XK_k
0x006c = 0x0026 # XK_l
0x006d = 0x0032 # XK_m
0x006e = 0x0031 # XK_n
0x006f = 0x0018 # XK_o
0x0070 = 0x0019 # XK_p
0x0071 = 0x0010 # XK_q
0x0072 = 0x0013 # XK_r
0x0073 = 0x001f # XK_s
0x0074 = 0x0014 # XK_t
0x0075 = 0x0016 # XK_u
0x0076 = 0x002f # XK_v
0x0077 = 0x0011 # XK_w
0x0078 = 0x002d # XK_x
0x0079 = 0x0015 # XK_y
0x007a = 0x002c # XK_z
0x007b = 0x0208 # XK_braceleft
0x007c = 0x0029 # XK_bar
#0x007c = 0x002b # XK_bar
0x007d = 0x020b # XK_braceright
0x00a1 = 0x0002 # XK_exclamdown
0x00a2 = 0x002e # XK_cent
0x00a3 = 0x0204 # XK_sterling
0x00a5 = 0x0015 # XK_yen
0x00a6 = 0x0056 # XK_brokenbar
0x00a7 = 0x0205 # XK_section
0x00a8 = 0x021a # XK_diaeresis
0x00a9 = 0x002e # XK_copyright
0x00aa = 0x0028 # XK_ordfeminine
0x00ab = 0x000d # XK_guillemotleft
0x00ac = 0x0229 # XK_notsign
0x00ae = 0x0013 # XK_registered
0x00b0 = 0x000b # XK_degree
0x00b1 = 0x000a # XK_plusminus
0x00b4 = 0x001b # XK_acute
0x00b5 = 0x0232 # XK_mu
0x00b6 = 0x0013 # XK_paragraph
0x00b7 = 0x0034 # XK_periodcentered
0x00b9 = 0x0002 # XK_onesuperior
0x00ba = 0x0028 # XK_masculine
0x00bb = 0x000d # XK_guillemotright
0x00bd = 0x0006 # XK_onehalf
0x00be = 0x0007 # XK_threequarters
0x00bf = 0x000c # XK_questiondown
0x00c6 = 0x001e # XK_AE
0x00c7 = 0x0027 # XK_Ccedilla
0x00d0 = 0x0020 # XK_ETH
0x00d7 = 0x0033 # XK_multiply
0x00d8 = 0x0018 # XK_Ooblique
0x00de = 0x0019 # XK_THORN
0x00df = 0x001f # XK_ssharp
0x00e6 = 0x001e # XK_ae
0x00e7 = 0x0027 # XK_ccedilla
0x00f0 = 0x0020 # XK_eth
0x00f7 = 0x0034 # XK_division
0x00f8 = 0x0018 # XK_oslash
0x00fe = 0x0019 # XK_thorn
0x01a3 = 0x0011 # XK_Lstroke
0x01b3 = 0x0026 # XK_lstroke
0x01f0 = 0x0021 # XK_dstroke
0x02a1 = 0x0023 # XK_Hstroke
0x02b1 = 0x0023 # XK_hstroke
0x02b9 = 0x0017 # XK_idotless
0x03a2 = 0x0025 # XK_kra
0x03ac = 0x0014 # XK_Tslash
0x03bc = 0x0014 # XK_tslash
0x03bd = 0x0022 # XK_ENG
0x03bf = 0x0022 # XK_eng
0x07d9 = 0x0010 # XK_Greek_OMEGA
0x08a3 = 0x0033 # XK_horizconnector
0x08fb = 0x0015 # XK_leftarrow
0x08fc = 0x0016 # XK_uparrow
0x08fd = 0x0017 # XK_rightarrow
0x08fe = 0x0016 # XK_downarrow
0x0ac3 = 0x0003 # XK_oneeighth
0x0ac4 = 0x0006 # XK_threeeighths
0x0ac5 = 0x0007 # XK_fiveeighths
0x0ac6 = 0x0008 # XK_seveneighths
0x0ac9 = 0x0009 # XK_trademark
0x0ad2 = 0x002f # XK_leftdoublequotemark
0x0ad3 = 0x0030 # XK_rightdoublequotemark
0x20ac = 0x0012 # XK_EuroSign
0xfe03 = 0x0138 # XK_ISO_Level3_Shift
0xfe20 = 0x000f # XK_ISO_Left_Tab
0xfe50 = 0x001b # XK_dead_grave
0xfe51 = 0x001b # XK_dead_acute
0xfe52 = 0x0028 # XK_dead_circumflex
0xfe53 = 0x001b # XK_dead_tilde
0xfe54 = 0x001b # XK_dead_macron
0xfe55 = 0x002b # XK_dead_breve
0xfe56 = 0x0035 # XK_dead_abovedot
0xfe57 = 0x001a # XK_dead_diaeresis
0xfe58 = 0x001a # XK_dead_abovering
0xfe59 = 0x0027 # XK_dead_doubleacute
0xfe5a = 0x0028 # XK_dead_caron
0xfe5b = 0x000d # XK_dead_cedilla
0xfe5c = 0x000d # XK_dead_ogonek
0xfe60 = 0x0035 # XK_dead_belowdot
0xff08 = 0x000e # XK_BackSpace
0xff09 = 0x000f # XK_Tab
0xff0d = 0x001c # XK_Return
0xff13 = 0x0100 # XK_Pause
0xff14 = 0x0046 # XK_Scroll_Lock
0xff15 = 0x0054 # XK_Sys_Req
0xff1b = 0x0001 # XK_Escape
0xff20 = 0x011d # XK_Multi_key
0xff50 = 0x0147 # XK_Home
0xff51 = 0x014b # XK_Left
0xff52 = 0x0148 # XK_Up
0xff53 = 0x014d # XK_Right
0xff54 = 0x0150 # XK_Down
0xff55 = 0x0149 # XK_Prior
0xff56 = 0x0151 # XK_Next
0xff57 = 0x014f # XK_End
0xff61 = 0x0137 # XK_Print
0xff62 = 0x00b7 # XK_Execute
0xff63 = 0x0152 # XK_Insert
0xff67 = 0x015d # XK_Menu
0xff6b = 0x0100 # XK_Break
0xff73 = 0x0138 # XK_Mode_switch
0xff7f = 0x0045 # XK_Num_Lock
0xff8d = 0x011c # XK_KP_Enter
0xff95 = 0x0047 # XK_KP_Home
0xff96 = 0x004b # XK_KP_Left
0xff97 = 0x0048 # XK_KP_Up
0xff98 = 0x004d # XK_KP_Right
0xff99 = 0x0050 # XK_KP_Down
0xff9a = 0x0049 # XK_KP_Prior
0xff9b = 0x0051 # XK_KP_Next
0xff9c = 0x004f # XK_KP_End
0xff9d = 0x004c # XK_KP_Begin
0xff9e = 0x0052 # XK_KP_Insert
0xff9f = 0x0053 # XK_KP_Delete
0xffaa = 0x0037 # XK_KP_Multiply
0xffab = 0x004e # XK_KP_Add
0xffac = 0x0053 # XK_KP_Separator
0xffad = 0x004a # XK_KP_Subtract
0xffae = 0x0053 # XK_KP_Decimal
0xffaf = 0x0135 # XK_KP_Divide
0xffb0 = 0x0052 # XK_KP_0
0xffb1 = 0x004f # XK_KP_1
0xffb2 = 0x0050 # XK_KP_2
0xffb3 = 0x0051 # XK_KP_3
0xffb4 = 0x004b # XK_KP_4
0xffb5 = 0x004c # XK_KP_5
0xffb6 = 0x004d # XK_KP_6
0xffb7 = 0x0047 # XK_KP_7
0xffb8 = 0x0048 # XK_KP_8
0xffb9 = 0x0049 # XK_KP_9
0xffbe = 0x003b # XK_F1
0xffbf = 0x003c # XK_F2
0xffc0 = 0x003d # XK_F3
0xffc1 = 0x003e # XK_F4
0xffc2 = 0x003f # XK_F5
0xffc3 = 0x0040 # XK_F6
0xffc4 = 0x0041 # XK_F7
0xffc5 = 0x0042 # XK_F8
0xffc6 = 0x0043 # XK_F9
0xffc7 = 0x0044 # XK_F10
0xffc8 = 0x0057 # XK_F11
0xffc9 = 0x0058 # XK_F12
0xffd2 = 0x015b # XK_F21
0xffd3 = 0x015c # XK_F22
0xffe1 = 0x002a # XK_Shift_L
0xffe2 = 0x0036 # XK_Shift_R
0xffe3 = 0x001d # XK_Control_L
0xffe4 = 0x011d # XK_Control_R
0xffe5 = 0x003a # XK_Caps_Lock
0xffe7 = 0x0038 # XK_Meta_L
0xffe8 = 0x0138 # XK_Meta_R
0xffe9 = 0x0038 # XK_Alt_L
0xffea = 0x0138 # XK_Alt_R
0xffeb = 0x015b # XK_Super_L
0xffec = 0x015c # XK_Super_R
0xffee = 0x015d # XK_Hyper_R
0xffff = 0x0153 # XK_Delete
