0xff1b = 0x001 # Escape
0x0031 = 0x002 # 1
0x0021 = 0x002 # exclam
0x0032 = 0x003 # 2
0x0022 = 0x003 # quotedbl
0x0033 = 0x004 # 3
0x0023 = 0x004 # numbersign
0x0034 = 0x005 # 4
0x0024 = 0x005 # dollar
0x0035 = 0x006 # 5
0x0025 = 0x006 # percent
0x0036 = 0x007 # 6
0x0026 = 0x007 # ampersand
0x0037 = 0x008 # 7
0x0027 = 0x008 # apostrophe
0x0038 = 0x009 # 8
0x0028 = 0x009 # parenleft
0x0039 = 0x00a # 9
0x0029 = 0x00a # parenright
0x0030 = 0x00b # 0
0x002d = 0x00c # minus
0x003d = 0x00c # equal
0x005e = 0x00d # asciicircum
0x007e = 0x00d # asciitilde
0xff08 = 0x00e # BackSpace
0xff09 = 0x00f # Tab
0xfe20 = 0x00f # ISO_Left_Tab
0x0071 = 0x010 # q
0x0051 = 0x010 # Q
0x0077 = 0x011 # w
0x0057 = 0x011 # W
0x0065 = 0x012 # e
0x0045 = 0x012 # E
0x0072 = 0x013 # r
0x0052 = 0x013 # R
0x0074 = 0x014 # t
0x0054 = 0x014 # T
0x0079 = 0x015 # y
0x0059 = 0x015 # Y
0x0075 = 0x016 # u
0x0055 = 0x016 # U
0x0069 = 0x017 # i
0x0049 = 0x017 # I
0x006f = 0x018 # o
0x004f = 0x018 # O
0x0070 = 0x019 # p
0x0050 = 0x019 # P
0x0040 = 0x01a # at
0x0060 = 0x01a # grave
0x04de = 0x01a # voicesound
0x005b = 0x01b # bracketleft
0x007b = 0x01b # braceleft
0x04df = 0x01b # semivoicesound
0xff0d = 0x01c # Return
0xffe3 = 0x01d # Control_L
0x0061 = 0x01e # a
0x0041 = 0x01e # A
0x0073 = 0x01f # s
0x0053 = 0x01f # S
0x0064 = 0x020 # d
0x0044 = 0x020 # D
0x0066 = 0x021 # f
0x0046 = 0x021 # F
0x0067 = 0x022 # g
0x0047 = 0x022 # G
0x0068 = 0x023 # h
0x0048 = 0x023 # H
0x006a = 0x024 # j
0x004a = 0x024 # J
0x006b = 0x025 # k
0x004b = 0x025 # K
0x006c = 0x026 # l
0x004c = 0x026 # L
0x003b = 0x027 # semicolon
0x002b = 0x027 # plus
0x003a = 0x028 # colon
0x002a = 0x028 # asterisk
0xffe1 = 0x02a # Shift_L
0x005d = 0x02b # bracketright
0x007d = 0x02b # braceright
0x007a = 0x02c # z
0x005a = 0x02c # Z
0x0078 = 0x02d # x
0x0058 = 0x02d # X
0x0063 = 0x02e # c
0x0043 = 0x02e # C
0x0076 = 0x02f # v
0x0056 = 0x02f # V
0x0062 = 0x030 # b
0x0042 = 0x030 # B
0x006e = 0x031 # n
0x004e = 0x031 # N
0x006d = 0x032 # m
0x004d = 0x032 # M
0x002c = 0x033 # comma
0X003c = 0x033 # less
0x002e = 0x034 # period
0x003e = 0x034 # greater
0x002f = 0x035 # slash
0x003f = 0x035 # question
0xffe2 = 0x036 # Shift_R
0xffaa = 0x037 # KP_Multiply
0xffe9 = 0x038 # Alt_L
0xffe7 = 0x038 # Meta_L
0x0020 = 0x039 # space
0xffe5 = 0x03a # Caps_Lock
0xffbe = 0x03b # F1
0xffbf = 0x03c # F2
0xffc0 = 0x03d # F3
0xffc1 = 0x03e # F4
0xffc2 = 0x03f # F5
0xffc3 = 0x040 # F6
0xffc4 = 0x041 # F7
0xffc5 = 0x042 # F8
0xffc6 = 0x043 # F9
0xffc7 = 0x044 # F10
0xff7f = 0x045 # Num_Lock
0xff14 = 0x046 # Scroll_Lock
0xff95 = 0x047 # KP_Home
0xffb7 = 0x047 # KP_7
0xff97 = 0x048 # KP_Up
0xffb8 = 0x048 # KP_8
0xff9a = 0x049 # KP_Prior
0xffb9 = 0x049 # KP_9
0xffad = 0x04a # KP_Subtract
0xff96 = 0x04b # KP_Left
0xffb4 = 0x04b # KP_4
0xff9d = 0x04c # KP_Begin
0xffb5 = 0x04c # KP_5
0xff98 = 0x04d # KP_Right
0xffb6 = 0x04d # KP_6
0xffab = 0x04e # KP_Add
0xff9c = 0x04f # KP_End
0xffb1 = 0x04f # KP_1
0xff99 = 0x050 # KP_Down
0xffb2 = 0x050 # KP_2
0xff9b = 0x051 # KP_Next
0xffb3 = 0x051 # KP_3
0xff9e = 0x052 # KP_Insert
0xffb0 = 0x052 # KP_0
0xff9f = 0x053 # KP_Delete
0xffae = 0x053 # KP_Decimal
0xff15 = 0x054 # Sys_Req
0xffc8 = 0x057 # F11
0xffc9 = 0x058 # F12
0x005c = 0x073 # backslash
0x005f = 0x073 # underscore
0x00a5 = 0x07d # yen
0x007c = 0x07d # bar
0xff13 = 0x100 # Pause
0xff6b = 0x100 # Break
0xff8d = 0x11c # KP_Enter
0xffe4 = 0x11d # Control_R
0xff20 = 0x11d # Multi_key
0xff61 = 0x137 # Print
0xffaf = 0x135 # KP_Divide
0xffea = 0x138 # Alt_R
0xffe8 = 0x138 # Meta_R
0xff50 = 0x147 # Home
0xff52 = 0x148 # Up
0xff55 = 0x149 # Prior
0xff51 = 0x14b # Left
0xff53 = 0x14d # Right
0xff57 = 0x14f # End
0xff54 = 0x150 # Down
0xff56 = 0x151 # Next
0xff63 = 0x152 # Insert
0xffff = 0x153 # Delete
0xffd2 = 0x15b # F21
0xffeb = 0x15b # Super_L
0xffd3 = 0x15c # F22
0xffec = 0x15c # Super_R
0xff67 = 0x15d # Menu
0xffee = 0x15d # Hyper_R
0x00a6 = 0x0056 # brokenbar
0x04c7 = 0x0002 # kana_NU
0x04cc = 0x0003 # kana_FU
0x04b1 = 0x0004 # kana_A
0x04a7 = 0x0004 # kana_a
0x04b3 = 0x0005 # kana_U
0x04a9 = 0x0005 # kana_u
0x04b4 = 0x0006 # kana_E
0x04aa = 0x0006 # kana_e
0x04b5 = 0x0007 # kana_O
0x04ab = 0x0007 # kana_o
0x04d4 = 0x0008 # kana_YA
0x04ac = 0x0008 # kana_ya
0x04d5 = 0x0009 # kana_YU
0x04ad = 0x0009 # kana_yu
0x04d6 = 0x000a # kana_YO
0x04ae = 0x000a # kana_yo
0x04dc = 0x000b # kana_WA
0x04a6 = 0x000b # kana_WO
0x04ce = 0x000c # kana_HO
0x04cd = 0x000d # kana_HE
0x04c0 = 0x0010 # kana_TA
0x04c3 = 0x0011 # kana_TE
0x04b2 = 0x0012 # kana_I
0x04a8 = 0x0012 # kana_i
0x04bd = 0x0013 # kana_SU
0x04b6 = 0x0014 # kana_KA
0x04dd = 0x0015 # kana_N
0x04c5 = 0x0016 # kana_NA
0x04c6 = 0x0017 # kana_NI
0x04d7 = 0x0018 # kana_RA
0x04be = 0x0019 # kana_SE
0x04a2 = 0x001b # kana_openingbracket
0x04c1 = 0x001e # kana_CHI
0x04c4 = 0x001f # kana_TO
0x04bc = 0x0020 # kana_SHI
0x04ca = 0x0021 # kana_HA
0x04b7 = 0x0022 # kana_KI
0x04b8 = 0x0023 # kana_KU
0x04cf = 0x0024 # kana_MA
0x04c9 = 0x0025 # kana_NO
0x04d8 = 0x0026 # kana_RI
0x04da = 0x0027 # kana_RE
0x04b9 = 0x0028 # kana_KE
0xff28 = 0x0029 # Zenkaku
0xff29 = 0x0029 # Hankaku
0xff2a = 0x0029 # Zenkaku_Hankaku
0x04d1 = 0x002b # kana_MU
0x04a3 = 0x002b # kana_closingbracket
0x04c2 = 0x002c # kana_TSU
0x04af = 0x002c # kana_tsu
0x04bb = 0x002d # kana_SA
0x04bf = 0x002e # kana_SO
0x04cb = 0x002f # kana_HI
0x04ba = 0x0030 # kana_KO
0x04d0 = 0x0031 # kana_MI
0x04d3 = 0x0032 # kana_MO
0x04c8 = 0x0033 # kana_NE
0x04a4 = 0x0033 # kana_comma
0x04d9 = 0x0034 # kana_RU
0x04a1 = 0x0034 # kana_fullstop
0x04d2 = 0x0035 # kana_ME
0x04a5 = 0x0035 # kana_conjunctive
0xff30 = 0x003a # Eisu_toggle
0xff62 = 0x0054 # Execute
0xff21 = 0x0070 # Kanji
0xff23 = 0x0079 # Henkan_Mode
0xff3e = 0x0079 # PreviousCandidate
0xff25 = 0x0070 # Hiragana
0xff26 = 0x0070 # Katakana
0xff27 = 0x0070 # Hiragana_Katakana
0xff22 = 0x007b # Muhenkan
