#
# Modifiers
#

Shift_R 0x36
Shift_L 0x2a

Alt_R 0x64
Mode_switch 0x64
Alt_L 0x38

Control_R 0x61
Control_L 0x1d

# Translate Super to Windows keys. 
Super_R 0x7e
Super_L 0x7d

# Translate Menu to the Windows Application key. 
Menu 0x7f

#
# Top row
#
1 0x2
2 0x3
3 0x4
4 0x5
5 0x6
6 0x7
7 0x8
8 0x9
9 0xa
0 0xb
BackSpace 0xe

#
# QWERTY first row
#
Tab 0xf
ISO_Left_Tab 0xf
q 0x10 addupper
w 0x11 addupper
e 0x12 addupper
r 0x13 addupper
t 0x14 addupper
y 0x15 addupper
u 0x16 addupper
i 0x17 addupper
o 0x18 addupper
p 0x19 addupper

#
# QWERTY second row
#
a 0x1e addupper
s 0x1f addupper
d 0x20 addupper
f 0x21 addupper
g 0x22 addupper
h 0x23 addupper
j 0x24 addupper
k 0x25 addupper
l 0x26 addupper
Return 0x1c

#
# QWERTY third row
#
z 0x2c addupper
x 0x2d addupper
c 0x2e addupper
v 0x2f addupper
b 0x30 addupper
n 0x31 addupper
m 0x32 addupper

space 0x39

less 0x56
greater 0x56
bar 0x56
brokenbar 0x56

#
# Esc and Function keys
#
Escape 0x1
F1 0x3b
F2 0x3c
F3 0x3d
F4 0x3e
F5 0x3f
F6 0x40
F7 0x41
F8 0x42
F9 0x43
F10 0x44
F11 0x57
F12 0x58

# Printscreen, Scrollock and Pause
# Printscreen really requires four scancodes (0xe0, 0x2a, 0xe0, 0x37),
# but (0xe0, 0x37) seems to work. 
Print 0x63
Sys_Req 0x63
Execute 0x63
Scroll_Lock 0x46

#
# Insert - PgDown
#
Insert 0x6e
Delete 0x6f
Home 0x66
End 0x6b
Page_Up 0x68
Page_Down 0x6d

#
# Arrow keys
#
Left 0x69
Up 0x67
Down 0x6c
Right 0x6a

#
# Numpad
#
Num_Lock 0x45
KP_Divide 0x62
KP_Multiply 0x37
KP_Subtract 0x4a
KP_Add 0x4e
KP_Enter 0x60

KP_Decimal 0x53
KP_Separator 0x53
KP_Delete 0x53

KP_0 0x52
KP_Insert 0x52

KP_1 0x4f
KP_End 0x4f

KP_2 0x50
KP_Down 0x50

KP_3 0x51
KP_Next 0x51

KP_4 0x4b
KP_Left 0x4b

KP_5 0x4c
KP_Begin 0x4c

KP_6 0x4d
KP_Right 0x4d

KP_7 0x47
KP_Home 0x47

KP_8 0x48
KP_Up 0x48

KP_9 0x49
KP_Prior 0x49

Caps_Lock 0x3a
#
# Inhibited keys
#
Multi_key 0x0

exclam 0x02
at 0x03
quotedbl 0x03
numbersign 0x04
dollar 0x05
asterisk 0x05
percent 0x06
colon 0x06
asciicircum 0x07
comma 0x07
ampersand 0x08
period 0x08
asterisk 0x09
semicolon 0x09
parenleft 0x0a
parenright 0x0b
minus 0x0c
underscore 0x0c
equal 0x0d
plus 0x0d
Cyrillic_shorti 0x10
Cyrillic_SHORTI 0x10
Cyrillic_tse 0x11
Cyrillic_TSE 0x11
Cyrillic_u 0x12
Cyrillic_U 0x12
Cyrillic_ka 0x13
Cyrillic_KA 0x13
Cyrillic_ie 0x14
Cyrillic_IE 0x14
Cyrillic_en 0x15
Cyrillic_EN 0x15
Cyrillic_ghe 0x16
Cyrillic_GHE 0x16
Cyrillic_sha 0x17
Cyrillic_SHA 0x17
Cyrillic_shcha 0x18
Cyrillic_SHCHA 0x18
Cyrillic_ze 0x19
Cyrillic_ZE 0x19
bracketleft 0x1a
braceleft 0x1a
Cyrillic_ha 0x1a
Cyrillic_HA 0x1a
bracketright 0x1b
braceright 0x1b
Cyrillic_hardsign 0x1b
Cyrillic_HARDSIGN 0x1b
Cyrillic_ef 0x1e
Cyrillic_EF 0x1e
Cyrillic_yeru 0x1f
Cyrillic_YERU 0x1f
Cyrillic_ve 0x20
Cyrillic_VE 0x20
Cyrillic_a 0x21
Cyrillic_A 0x21
Cyrillic_pe 0x22
Cyrillic_PE 0x22
Cyrillic_er 0x23
Cyrillic_ER 0x23
Cyrillic_o 0x24
Cyrillic_O 0x24
Cyrillic_el 0x25
Cyrillic_EL 0x25
Cyrillic_de 0x26
Cyrillic_DE 0x26
semicolon 0x27
colon 0x27
Cyrillic_zhe 0x27
Cyrillic_ZHE 0x27
apostrophe 0x28
quotedbl 0x28
Cyrillic_e 0x28
Cyrillic_E 0x28
grave 0x29
asciitilde 0x29
Cyrillic_io 0x29
Cyrillic_IO 0x29
backslash 0x2b
bar 0x2b
Cyrillic_ya 0x2c
Cyrillic_YA 0x2c
Cyrillic_che 0x2d
Cyrillic_CHE 0x2d
Cyrillic_es 0x2e
Cyrillic_ES 0x2e
Cyrillic_em 0x2f
Cyrillic_EM 0x2f
Cyrillic_i 0x30
Cyrillic_I 0x30
Cyrillic_te 0x31
Cyrillic_TE 0x31
Cyrillic_softsign 0x32
Cyrillic_SOFTSIGN 0x32
comma 0x33
less 0x33
Cyrillic_be 0x33
Cyrillic_BE 0x33
period 0x34
greater 0x34
Cyrillic_yu 0x34
Cyrillic_YU 0x34
slash 0x35
question 0x35
slash 0x56
bar 0x56
