2026-03-26 12:55:54 +00:00
|
|
|
# VICE keyboard mapping file for C64
|
|
|
|
|
# Ottimizzato per Case Plus/4 con QMK
|
|
|
|
|
# Formato: Keysym Row Col Shift
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# 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
|
|
|
|
|
#
|
|
|
|
|
# Positional Mapping, US Layout, C64, GTK
|
|
|
|
|
#
|
|
|
|
|
# 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 |
|
|
|
|
|
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
|
|
|
|
#
|
|
|
|
|
# C64 Keyboard layout:
|
|
|
|
|
#
|
|
|
|
|
# arrow 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0 + - pound clr del f1/f2
|
|
|
|
|
# ctrl q w e r t y u i o p @ * ^ restore f3/f4
|
|
|
|
|
# r/s SL a s d f g h j k l :[ ;] = return f5/f6
|
|
|
|
|
# CBM LS z x c v b n m ,< .> /? RS u/d l/r f7/f8
|
|
|
|
|
#
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# --- Riga 0 (Tasti Superiori) ---
|
|
|
|
|
BackSpace 0 0 0 # INST/DEL (C64: R0, C0)
|
|
|
|
|
Return 0 1 0 # RETURN (C64: R0, C1)
|
|
|
|
|
backslash 5 6 0 # Tasto £ (POUND) (C64: R5, C6)
|
|
|
|
|
F7 0 3 0 # F7 (C64: R0, C3)
|
|
|
|
|
F1 0 4 0 # F1 (C64: R0, C4)
|
|
|
|
|
F2 0 4 1 # F2 (Invia Shift+F1 come su C64 reale)
|
|
|
|
|
F3 0 5 0 # F3 (C64: R0, C5)
|
|
|
|
|
at 5 3 0 # @ (C64: R5, C3)
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# --- Riga 1 ---
|
|
|
|
|
3 1 0 0
|
|
|
|
|
w 1 1 0
|
|
|
|
|
a 1 2 0
|
|
|
|
|
4 1 3 0
|
|
|
|
|
z 1 4 0
|
|
|
|
|
s 1 5 0
|
|
|
|
|
e 1 6 0
|
|
|
|
|
Shift_L 1 7 0
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# --- Riga 2 ---
|
|
|
|
|
5 2 0 0
|
|
|
|
|
r 2 1 0
|
|
|
|
|
d 2 2 0
|
|
|
|
|
6 2 3 0
|
|
|
|
|
c 2 4 0
|
|
|
|
|
f 2 5 0
|
|
|
|
|
t 2 6 0
|
|
|
|
|
x 2 7 0
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# --- Riga 3 ---
|
|
|
|
|
7 3 0 0
|
|
|
|
|
y 3 1 0
|
|
|
|
|
g 3 2 0
|
|
|
|
|
8 3 3 0
|
|
|
|
|
b 3 4 0
|
|
|
|
|
h 3 5 0
|
|
|
|
|
u 3 6 0
|
|
|
|
|
v 3 7 0
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# --- Riga 4 ---
|
|
|
|
|
9 4 0 0
|
|
|
|
|
i 4 1 0
|
|
|
|
|
j 4 2 0
|
|
|
|
|
0 4 3 0
|
|
|
|
|
m 4 4 0
|
|
|
|
|
k 4 5 0
|
|
|
|
|
o 4 6 0
|
|
|
|
|
n 4 7 0
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# --- Riga 5 (Frecce Plus4 -> Matrice C64) ---
|
|
|
|
|
Down 0 7 0 # CRSR Down (C64: R0, C7)
|
|
|
|
|
p 5 1 0
|
|
|
|
|
l 5 2 0
|
|
|
|
|
Up 0 7 1 # CRSR Up (Invia Shift + CRSR Down)
|
|
|
|
|
period 5 4 0
|
|
|
|
|
colon 5 5 0 # [ : ] (C64: R5, C5)
|
|
|
|
|
minus 5 0 0 # [ - ] (C64: R5, C0)
|
|
|
|
|
comma 5 7 0
|
2026-03-25 08:54:25 +00:00
|
|
|
|
2026-03-26 12:55:54 +00:00
|
|
|
# --- Riga 6 (Frecce Plus4 -> Matrice C64) ---
|
|
|
|
|
Left 0 2 1 # CRSR Left (Invia Shift + CRSR Right)
|
|
|
|
|
asterisk 6 1 0 # [ * ] (C64: R6, C1)
|
|
|
|
|
semicolon 6 2 0 # [ ; ] (C64: R6, C2)
|
|
|
|
|
Right 0 2 0 # CRSR Right (C64: R0, C2)
|
|
|
|
|
Escape 7 1 0 # ESC (Plus4) -> Tasto FRECCIA SINISTRA (C64: R7, C1)
|
|
|
|
|
equal 6 5 0 # [ = ] (C64: R6, C5)
|
|
|
|
|
plus 6 6 0 # [ + ] (C64: R6, C6)
|
|
|
|
|
slash 6 7 0 # [ / ] (C64: R6, C7)
|
|
|
|
|
|
|
|
|
|
# --- Riga 7 (Base e Controllo) ---
|
|
|
|
|
1 7 0 0
|
|
|
|
|
Home 6 3 0 # CLR/HOME (C64: R6, C3)
|
|
|
|
|
Tab 7 2 0 # CTRL (C64: R7, C2)
|
|
|
|
|
2 7 3 0
|
|
|
|
|
space 7 4 0
|
|
|
|
|
Control_L 7 5 0 # CBM KEY (C64: R7, C5)
|
|
|
|
|
q 7 6 0
|
|
|
|
|
Alt_L 7 7 0 # RUN/STOP (C64: R7, C7)
|