This commit is contained in:
topicchi
2026-03-26 12:55:54 +00:00
parent e84ee01c90
commit 6c80c7f4f5
2 changed files with 274 additions and 161 deletions

View File

@@ -1,90 +1,145 @@
# VICE keyboard mapping file
# Layout: Positional per Commodore 64 USB (QMK)
# Formato: KEYSYM ROW COL SHIFTFLAG
# VICE keyboard mapping file for C64
# Ottimizzato per Case Plus/4 con QMK
# Formato: Keysym Row Col Shift
!LSHIFT 1 2
!RSHIFT 6 4
!VSHIFT LSHIFT
# 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
#
# Riga Superiore (Numeri e Simboli)
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
0 4 3 8
plus 5 0 0
minus 5 3 0
equal 6 5 0
BackSpace 0 0 8
# --- 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)
# Seconda Riga (QWERTY...)
Tab 7 1 8
q 7 6 8
w 1 1 8
e 1 6 8
r 2 1 8
t 2 6 8
y 3 1 8
u 3 6 8
i 4 1 8
o 4 6 8
p 5 1 8
at 4 6 0
asterisk 6 1 0
bracketleft 5 2 1
bracketright 5 5 1
# --- 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
# Terza Riga (ASDF...)
Control_L 7 2 8
a 1 2 8
s 1 5 8
d 2 2 8
f 2 5 8
g 3 2 8
h 3 5 8
j 4 2 8
k 4 5 8
l 5 2 8
colon 5 5 0
semicolon 6 2 0
Return 0 1 8
# --- 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
# Quarta Riga (ZXCV...)
Shift_L 1 2 8
z 1 4 8
x 2 7 8
c 2 4 8
v 3 7 8
b 3 4 8
n 4 7 8
m 4 4 8
comma 5 7 0
# --- 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
# --- 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
# --- 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
slash 6 7 0
Shift_R 6 4 8
colon 5 5 0 # [ : ] (C64: R5, C5)
minus 5 0 0 # [ - ] (C64: R5, C0)
comma 5 7 0
# Quinta Riga (Barra Spazio e Speciali)
Super_L 7 5 8
space 7 4 8
Escape 7 7 8
# --- 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)
# Cursori (Simulazione 4 frecce su 2 tasti C64)
Up 0 0 1
Down 0 0 0
Left 0 2 1
Right 0 2 0
# Tasti Funzione
F1 0 4 0
F2 0 4 1
F3 0 5 0
F4 0 5 1
F5 0 6 0
F6 0 6 1
F7 0 3 0
F8 0 3 1
# --- 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)

View File

@@ -1,87 +1,145 @@
# VICE keyboard mapping file
# Layout: Positional per Commodore Plus/4 USB (QMK)
# Formato: KEYSYM ROW COL SHIFTFLAG
# VICE keyboard mapping file for Plus/4
# Basato sul layer QMK ottimizzato per Plus/4 Case
# Formato: Keysym Row Col Shift
#
# 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.
#
# Positional Mapping, US Layout, Plus/4, GTK
#
# Commodore 16/116/Plus-4 keyboard matrix:
#
# 0 1 2 3 4 5 6 7
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 0 |INST/DEL|RETURN |POUND |F7/HELP |F4/F1 |F5/F2 |F6/F3 |@ |
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 1 |3 # |W |A |4 $ |Z |S |E | SHIFTs |
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 2 |5 % |R |D |6 & |C |F |T |X |
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 3 |7 ' |Y |G |8 ( |B |H |U |V |
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 4 |9 ) |I |J |0 ^ |M |K |O |N |
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 5 |DOWN |P |L |UP |. > |: [ |- |, < |
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 6 |LEFT |* |; ] |RIGHT |ESC |= <- pi |+ |/ ? |
# +--------+--------+--------+--------+--------+--------+--------+--------+
# 7 |1 ! |CLR/HOME| CTRLs |2 " |SPACE |CBM |Q |RUN/STOP|
# +--------+--------+--------+--------+--------+--------+--------+--------+
#
# Plus4 keyboard layout:
#
# F1/4 F2/5 F3/6 Help/F7
#
# ESC 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0^ + - =/pi clr del
# CTRL q w e r t y u i o p @ pound * ctrl
# r/s SL a s d f g h j k l :[ ;] return
# CBM LS z x c v b n m ,< .> /? RS up
# space left right
#
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT LSHIFT
# --- Riga 0 (Tasti Superiori / Speciali) ---
BackSpace 0 0 0 # Tasto INST/DEL
Return 0 1 0 # Tasto RETURN
backslash 0 2 0 # Mappato su £ (POUND) nel Plus/4
F7 0 3 0 # Tasto F4 fisico (F7 con shift)
F1 0 4 0
F2 0 5 0
F3 0 6 0
at 0 7 0 # Tasto @ (dedicato)
# Fila Superiore (Numeri e simboli)
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
0 4 3 8
plus 5 0 0
minus 5 3 0
equal 6 5 0
BackSpace 0 0 8
# --- 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 # SHIFT
# Seconda Fila (QWERTY...)
Tab 7 1 8
q 7 6 8
w 1 1 8
e 1 6 8
r 2 1 8
t 2 6 8
y 3 1 8
u 3 6 8
i 4 1 8
o 4 6 8
p 5 1 8
at 0 7 0
bracketleft 6 1 0
bracketright 6 6 0
# --- 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
# Terza Fila (ASDF...)
Control_L 7 2 8
a 1 2 8
s 1 5 8
d 2 2 8
f 2 5 8
g 3 2 8
h 3 5 8
j 4 2 8
k 4 5 8
l 5 2 8
colon 5 5 0
semicolon 6 2 0
Return 0 1 8
# --- 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
# Quarta Fila (ZXCV...)
Shift_L 1 7 8
z 1 4 8
x 2 7 8
c 2 4 8
v 3 7 8
b 3 4 8
n 4 7 8
m 4 4 8
comma 5 7 0
# --- 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
# --- Riga 5 (Frecce e Punteggiatura) ---
Down 5 0 0
p 5 1 0
l 5 2 0
Up 5 3 0
period 5 4 0
colon 5 5 0
minus 5 6 0
comma 5 7 0
# --- Riga 6 (Frecce e Simboli) ---
Left 6 0 0
asterisk 6 1 0
semicolon 6 2 0
Right 6 3 0
Escape 6 4 0
equal 6 5 0
plus 6 6 0
slash 6 7 0
Shift_R 6 4 8
# Quinta Fila (Spazio e tasti speciali)
Super_L 7 5 8
space 7 4 8
Escape 7 7 8
# Cursori (Frecce)
Up 6 6 8
Down 0 3 8
Left 7 1 8
Right 0 2 8
# Tasti Funzione
F1 0 4 8
F2 0 5 8
F3 0 6 8
F5 0 4 1
F6 0 5 1
F7 0 6 1
# --- Riga 7 (Base e Controllo) ---
1 7 0 0
Home 7 1 0 # Tasto CLR/HOME
Tab 7 2 0 # Tasto CTRL
2 7 3 0
space 7 4 0
Control_L 7 5 0 # Tasto COMMODORE (CBM)
q 7 6 0
Alt_L 7 7 0 # Mappato su RUN/STOP (Posizione fisica Alt)