This commit is contained in:
topicchi
2026-03-12 18:35:45 +00:00
parent a3e3ba00b5
commit 984af6b769
11 changed files with 1237 additions and 25 deletions

View File

@@ -0,0 +1,119 @@
# BMC64 keyboard mapping file for TheC64 ('Maxi')
#
# 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 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
Control_L 7 2 8 /* Ctrl */
Super_L 7 5 0 /* Commodore Key */
BackSpace 0 0 8
Down 0 7 8
Escape 7 7 8 /* RunStop */
F1 0 4 8
F2 0 4 1
F3 0 5 8
F4 0 5 1
F5 0 6 8
F6 0 6 1
F7 0 3 8
F8 0 3 1
Home 6 3 8 /* Clr */
Insert 0 0 16 /* Insert */
Left 0 2 1
Return 0 1 8
Right 0 2 8
Shift_L 1 7 2
Shift_R 6 4 4
Up 0 7 1
KP_Add 5 0 8 /* + */
KP_Subtract 5 3 8 /* - */
Apostrophe 6 6 8 /* Up Arrow */
LeftBracket 5 5 8 /* : -> : */
SemiColon 6 1 8 /* * -> * */
Comma 5 7 8 /* , -> , */
BackSlash 5 6 8 /* @ -> @ */
Pound 6 5 0 /* equal */
Equals 6 5 8 /* = -> = */
Period 5 4 8 /* . */
Dash 6 0 8 /* Pound */
SingleQuote 6 6 8 /* Up Arrow */
Slash 6 7 8 /* / -> / */
Space 7 4 8 /* space */
Insert 6 0 8 /* sterling */
RightBracket 6 2 8 /* ; -> ; */
BackQuote 7 1 0 /* arrowleft */
Del 6 6 8 /* arrowup */
0 4 3 8
1 7 0 8
2 7 3 8
3 1 0 8
4 1 3 8
5 2 0 8
6 2 3 8
7 3 0 8
8 3 3 8
9 4 0 8
a 1 2 8
b 3 4 8
c 2 4 8
d 2 2 8
e 1 6 8
f 2 5 8
g 3 2 8
h 3 5 8
i 4 1 8
j 4 2 8
k 4 5 8
l 5 2 8
m 4 4 8
n 4 7 8
o 4 6 8
p 5 1 8
q 7 6 8
r 2 1 8
s 1 5 8
t 2 6 8
u 3 6 8
v 3 7 8
w 1 1 8
x 2 7 8
y 3 1 8
z 1 4 8
# Restore key mappings
CapsLock -4 1
Tab -3 0

View File

@@ -0,0 +1,244 @@
# VICE Petskeyboard mapping file (SDL)
# List of key names: https://wiki.linuxquestions.org/wiki/List_of_keysyms
#
# 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)
# '!SHIFTL shiftkey' shift lock 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
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, 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
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
# Symbolic map, US Layout, C64
# C64 keyboard matrix:
#
# +-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
!SHIFTL LSHIFT
Escape 7 7 8 /* ESC -> Run/Stop */
1 7 0 8 /* 1 -> 1 */
2 7 3 32 /* 2 -> 2 */
2 5 6 16 /* @ -> @ */
3 1 0 8 /* 3 -> 3 */
4 1 3 8 /* 4 -> 4 */
5 2 0 8 /* 5 -> 5 */
6 2 3 32 /* 6 -> 6 */
6 6 6 16 /* ^ -> ^ */
7 3 0 32 /* 7 -> 7 */
7 2 3 1 /* & -> & */
8 3 3 32 /* 8 -> 8 */
8 6 1 16 /* * -> * */
9 4 0 32 /* 9 -> 9 */
9 3 3 1 /* ( -> ( */
0 4 3 32 /* 0 -> 0 */
0 4 0 1 /* ) -> ) */
Dash 5 3 32 /* Minus -> Minus */
Dash 7 1 16 /* Underscore -> Left Arrow */
Equals 6 5 32 /* = -> = */
Equals 5 0 16 /* + -> + */
BackSpace 0 0 8 /* Backspace -> DEL */
Control_L 7 5 8 /* Cntrl -> CBM */
q 7 6 8 /* Q -> Q */
w 1 1 8 /* W -> W */
e 1 6 8 /* E -> E */
r 2 1 8 /* R -> R */
t 2 6 8 /* T -> T */
y 3 1 8 /* Y -> Y */
u 3 6 8 /* U -> U */
i 4 1 8 /* I -> I */
o 4 6 8 /* O -> O */
p 5 1 8 /* P -> P */
LeftBracket 5 5 1 /* [ -> [ */
RightBracket 6 2 1 /* ] -> ] */
Return 0 1 8 /* Return -> Return */
a 1 2 8 /* A -> A */
s 1 5 8 /* S -> S */
d 2 2 8 /* D -> D */
f 2 5 8 /* F -> F */
g 3 2 8 /* G -> G */
h 3 5 8 /* H -> H */
j 4 2 8 /* J -> J */
k 4 5 8 /* K -> K */
l 5 2 8 /* L -> L */
SemiColon 6 2 32 /* ; -> ; */
SemiColon 5 5 16 /* : -> : */
SingleQuote 3 0 33 /* ' -> ' */
SingleQuote 7 3 1 /* " -> " */
BackQuote 7 1 32 /* ` -> Left Arrow */
BackQuote 7 1 1 /* ~ -> Left Arrow */
BackSlash 6 0 8 /* \ -> Lira */
Shift_L 1 7 2 /* Left Shift -> Left Shift */
CapsLock 1 7 64 /* Caps Lock -> Shift Lock */
z 1 4 8 /* Z -> Z */
x 2 7 8 /* X -> X */
c 2 4 8 /* C -> C */
v 3 7 8 /* V -> V */
b 3 4 8 /* B -> B */
n 4 7 8 /* N -> N */
m 4 4 8 /* M -> M */
Comma 5 7 8 /* , -> , */
Period 5 4 8 /* . -> . */
Slash 6 7 8 /* / -> / */
Shift_R 6 4 4 /* Right Shift -> Right Shift */
Space 7 4 8 /* Space -> Space */
F1 0 4 8 /* F1 -> F1 */
F2 0 4 1 /* F2 -> F2 */
F3 0 5 8 /* F3 -> F3 */
F4 0 5 1 /* F4 -> F4 */
F5 0 6 8 /* F5 -> F5 */
F6 0 6 1 /* F6 -> F6 */
F7 0 3 8 /* F7 -> F7 */
F8 0 3 1 /* F8 -> F8 */
Home 6 3 8 /* Home -> CLR/HOME */
Up 0 7 1 /* Up -> CRSR UP */
Down 0 7 8 /* Down -> CRSR DOWN */
Insert 0 0 1 /* Insert -> INS */
Del 0 0 8 /* Delete -> DEL */
Left 0 2 1 /* Left -> Left */
Right 0 2 8 /* Right -> Right */
# number pad
KP_Add 5 0 8 /* + -> + */
KP_Subtract 5 3 8 /* - -> - */
KP_Multiply 6 1 8 /* * -> * */
KP_Divide 5 6 8 /* / -> @ */
KP_Enter 0 1 8 /* Enter -> Return */
KP_0 4 3 0 /* 0 -> 0 */
KP_1 7 0 0 /* 1 -> 1 */
KP_2 7 3 0 /* 2 -> 2 */
KP_3 1 0 0 /* 3 -> 3 */
KP_4 1 3 0 /* 4 -> 4 */
KP_5 2 0 0 /* 5 -> 5 */
KP_6 2 3 0 /* 6 -> 6 */
KP_7 3 0 0 /* 7 -> 7 */
KP_8 3 3 0 /* 8 -> 8 */
KP_9 4 0 0 /* 9 -> 9 */
KP_Decimal 5 4 0 /* . -> . */
# misc
Control_R 7 2 8 /* Control_R -> CTRL */
PageDown 6 6 1 /* Page Down -> Pi */
# Restore key mappings
Tab -3 0
# workaround for non-functioning right CTRL in BMC64
Alt_L 7 2 8 /* Control_R -> CTRL */
Alt_R 7 2 8 /* Control_R -> CTRL */

View File

@@ -0,0 +1,117 @@
# BMC64 keyboard mapping file suitable for both
# USB and real C64 keyboards using GPIO
#
# 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 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
Tab 7 2 8 /* CTRL */
Control_L 7 5 8 /* Commodore Key */
Alt_L 7 5 8 /* Commodore Key */
BackSpace 0 0 8
Down 0 7 8
Escape 7 7 8 /* RunStop */
F1 0 4 8
F2 0 4 1
F3 0 5 8
F4 0 5 1
F5 0 6 8
F6 0 6 1
F7 0 3 8
F8 0 3 1
Home 6 3 8 /* Clr */
Left 0 2 1
Return 0 1 8
Right 0 2 8
Shift_L 1 7 2
Shift_R 6 4 4
Up 0 7 1
LeftBracket 5 6 8 /* at */
SemiColon 5 5 8 /* colon */
Comma 5 7 8 /* comma */
BackSlash 6 5 0 /* equal */
Pound 6 5 0 /* equal */
Equals 5 3 8 /* minus */
Period 5 4 8 /* period */
Dash 5 0 8 /* plus */
SingleQuote 6 2 8 /* semicolon */
Slash 6 7 8 /* slash */
Space 7 4 8 /* space */
Insert 6 0 8 /* sterling */
RightBracket 6 1 8 /* asterisk */
BackQuote 7 1 0 /* arrowleft */
Del 6 6 8 /* arrowup */
0 4 3 8
1 7 0 8
2 7 3 8
3 1 0 8
4 1 3 8
5 2 0 8
6 2 3 8
7 3 0 8
8 3 3 8
9 4 0 8
a 1 2 8
b 3 4 8
c 2 4 8
d 2 2 8
e 1 6 8
f 2 5 8
g 3 2 8
h 3 5 8
i 4 1 8
j 4 2 8
k 4 5 8
l 5 2 8
m 4 4 8
n 4 7 8
o 4 6 8
p 5 1 8
q 7 6 8
r 2 1 8
s 1 5 8
t 2 6 8
u 3 6 8
v 3 7 8
w 1 1 8
x 2 7 8
y 3 1 8
z 1 4 8
# Restore key mappings
PageUp -3 0
CapsLock -4 1

View File

@@ -0,0 +1,179 @@
# 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)
# '!SHIFTL shiftkey' shift lock 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
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, 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
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
# SDL symbolic map for the C64, the SCPU64, and the C64DTV
# C64 keyboard matrix:
#
# +-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
!SHIFTL LSHIFT
Escape 7 7 8 /* ESC -> Run/Stop */
1 7 0 8 /* 1 -> 1 */
2 7 3 32 /* 2 -> 2 */
2 5 6 16 /* @ -> @ */
3 1 0 8 /* 3 -> 3 */
4 1 3 8 /* 4 -> 4 */
5 2 0 8 /* 5 -> 5 */
6 2 3 32 /* 6 -> 6 */
6 6 6 16 /* ^ -> ^ */
7 3 0 32 /* 7 -> 7 */
7 2 3 1 /* & -> & */
8 3 3 32 /* 8 -> 8 */
8 6 1 16 /* * -> * */
9 4 0 32 /* 9 -> 9 */
9 3 3 1 /* ( -> ( */
0 4 3 32 /* 0 -> 0 */
0 4 0 1 /* ) -> ) */
Dash 5 3 8 /* Minus -> Minus */
Equals 6 5 32 /* = -> = */
Equals 5 0 16 /* + -> + */
Pound 6 5 32 /* = -> = */
Pound 5 0 16 /* + -> + */
BackSpace 0 0 8 /* Backspace -> DEL */
Control_L 7 5 8 /* Cntrl -> CBM */
q 7 6 8 /* Q -> Q */
w 1 1 8 /* W -> W */
e 1 6 8 /* E -> E */
r 2 1 8 /* R -> R */
t 2 6 8 /* T -> T */
y 3 1 8 /* Y -> Y */
u 3 6 8 /* U -> U */
i 4 1 8 /* I -> I */
o 4 6 8 /* O -> O */
p 5 1 8 /* P -> P */
LeftBracket 5 5 1 /* [ -> [ */
RightBracket 6 2 1 /* ] -> ] */
Return 0 1 8 /* Return -> Return */
Tab 7 2 8 /* Tab -> Ctrl */
a 1 2 8 /* A -> A */
s 1 5 8 /* S -> S */
d 2 2 8 /* D -> D */
f 2 5 8 /* F -> F */
g 3 2 8 /* G -> G */
h 3 5 8 /* H -> H */
j 4 2 8 /* J -> J */
k 4 5 8 /* K -> K */
l 5 2 8 /* L -> L */
SemiColon 6 2 32 /* ; -> ; */
SemiColon 5 5 16 /* : -> : */
SingleQuote 3 0 33 /* ' -> ' */
SingleQuote 7 3 1 /* " -> " */
BackQuote 7 1 32 /* ` -> Left Arrow */
BackQuote 6 6 1 /* ~ -> Pi */
BackSlash 6 0 8 /* \ -> Lira */
Shift_L 1 7 2 /* Left Shift -> Left Shift */
CapsLock 1 7 64 /* Caps Lock -> Shift Lock */
z 1 4 8 /* Z -> Z */
x 2 7 8 /* X -> X */
c 2 4 8 /* C -> C */
v 3 7 8 /* V -> V */
b 3 4 8 /* B -> B */
n 4 7 8 /* N -> N */
m 4 4 8 /* M -> M */
Comma 5 7 8 /* , -> , */
Period 5 4 8 /* . -> . */
Slash 6 7 8 /* / -> / */
Shift_R 6 4 4 /* Right Shift -> Right Shift */
Space 7 4 8 /* Space -> Space */
F1 0 4 8 /* F1 -> F1 */
F2 0 4 1 /* F2 -> F2 */
F3 0 5 8 /* F3 -> F3 */
F4 0 5 1 /* F4 -> F4 */
F5 0 6 8 /* F5 -> F5 */
F6 0 6 1 /* F6 -> F6 */
F7 0 3 8 /* F7 -> F7 */
F8 0 3 1 /* F8 -> F8 */
Home 6 3 8 /* Home -> CLR/HOME */
Up 0 7 1 /* Up -> CRSR UP */
Down 0 7 8 /* Down -> CRSR DOWN */
Insert 0 0 1 /* Insert -> INS */
Del 0 0 8 /* Delete -> DEL */
Left 0 2 1 /* Left -> Left */
Right 0 2 8 /* Right -> Right */
# Restore key mappings
PageUp -3 0

Binary file not shown.

View File

@@ -0,0 +1,114 @@
# BMC64 keyboard mapping file suitable for both
# USB and real C64 keyboards using GPIO
#
# 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 1 7
!RSHIFT 1 7
!VSHIFT RSHIFT
Control_L 7 2 8 /* CTRL */
Super_L 7 5 8 /* Commodore Key */
Alt_L 7 5 8 /* Commodore Key */
BackSpace 0 0 8
Down 5 0 8
Escape 7 7 0 /* Run Stop */
F1 0 4 8
F3 0 5 8
F5 0 6 8
F7 0 3 8
Home 7 1 8 /* Clr */
Left 6 0 8
Return 0 1 8
Right 6 3 8
Shift_L 1 7 2
Shift_R 1 7 4
Up 5 3 8
BackSlash 0 7 8 /* at */
LeftBracket 5 5 8 /* colon */
Comma 5 7 8 /* comma */
Pound 6 5 8 /* equal */
Equals 6 5 8 /* equal */
LP_Subtract 5 6 8 /* minus */
Period 5 4 8 /* period */
KP_Add 6 6 8 /* plus */
RightBracket 6 2 8 /* semicolon */
Slash 6 7 8 /* slash */
Space 7 4 8 /* space */
Dash 0 2 8 /* sterling */
Insert 0 2 8 /* sterling */
SemiColon 6 1 8 /* asterisk */
BackQuote 6 4 8 /* escape */
Del 6 6 8 /* plus */
0 4 3 8
1 7 0 8
2 7 3 8
3 1 0 8
4 1 3 8
5 2 0 8
6 2 3 8
7 3 0 8
8 3 3 8
9 4 0 8
a 1 2 8
b 3 4 8
c 2 4 8
d 2 2 8
e 1 6 8
f 2 5 8
g 3 2 8
h 3 5 8
i 4 1 8
j 4 2 8
k 4 5 8
l 5 2 8
m 4 4 8
n 4 7 8
o 4 6 8
p 5 1 8
q 7 6 8
r 2 1 8
s 1 5 8
t 2 6 8
u 3 6 8
v 3 7 8
w 1 1 8
x 2 7 8
y 3 1 8
z 1 4 8
# Restore key mappings
Tab -3 0
CapsLock -4 1

View File

@@ -0,0 +1,113 @@
# BMC64 keyboard mapping file suitable for both
# USB and real C64 keyboards using GPIO
#
# 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 1 7
!RSHIFT 1 7
!VSHIFT RSHIFT
Tab 7 2 8 /* CTRL */
Control_L 7 5 8 /* Commodore Key */
Alt_L 7 5 8 /* Commodore Key */
BackSpace 0 0 8
Down 5 0 8
Escape 7 7 0 /* Run Stop */
F1 0 4 8
F3 0 5 8
F5 0 6 8
F7 0 3 8
Home 7 1 8 /* Clr */
Left 6 0 8
Return 0 1 8
Right 6 3 8
Shift_L 1 7 2
Shift_R 1 7 4
Up 5 3 8
LeftBracket 0 7 8 /* at */
SemiColon 5 5 8 /* colon */
Comma 5 7 8 /* comma */
BackSlash 6 5 8 /* equal */
Pound 6 5 8 /* equal */
Equals 5 6 8 /* minus */
Period 5 4 8 /* period */
Dash 6 6 8 /* plus */
SingleQuote 6 2 8 /* semicolon */
Slash 6 7 8 /* slash */
Space 7 4 8 /* space */
Insert 0 2 8 /* sterling */
RightBracket 6 1 8 /* asterisk */
BackQuote 6 4 8 /* escape */
Del 6 6 8 /* plus */
0 4 3 8
1 7 0 8
2 7 3 8
3 1 0 8
4 1 3 8
5 2 0 8
6 2 3 8
7 3 0 8
8 3 3 8
9 4 0 8
a 1 2 8
b 3 4 8
c 2 4 8
d 2 2 8
e 1 6 8
f 2 5 8
g 3 2 8
h 3 5 8
i 4 1 8
j 4 2 8
k 4 5 8
l 5 2 8
m 4 4 8
n 4 7 8
o 4 6 8
p 5 1 8
q 7 6 8
r 2 1 8
s 1 5 8
t 2 6 8
u 3 6 8
v 3 7 8
w 1 1 8
x 2 7 8
y 3 1 8
z 1 4 8
# Restore key mappings
PageUp -3 0
CapsLock -4 1

View File

@@ -0,0 +1,122 @@
# 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)
# '!SHIFTL shiftkey' shift lock 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
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
!CLEAR
!LSHIFT 1 7
!RSHIFT 1 7
!VSHIFT RSHIFT
Escape 7 7 8 /* ESC -> Run/Stop */
1 7 0 8 /* 1 -> 1 */
2 7 3 32 /* 2 -> 2 */
2 0 7 16 /* @ -> @ */
3 1 0 8 /* 3 -> 3 */
4 1 3 8 /* 4 -> 4 */
5 2 0 8 /* 5 -> 5 */
6 2 3 32 /* 6 -> 6 */
6 4 3 1 /* ^ -> ^ */
7 3 0 32 /* 7 -> 7 */
7 2 3 1 /* & -> & */
8 3 3 32 /* 8 -> 8 */
8 6 1 16 /* * -> * */
9 4 0 32 /* 9 -> 9 */
9 3 3 1 /* ( -> ( */
0 4 3 32 /* 0 -> 0 */
0 4 0 1 /* ) -> ) */
Dash 5 6 8 /* Minus -> Minus */
Equals 6 5 32 /* = -> = */
Equals 6 6 16 /* + -> + */
Pound 6 5 32 /* = -> = */
Pound 6 6 16 /* + -> + */
BackSpace 0 0 8 /* Backspace -> DEL */
Control_L 7 5 8 /* Cntrl -> CBM */
q 7 6 8 /* Q -> Q */
w 1 1 8 /* W -> W */
e 1 6 8 /* E -> E */
r 2 1 8 /* R -> R */
t 2 6 8 /* T -> T */
y 3 1 8 /* Y -> Y */
u 3 6 8 /* U -> U */
i 4 1 8 /* I -> I */
o 4 6 8 /* O -> O */
p 5 1 8 /* P -> P */
LeftBracket 5 5 1 /* [ -> [ */
RightBracket 6 2 1 /* ] -> ] */
Return 0 1 8 /* Return -> Return */
Tab 7 2 8 /* Tab -> Ctrl */
a 1 2 8 /* A -> A */
s 1 5 8 /* S -> S */
d 2 2 8 /* D -> D */
f 2 5 8 /* F -> F */
g 3 2 8 /* G -> G */
h 3 5 8 /* H -> H */
j 4 2 8 /* J -> J */
k 4 5 8 /* K -> K */
l 5 2 8 /* L -> L */
SemiColon 6 2 32 /* ; -> ; */
SemiColon 5 5 16 /* : -> : */
SingleQuote 3 0 33 /* ' -> ' */
SingleQuote 7 3 1 /* " -> " */
BackQuote 6 4 8 /* ` -> Escape */
BackSlash 0 2 8 /* \ -> Lira */
Shift_L 1 7 2 /* Left Shift -> Left Shift */
CapsLock 1 7 64 /* Caps Lock -> Shift Lock */
z 1 4 8 /* Z -> Z */
x 2 7 8 /* X -> X */
c 2 4 8 /* C -> C */
v 3 7 8 /* V -> V */
b 3 4 8 /* B -> B */
n 4 7 8 /* N -> N */
m 4 4 8 /* M -> M */
Comma 5 7 8 /* , -> , */
Period 5 4 8 /* . -> . */
Slash 6 7 8 /* / -> / */
Shift_R 1 7 4 /* Right Shift -> Right Shift */
Space 7 4 8 /* Space -> Space */
F1 0 4 8 /* F1 -> F1 */
F2 0 4 1 /* F2 -> F2 */
F3 0 5 8 /* F3 -> F3 */
F4 0 5 1 /* F4 -> F4 */
F5 0 6 8 /* F5 -> F5 */
F6 0 6 1 /* F6 -> F6 */
F7 0 3 8 /* F7 -> F7 */
F8 0 3 1 /* F8 -> F8 */
Home 7 1 8 /* Home -> CLR/HOME */
Up 5 3 8 /* Up -> CRSR UP */
Down 5 0 8 /* Down -> CRSR DOWN */
Insert 0 0 1 /* Insert -> INS */
Del 0 0 8 /* Delete -> DEL */
Left 6 0 8 /* Left -> Left */
Right 6 3 8 /* Right -> Right */
# Restore key mappings
PageUp -3 0

View File

@@ -75,7 +75,14 @@ Tab 7 2 8 /* CTRL */
Control_L 7 5 8 /* Commodore Key */
Alt_L 7 5 8 /* Commodore Key */
BackSpace 0 0 8
Down 0 7 8
Down 5 0 8
Up 5 3 8
Right 6 3 8
Left 6 0 8
#Down 0 7 8
#Left 0 2 1
#Right 0 2 8
#Up 0 7 1
Escape 7 7 8 /* RunStop */
F1 0 4 8
F2 0 4 1
@@ -85,28 +92,45 @@ F5 0 6 8
F6 0 6 1
F7 0 3 8
F8 0 3 1
Home 6 3 8 /* Clr */
Left 0 2 1
Return 0 1 8
Right 0 2 8
#Home 6 3 8 /* Clr */
Home 7 1 8 /* Clr */
Shift_L 1 7 2
Shift_R 6 4 4
Up 0 7 1
LeftBracket 5 6 8 /* at */
SemiColon 5 5 8 /* colon */
Comma 5 7 8 /* comma */
BackSlash 6 5 0 /* equal */
Pound 6 5 0 /* equal */
Equals 5 3 8 /* minus */
Period 5 4 8 /* period */
Dash 5 0 8 /* plus */
SingleQuote 6 2 8 /* semicolon */
Slash 6 7 8 /* slash */
Space 7 4 8 /* space */
Insert 6 0 8 /* sterling */
RightBracket 6 1 8 /* asterisk */
BackQuote 7 1 0 /* arrowleft */
Del 6 6 8 /* arrowup */
Shift_R 1 7 4
#Shift_R 6 4 4
Return 0 1 8
LeftBracket 0 7 8 /* at */
SemiColon 5 5 8 /* colon */
Comma 5 7 8 /* comma */
BackSlash 6 5 8 /* equal */
Pound 6 5 8 /* equal */
Equals 5 6 8 /* minus */
Period 5 4 8 /* period */
Dash 6 6 8 /* plus */
SingleQuote 6 2 8 /* semicolon */
Slash 6 7 8 /* slash */
Space 7 4 8 /* space */
Insert 0 2 8 /* sterling */
RightBracket 6 1 8 /* asterisk */
BackQuote 6 4 8 /* escape */
Del 6 6 8 /* plus */
#LeftBracket 5 6 8 /* at */
#SemiColon 5 5 8 /* colon */
#Comma 5 7 8 /* comma */
#BackSlash 6 5 0 /* equal */
#Pound 6 5 0 /* equal */
#Equals 5 3 8 /* minus */
#Period 5 4 8 /* period */
#Dash 5 0 8 /* plus */
#SingleQuote 6 2 8 /* semicolon */
#Slash 6 7 8 /* slash */
#Space 7 4 8 /* space */
#Insert 6 0 8 /* sterling */
#RightBracket 6 1 8 /* asterisk */
#BackQuote 7 1 0 /* arrowleft */
#Del 6 6 8 /* arrowup */
0 4 3 8
1 7 0 8
2 7 3 8

View File

@@ -75,18 +75,19 @@ Control_L 7 5 8 /* Commodore Key */
Alt_L 7 5 8 /* Commodore Key */
BackSpace 0 0 8
Down 5 0 8
Up 5 3 8
Right 6 3 8
Left 6 0 8
Escape 7 7 0 /* Run Stop */
F1 0 4 8
F3 0 5 8
F5 0 6 8
F7 0 3 8
Home 7 1 8 /* Clr */
Left 6 0 8
Return 0 1 8
Right 6 3 8
Shift_L 1 7 2
Shift_R 1 7 4
Up 5 3 8
LeftBracket 0 7 8 /* at */
SemiColon 5 5 8 /* colon */
Comma 5 7 8 /* comma */

View File

@@ -0,0 +1,179 @@
# 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)
# '!SHIFTL shiftkey' shift lock 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
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, 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
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
# SDL symbolic map for the C64, the SCPU64, and the C64DTV
# C64 keyboard matrix:
#
# +-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
!SHIFTL LSHIFT
Escape 7 7 8 /* ESC -> Run/Stop */
1 7 0 8 /* 1 -> 1 */
2 7 3 32 /* 2 -> 2 */
2 5 6 16 /* @ -> @ */
3 1 0 8 /* 3 -> 3 */
4 1 3 8 /* 4 -> 4 */
5 2 0 8 /* 5 -> 5 */
6 2 3 32 /* 6 -> 6 */
6 6 6 16 /* ^ -> ^ */
7 3 0 32 /* 7 -> 7 */
7 2 3 1 /* & -> & */
8 3 3 32 /* 8 -> 8 */
8 6 1 16 /* * -> * */
9 4 0 32 /* 9 -> 9 */
9 3 3 1 /* ( -> ( */
0 4 3 32 /* 0 -> 0 */
0 4 0 1 /* ) -> ) */
Dash 5 3 8 /* Minus -> Minus */
Equals 6 5 32 /* = -> = */
Equals 5 0 16 /* + -> + */
Pound 6 5 32 /* = -> = */
Pound 5 0 16 /* + -> + */
BackSpace 0 0 8 /* Backspace -> DEL */
Control_L 7 5 8 /* Cntrl -> CBM */
q 7 6 8 /* Q -> Q */
w 1 1 8 /* W -> W */
e 1 6 8 /* E -> E */
r 2 1 8 /* R -> R */
t 2 6 8 /* T -> T */
y 3 1 8 /* Y -> Y */
u 3 6 8 /* U -> U */
i 4 1 8 /* I -> I */
o 4 6 8 /* O -> O */
p 5 1 8 /* P -> P */
LeftBracket 5 5 1 /* [ -> [ */
RightBracket 6 2 1 /* ] -> ] */
Return 0 1 8 /* Return -> Return */
Tab 7 2 8 /* Tab -> Ctrl */
a 1 2 8 /* A -> A */
s 1 5 8 /* S -> S */
d 2 2 8 /* D -> D */
f 2 5 8 /* F -> F */
g 3 2 8 /* G -> G */
h 3 5 8 /* H -> H */
j 4 2 8 /* J -> J */
k 4 5 8 /* K -> K */
l 5 2 8 /* L -> L */
SemiColon 6 2 32 /* ; -> ; */
SemiColon 5 5 16 /* : -> : */
SingleQuote 3 0 33 /* ' -> ' */
SingleQuote 7 3 1 /* " -> " */
BackQuote 7 1 32 /* ` -> Left Arrow */
BackQuote 6 6 1 /* ~ -> Pi */
BackSlash 6 0 8 /* \ -> Lira */
Shift_L 1 7 2 /* Left Shift -> Left Shift */
CapsLock 1 7 64 /* Caps Lock -> Shift Lock */
z 1 4 8 /* Z -> Z */
x 2 7 8 /* X -> X */
c 2 4 8 /* C -> C */
v 3 7 8 /* V -> V */
b 3 4 8 /* B -> B */
n 4 7 8 /* N -> N */
m 4 4 8 /* M -> M */
Comma 5 7 8 /* , -> , */
Period 5 4 8 /* . -> . */
Slash 6 7 8 /* / -> / */
Shift_R 6 4 4 /* Right Shift -> Right Shift */
Space 7 4 8 /* Space -> Space */
F1 0 4 8 /* F1 -> F1 */
F2 0 4 1 /* F2 -> F2 */
F3 0 5 8 /* F3 -> F3 */
F4 0 5 1 /* F4 -> F4 */
F5 0 6 8 /* F5 -> F5 */
F6 0 6 1 /* F6 -> F6 */
F7 0 3 8 /* F7 -> F7 */
F8 0 3 1 /* F8 -> F8 */
Home 6 3 8 /* Home -> CLR/HOME */
Up 0 7 1 /* Up -> CRSR UP */
Down 0 7 8 /* Down -> CRSR DOWN */
Insert 0 0 1 /* Insert -> INS */
Del 0 0 8 /* Delete -> DEL */
Left 0 2 1 /* Left -> Left */
Right 0 2 8 /* Right -> Right */
# Restore key mappings
PageUp -3 0