# VICE keyboard mapping file
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal line has 'keysym/scancode row column shiftflag'
#
# Keywords and their lines are:
# '!CLEAR' clear whole table
# '!INCLUDE filename' read file as mapping file
# '!LSHIFT row col' left shift keyboard row/column
# '!RSHIFT row col' right shift keyboard row/column
# '!VSHIFT shiftkey' virtual shift key (RSHIFT or LSHIFT)
# '!UNDEF keysym' remove keysym from table
#
# Shiftflag can have the values:
# 0 key is not shifted for this keysym/scancode
# 1 key is shifted for this keysym/scancode
# 2 left shift
# 4 right shift
# 8 key can be shifted or not with this keysym/scancode
# 16 deshift key for this keysym/scancode
# 32 another definition for this keysym/scancode follows
#
# Negative row values:
# 'keysym -1 n' joystick #1, direction n
# 'keysym -2 n' joystick #2, direction n
# 'keysym -3 0' first RESTORE key
# 'keysym -3 1' second RESTORE key
# 'keysym -4 0' 40/80 column key
# 'keysym -4 1' CAPS (ASCII/DIN) key
#
!CLEAR
!LSHIFT 6 0
!RSHIFT 6 6
!VSHIFT RSHIFT
#0 -1 -1 0 /* (no key) */
1 2 0 8 /* ESC -> ESC */
2 1 0 8 /* 1 -> 1 */
3 0 0 8 /* 2 -> 2 */
4 9 1 8 /* 3 -> 3 */
5 1 1 8 /* 4 -> 4 */
6 0 1 8 /* 5 -> 5 */
7 9 2 8 /* 6 -> 6 */
8 1 2 8 /* 7 -> 7 */
9 0 2 8 /* 8 -> 8 */
10 9 3 8 /* 9 -> 9 */
11 1 3 8 /* 0 -> 0 */
12 9 5 8 /* - -> : */
13 0 3 8 /* = -> - */
14 4 7 8 /* Backspace -> Del */
15 4 0 8 /* Tab -> Tab */
16 5 0 8 /* Q -> Q */
17 4 1 8 /* W -> W */
18 5 1 8 /* E -> E */
19 4 2 8 /* R -> R */
20 5 2 8 /* T -> T */
21 4 3 8 /* Y -> Y */
22 5 3 8 /* U -> U */
23 4 5 8 /* I -> I */
24 5 5 8 /* O -> O */
25 4 6 8 /* P -> P */
26 5 6 8 /* [ -> [ */
27 2 4 8 /* ] -> ] */
28 3 4 8 /* Return -> Return */
29 8 0 8 /* Left Ctrl -> RVS */
30 3 0 8 /* A -> A */
31 2 1 8 /* S -> S */
32 3 1 8 /* D -> D */
33 2 2 8 /* F -> F */
34 3 2 8 /* G -> G */
35 2 3 8 /* H -> H */
36 3 3 8 /* J -> J */
37 2 5 8 /* K -> K */
38 3 5 8 /* L -> L */
39 2 6 8 /* ; -> ; */
40 3 6 8 /* ' -> @ */
41 9 0 8 /* ` -> Left Arrow */
42 6 0 2 /* Left Shift -> Left Shift */
43 4 4 8 /* \ -> \ */
44 7 0 8 /* Z -> Z */
45 8 1 8 /* X -> X */
46 6 1 8 /* C -> C */
47 7 1 8 /* V -> V */
48 6 2 8 /* B -> B */
49 7 2 8 /* N -> N */
50 8 3 8 /* M -> M */
51 7 3 8 /* , -> , */
52 6 3 8 /* . -> . */
53 8 6 8 /* / -> / */
54 6 6 4 /* Right Shift -> Right Shift */
#55 -1 -1 0 /* Grey * -> (no key) */
#56 -1 -1 0 /* Left Alt -> (no key) */
57 8 2 8 /* Space -> Space */
58 2 0 8 /* Caps Lock -> ESC */
#59 -1 -1 0 /* F1 -> (no key) */
#60 -1 -1 0 /* F2 -> (no key) */
#61 -1 -1 0 /* F3 -> (no key) */
#62 -1 -1 0 /* F4 -> (no key) */
#63 -1 -1 0 /* F5 -> (no key) */
#64 -1 -1 0 /* F6 -> (no key) */
#65 -1 -1 0 /* F7 -> (no key) */
#66 -1 -1 0 /* F8 -> (no key) */
#67 -1 -1 0 /* F9 -> (no key) */
#68 -1 -1 0 /* F10 -> (no key) */
#69 -1 -1 0 /* Num Lock -> (no key) */
#70 -1 -1 0 /* Scroll Lock -> (no key) */
71 1 4 8 /* Numpad 7 -> Numpad 7 */
72 0 4 8 /* Numpad 8 -> Numpad 8 */
73 1 7 8 /* Numpad 9 -> Numpad 9 */
#74 -1 -1 0 /* Numpad - -> (no key) */
75 5 7 8 /* Numpad 4 -> Numpad 4 */
76 2 7 8 /* Numpad 5 -> Numpad 5 */
77 3 7 8 /* Numpad 6 -> Numpad 6 */
#78 -1 -1 0 /* Numpad + -> (no key) */
79 8 7 8 /* Numpad 1 -> Numpad 1 */
80 7 7 8 /* Numpad 2 -> Numpad 2 */
81 6 7 8 /* Numpad 3 -> Numpad 3 */
82 7 4 8 /* Numpad 0 -> Numpad 0 */
83 6 4 8 /* Numpad . -> . */
#84 -1 -1 0 /* SysReq -> (no key) */
#85 -1 -1 0 /* 85 -> (no key) */
#86 -1 -1 0 /* 86 -> (no key) */
#87 -1 -1 0 /* F11 -> (no key) */
#88 -1 -1 0 /* F12 -> (no key) */
89 8 4 8 /* Home -> CLR/HOME */
90 5 4 1 /* Up -> CRSR UP */
#91 -1 -1 0 /* PgUp -> (no key) */
92 0 5 1 /* Left -> CRSR LEFT */
93 0 5 8 /* Right -> CRSR RIGHT */
#94 -1 -1 0 /* End -> (no key) */
95 5 4 8 /* Down -> CRSR DOWN */
#96 -1 -1 0 /* PgDown -> (no key) */
97 9 4 8 /* Ins -> STOP */
98 1 5 8 /* Del -> Up arrow */
#99 -1 -1 0 /* Numpad Enter -> (no key) */
100 7 6 8 /* Right Ctrl -> RPT */
#101 -1 -1 0 /* Pause -> (no key) */
#102 -1 -1 0 /* PrtScr -> (no key) */
#103 -1 -1 0 /* Numpad / -> (no key) */
#104 -1 -1 0 /* Right Alt -> (no key) */
#105 -1 -1 0 /* Break -> (no key) */
#106 -1 -1 0 /* Left Win95 -> (no key) */
#107 -1 -1 0 /* Right Win95 -> (no key) */
#
# Joystick 1
#
#KP_0 -1 0
#KP_1 -1 1
#KP_2 -1 2
#KP_3 -1 3
#KP_4 -1 4
#KP_5 -1 5
#KP_6 -1 6
#KP_7 -1 7
#KP_8 -1 8
#KP_9 -1 9
#
# Joystick 2
#
#w -2 7
#e -2 8
#r -2 9
#s -2 4
#d -2 5
#f -2 6
#x -2 1
#c -2 2
#v -2 3
#space -2 0