Compare commits
10 Commits
74461f2cec
...
496b49e8cb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
496b49e8cb | ||
|
|
4ba54d135d | ||
|
|
c65ca12664 | ||
|
|
32ac966a44 | ||
|
|
005d66394e | ||
|
|
c3de739e9a | ||
|
|
d2636e6d25 | ||
|
|
ef805b494a | ||
|
|
6c80c7f4f5 | ||
|
|
e84ee01c90 |
164
trunk/workspace/05_Micropython/00_Libraries/ssd1306.py
Normal file
164
trunk/workspace/05_Micropython/00_Libraries/ssd1306.py
Normal file
@@ -0,0 +1,164 @@
|
||||
# MicroPython SSD1306 OLED driver, I2C and SPI interfaces
|
||||
|
||||
from micropython import const
|
||||
import framebuf
|
||||
|
||||
|
||||
# register definitions
|
||||
SET_CONTRAST = const(0x81)
|
||||
SET_ENTIRE_ON = const(0xA4)
|
||||
SET_NORM_INV = const(0xA6)
|
||||
SET_DISP = const(0xAE)
|
||||
SET_MEM_ADDR = const(0x20)
|
||||
SET_COL_ADDR = const(0x21)
|
||||
SET_PAGE_ADDR = const(0x22)
|
||||
SET_DISP_START_LINE = const(0x40)
|
||||
SET_SEG_REMAP = const(0xA0)
|
||||
SET_MUX_RATIO = const(0xA8)
|
||||
SET_IREF_SELECT = const(0xAD)
|
||||
SET_COM_OUT_DIR = const(0xC0)
|
||||
SET_DISP_OFFSET = const(0xD3)
|
||||
SET_COM_PIN_CFG = const(0xDA)
|
||||
SET_DISP_CLK_DIV = const(0xD5)
|
||||
SET_PRECHARGE = const(0xD9)
|
||||
SET_VCOM_DESEL = const(0xDB)
|
||||
SET_CHARGE_PUMP = const(0x8D)
|
||||
|
||||
|
||||
# Subclassing FrameBuffer provides support for graphics primitives
|
||||
# http://docs.micropython.org/en/latest/pyboard/library/framebuf.html
|
||||
class SSD1306(framebuf.FrameBuffer):
|
||||
def __init__(self, width, height, external_vcc):
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.external_vcc = external_vcc
|
||||
self.pages = self.height // 8
|
||||
self.buffer = bytearray(self.pages * self.width)
|
||||
super().__init__(self.buffer, self.width, self.height, framebuf.MONO_VLSB)
|
||||
self.init_display()
|
||||
|
||||
def init_display(self):
|
||||
for cmd in (
|
||||
SET_DISP, # display off
|
||||
# address setting
|
||||
SET_MEM_ADDR,
|
||||
0x00, # horizontal
|
||||
# resolution and layout
|
||||
SET_DISP_START_LINE, # start at line 0
|
||||
SET_SEG_REMAP | 0x01, # column addr 127 mapped to SEG0
|
||||
SET_MUX_RATIO,
|
||||
self.height - 1,
|
||||
SET_COM_OUT_DIR | 0x08, # scan from COM[N] to COM0
|
||||
SET_DISP_OFFSET,
|
||||
0x00,
|
||||
SET_COM_PIN_CFG,
|
||||
0x02 if self.width > 2 * self.height else 0x12,
|
||||
# timing and driving scheme
|
||||
SET_DISP_CLK_DIV,
|
||||
0x80,
|
||||
SET_PRECHARGE,
|
||||
0x22 if self.external_vcc else 0xF1,
|
||||
SET_VCOM_DESEL,
|
||||
0x30, # 0.83*Vcc
|
||||
# display
|
||||
SET_CONTRAST,
|
||||
0xFF, # maximum
|
||||
SET_ENTIRE_ON, # output follows RAM contents
|
||||
SET_NORM_INV, # not inverted
|
||||
SET_IREF_SELECT,
|
||||
0x30, # enable internal IREF during display on
|
||||
# charge pump
|
||||
SET_CHARGE_PUMP,
|
||||
0x10 if self.external_vcc else 0x14,
|
||||
SET_DISP | 0x01, # display on
|
||||
): # on
|
||||
self.write_cmd(cmd)
|
||||
self.fill(0)
|
||||
self.show()
|
||||
|
||||
def poweroff(self):
|
||||
self.write_cmd(SET_DISP)
|
||||
|
||||
def poweron(self):
|
||||
self.write_cmd(SET_DISP | 0x01)
|
||||
|
||||
def contrast(self, contrast):
|
||||
self.write_cmd(SET_CONTRAST)
|
||||
self.write_cmd(contrast)
|
||||
|
||||
def invert(self, invert):
|
||||
self.write_cmd(SET_NORM_INV | (invert & 1))
|
||||
|
||||
def rotate(self, rotate):
|
||||
self.write_cmd(SET_COM_OUT_DIR | ((rotate & 1) << 3))
|
||||
self.write_cmd(SET_SEG_REMAP | (rotate & 1))
|
||||
|
||||
def show(self):
|
||||
x0 = 0
|
||||
x1 = self.width - 1
|
||||
if self.width != 128:
|
||||
# narrow displays use centred columns
|
||||
col_offset = (128 - self.width) // 2
|
||||
x0 += col_offset
|
||||
x1 += col_offset
|
||||
self.write_cmd(SET_COL_ADDR)
|
||||
self.write_cmd(x0)
|
||||
self.write_cmd(x1)
|
||||
self.write_cmd(SET_PAGE_ADDR)
|
||||
self.write_cmd(0)
|
||||
self.write_cmd(self.pages - 1)
|
||||
self.write_data(self.buffer)
|
||||
|
||||
|
||||
class SSD1306_I2C(SSD1306):
|
||||
def __init__(self, width, height, i2c, addr=0x3C, external_vcc=False):
|
||||
self.i2c = i2c
|
||||
self.addr = addr
|
||||
self.temp = bytearray(2)
|
||||
self.write_list = [b"\x40", None] # Co=0, D/C#=1
|
||||
super().__init__(width, height, external_vcc)
|
||||
|
||||
def write_cmd(self, cmd):
|
||||
self.temp[0] = 0x80 # Co=1, D/C#=0
|
||||
self.temp[1] = cmd
|
||||
self.i2c.writeto(self.addr, self.temp)
|
||||
|
||||
def write_data(self, buf):
|
||||
self.write_list[1] = buf
|
||||
self.i2c.writevto(self.addr, self.write_list)
|
||||
|
||||
|
||||
class SSD1306_SPI(SSD1306):
|
||||
def __init__(self, width, height, spi, dc, res, cs, external_vcc=False):
|
||||
self.rate = 10 * 1024 * 1024
|
||||
dc.init(dc.OUT, value=0)
|
||||
res.init(res.OUT, value=0)
|
||||
cs.init(cs.OUT, value=1)
|
||||
self.spi = spi
|
||||
self.dc = dc
|
||||
self.res = res
|
||||
self.cs = cs
|
||||
import time
|
||||
|
||||
self.res(1)
|
||||
time.sleep_ms(1)
|
||||
self.res(0)
|
||||
time.sleep_ms(10)
|
||||
self.res(1)
|
||||
super().__init__(width, height, external_vcc)
|
||||
|
||||
def write_cmd(self, cmd):
|
||||
self.spi.init(baudrate=self.rate, polarity=0, phase=0)
|
||||
self.cs(1)
|
||||
self.dc(0)
|
||||
self.cs(0)
|
||||
self.spi.write(bytearray([cmd]))
|
||||
self.cs(1)
|
||||
|
||||
def write_data(self, buf):
|
||||
self.spi.init(baudrate=self.rate, polarity=0, phase=0)
|
||||
self.cs(1)
|
||||
self.dc(1)
|
||||
self.cs(0)
|
||||
self.spi.write(buf)
|
||||
self.cs(1)
|
||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
:020000040000FA
|
||||
:10000000CF0C0200000C06000604260446040A0C6D
|
||||
:100010003200A00C3100FF0C30002605460412020D
|
||||
:100020003300F302110A04002604460512023300CD
|
||||
:10003000F302180AF0020D0AF1020B0AF202090A91
|
||||
:100040000605FF0C3300F302230A060426044604C7
|
||||
:10005000140C3400040003000000F4022A0A070A0A
|
||||
:021FFE00EF0FE3
|
||||
:00000001FF
|
||||
@@ -0,0 +1,249 @@
|
||||
gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 1
|
||||
|
||||
|
||||
LOC OBJECT CODE LINE SOURCE TEXT
|
||||
VALUE
|
||||
|
||||
00001 ; ******************************************************************
|
||||
00002 ; Scacciazanzare with a PIC10F200
|
||||
00003 ; 2016-08-11 (c) Paolo Iocco
|
||||
00004 ; ******************************************************************
|
||||
00005 ;
|
||||
00006 ; Circuit diagram
|
||||
00007 ; ---------------
|
||||
00008 ; +--\/--+
|
||||
00009 ; LED <----------|1° 6|<--------|50K|---+5V
|
||||
00010 ; GND ---------->|2 5|<------- +5V
|
||||
00011 ; BUZ1 <---------|3 4|-------> BUZ2
|
||||
00012 ; +------+
|
||||
00013 ;
|
||||
00014 ; ******************************************************************
|
||||
00015
|
||||
00016 INCLUDE "p10f200.inc" ; include le definizioni standard
|
||||
00001 LIST
|
||||
00002
|
||||
00003 ;==========================================================================
|
||||
00004 ; Build date : Aug 07 2014
|
||||
00005 ; MPASM PIC10F200 processor include
|
||||
00006 ;
|
||||
00007 ; (c) Copyright 1999-2014 Microchip Technology, All rights reserved
|
||||
00008 ;==========================================================================
|
||||
00009
|
||||
00152 LIST
|
||||
00017 list p=10F200 ; Processoer utilizzato
|
||||
00018 ;errorlevel -302 ;suppress message "Bank Switch Check"
|
||||
0FFF 0FEF 00019 __CONFIG _IntRC_OSC & _WDT_ON & _CP_OFF & _MCLRE_OFF
|
||||
00020
|
||||
00021 ; - - - - -
|
||||
00000010 00022 ciclo_l EQU 0x10 ; primo valore RAM (0x10-0x1F)
|
||||
00000011 00023 ciclo_h EQU 0x11
|
||||
00000012 00024 periodo EQU 0x12
|
||||
00000013 00025 dummy EQU 0x13
|
||||
00000014 00026 dormi EQU 0x14
|
||||
00027
|
||||
00028 #define LED GPIO,0
|
||||
00029 #define BUZ1 GPIO,1
|
||||
00030 #define BUZ2 GPIO,2
|
||||
00031
|
||||
0000 00032 org 0x00
|
||||
0000 00033 Start:
|
||||
0000 0CCF 00034 movlw b'11001111' ; PSA + Prescaler 111 (1:128)
|
||||
0001 0002 00035 option
|
||||
0002 0C00 00036 movlw b'0000' ; set GPIO full OUT
|
||||
0003 0006 00037 tris GPIO
|
||||
00038
|
||||
0004 0406 00039 bcf LED ; set LED off
|
||||
0005 0426 00040 bcf BUZ1 ; set BUZ1 off
|
||||
0006 0446 00041 bcf BUZ2 ; set BUZ2 off
|
||||
00042
|
||||
0007 00043 Loop:
|
||||
gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 2
|
||||
|
||||
|
||||
LOC OBJECT CODE LINE SOURCE TEXT
|
||||
VALUE
|
||||
|
||||
00044 ; ** emette i suoni da ca. 63KHz a 15KHz (ciclo: 1=63,3KHz, 10=15,7KHz)
|
||||
0007 0C0A 00045 movlw d'10' ; Invia 10 trame di durata diversa
|
||||
0008 0032 00046 movwf periodo
|
||||
00047
|
||||
0009 00048 Trama:
|
||||
0009 0CA0 00049 movlw d'160' ; 160*256 periodi per frequenza
|
||||
000A 0031 00050 movwf ciclo_h
|
||||
00051
|
||||
000B 00052 Ciclo_High:
|
||||
000B 0CFF 00053 movlw d'255' ; ciclo interno
|
||||
000C 0030 00054 movwf ciclo_l
|
||||
00055
|
||||
000D 00056 Ciclo_Low:
|
||||
00057 ; * ************ *
|
||||
00058 ; * Periodo ON *
|
||||
00059 ; * ************ *
|
||||
000D 0526 00060 bsf BUZ1 ; set BUZ1 on
|
||||
000E 0446 00061 bcf BUZ2 ; set BUZ2 off
|
||||
000F 0212 00062 movf periodo,w
|
||||
0010 0033 00063 movwf dummy
|
||||
0011 00064 OUT_ON:
|
||||
0011 02F3 00065 decfsz dummy,f
|
||||
0012 0A11 00066 goto OUT_ON
|
||||
0013 0004 00067 clrwdt ; clrwdt qui per equilibrare le durate ON ed OFF
|
||||
00068 ; * ************* *
|
||||
00069 ; * Periodo OFF *
|
||||
00070 ; * ************* *
|
||||
0014 0426 00071 bcf BUZ1 ; set BUZ1 off
|
||||
0015 0546 00072 bsf BUZ2 ; set BUZ2 on
|
||||
0016 0212 00073 movf periodo,w
|
||||
0017 0033 00074 movwf dummy
|
||||
0018 00075 OUT_OFF:
|
||||
0018 02F3 00076 decfsz dummy,f
|
||||
0019 0A18 00077 goto OUT_OFF
|
||||
00078 ; * NEXT Ciclo Low
|
||||
001A 02F0 00079 decfsz ciclo_l,f
|
||||
001B 0A0D 00080 goto Ciclo_Low
|
||||
00081 ; * NEXT Ciclo High
|
||||
001C 02F1 00082 decfsz ciclo_h,f
|
||||
001D 0A0B 00083 goto Ciclo_High
|
||||
00084 ; * NEXT Trama
|
||||
001E 02F2 00085 decfsz periodo,f
|
||||
001F 0A09 00086 goto Trama
|
||||
00087
|
||||
00088 ; * ************* *
|
||||
00089 ; * Lampeggio LED *
|
||||
00090 ; * ************* *
|
||||
0020 0506 00091 bsf LED ; set LED on
|
||||
0021 0CFF 00092 movlw d'255' ; Pausa (ca. xxx ms)
|
||||
0022 0033 00093 movwf dummy
|
||||
0023 00094 LED_ON:
|
||||
0023 02F3 00095 decfsz dummy,f
|
||||
0024 0A23 00096 goto LED_ON
|
||||
gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 3
|
||||
|
||||
|
||||
LOC OBJECT CODE LINE SOURCE TEXT
|
||||
VALUE
|
||||
|
||||
00097
|
||||
00098 ; * ****************** *
|
||||
00099 ; * Preparazione SLEEP *
|
||||
00100 ; * ****************** *
|
||||
0025 0406 00101 bcf LED ; set LED off
|
||||
0026 0426 00102 bcf BUZ1 ; set BUZ1 off
|
||||
0027 0446 00103 bcf BUZ2 ; set BUZ2 off
|
||||
00104 ; * dorme per 20 cicli di watchdog
|
||||
0028 0C14 00105 movlw d'20'
|
||||
0029 0034 00106 movwf dormi
|
||||
002A 00107 Ciclo_Sleep:
|
||||
002A 0004 00108 clrwdt
|
||||
002B 0003 00109 sleep
|
||||
002C 0000 00110 nop
|
||||
002D 02F4 00111 decfsz dormi,f
|
||||
002E 0A2A 00112 goto Ciclo_Sleep
|
||||
00113
|
||||
00114 ; * Torna al ciclo principale
|
||||
002F 0A07 00115 goto loop
|
||||
00116 end
|
||||
gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 4
|
||||
|
||||
|
||||
SYMBOL TABLE
|
||||
LABEL VALUE
|
||||
|
||||
BUZ1 GPIO,1
|
||||
BUZ2 GPIO,2
|
||||
C 00000000
|
||||
CAL0 00000001
|
||||
CAL1 00000002
|
||||
CAL2 00000003
|
||||
CAL3 00000004
|
||||
CAL4 00000005
|
||||
CAL5 00000006
|
||||
CAL6 00000007
|
||||
Ciclo_High 0000000B
|
||||
Ciclo_Low 0000000D
|
||||
Ciclo_Sleep 0000002A
|
||||
DC 00000001
|
||||
F 00000001
|
||||
FOSC4 00000000
|
||||
FSR 00000004
|
||||
GP0 00000000
|
||||
GP1 00000001
|
||||
GP2 00000002
|
||||
GP3 00000003
|
||||
GPIO 00000006
|
||||
GPWUF 00000007
|
||||
INDF 00000000
|
||||
LED GPIO,0
|
||||
LED_ON 00000023
|
||||
Loop 00000007
|
||||
NOT_GPPU 00000006
|
||||
NOT_GPWU 00000007
|
||||
NOT_PD 00000003
|
||||
NOT_TO 00000004
|
||||
OSCCAL 00000005
|
||||
OUT_OFF 00000018
|
||||
OUT_ON 00000011
|
||||
PCL 00000002
|
||||
PS0 00000000
|
||||
PS1 00000001
|
||||
PS2 00000002
|
||||
PSA 00000003
|
||||
STATUS 00000003
|
||||
Start 00000000
|
||||
T0CS 00000005
|
||||
T0SE 00000004
|
||||
TMR0 00000001
|
||||
TRISIO0 00000000
|
||||
TRISIO1 00000001
|
||||
TRISIO2 00000002
|
||||
TRISIO3 00000003
|
||||
Trama 00000009
|
||||
W 00000000
|
||||
Z 00000002
|
||||
_CONFIG 00000FFF
|
||||
_CP_OFF 00000FFF
|
||||
gpasm-1.4.0 #1107 (Jan 1 2021) 10f200-Scacci 10-19-2025 22:01:49 PAGE 5
|
||||
|
||||
|
||||
SYMBOL TABLE
|
||||
LABEL VALUE
|
||||
|
||||
_CP_ON 00000FF7
|
||||
_IDLOC0 00000100
|
||||
_IDLOC1 00000101
|
||||
_IDLOC2 00000102
|
||||
_IDLOC3 00000103
|
||||
_IntRC_OSC 00000FFF
|
||||
_MCLRE_OFF 00000FEF
|
||||
_MCLRE_ON 00000FFF
|
||||
_OSC_IntRC 00000FFF
|
||||
_WDTE_OFF 00000FFB
|
||||
_WDTE_ON 00000FFF
|
||||
_WDT_OFF 00000FFB
|
||||
_WDT_ON 00000FFF
|
||||
__10F200 00000001
|
||||
__CODE_END 000000FF
|
||||
__CODE_START 00000000
|
||||
__VECTOR_RESET 00000000
|
||||
ciclo_h 00000011
|
||||
ciclo_l 00000010
|
||||
dormi 00000014
|
||||
dummy 00000013
|
||||
periodo 00000012
|
||||
|
||||
|
||||
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
|
||||
|
||||
0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX ----------------
|
||||
0FC0 : ---------------- ---------------- ---------------- ---------------X
|
||||
|
||||
All other memory blocks unused.
|
||||
|
||||
Program Memory Words Used: 48
|
||||
Program Memory Words Free: 208
|
||||
|
||||
|
||||
Errors : 0
|
||||
Warnings : 0 reported, 0 suppressed
|
||||
Messages : 0 reported, 0 suppressed
|
||||
|
||||
|
||||
BIN
trunk/workspace/09_3D-Draws/ACSI2SD/ACSI2SD.FCStd
Normal file
BIN
trunk/workspace/09_3D-Draws/ACSI2SD/ACSI2SD.FCStd
Normal file
Binary file not shown.
BIN
trunk/workspace/09_3D-Draws/ACSI2SD/ACSI2SD.stl
Normal file
BIN
trunk/workspace/09_3D-Draws/ACSI2SD/ACSI2SD.stl
Normal file
Binary file not shown.
32930
trunk/workspace/09_3D-Draws/ACSI2SD/WT_ACSI2SD.gcode
Normal file
32930
trunk/workspace/09_3D-Draws/ACSI2SD/WT_ACSI2SD.gcode
Normal file
File diff suppressed because it is too large
Load Diff
BIN
trunk/workspace/09_3D-Draws/Airbus/Airbus.FCStd1
Normal file
BIN
trunk/workspace/09_3D-Draws/Airbus/Airbus.FCStd1
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
201004
trunk/workspace/09_3D-Draws/Orange_Pi_Zero_big_case/files/WT_OpiZero.gcode
Normal file
201004
trunk/workspace/09_3D-Draws/Orange_Pi_Zero_big_case/files/WT_OpiZero.gcode
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/BlendBlind.stl
Normal file
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/BlendBlind.stl
Normal file
Binary file not shown.
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/BlendBlind2.stl
Normal file
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/BlendBlind2.stl
Normal file
Binary file not shown.
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/BlendSwitch.stl
Normal file
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/BlendSwitch.stl
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/Blind.FCStd
Normal file
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/Blind.FCStd
Normal file
Binary file not shown.
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/Blind2.FCStd
Normal file
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/Blind2.FCStd
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/Switch.FCStd
Normal file
BIN
trunk/workspace/09_3D-Draws/Plus4_BMC/Switch.FCStd
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
15063
trunk/workspace/09_3D-Draws/Plus4_BMC/WT_BlendRest.gcode
Normal file
15063
trunk/workspace/09_3D-Draws/Plus4_BMC/WT_BlendRest.gcode
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -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
|
||||
period 5 4 0
|
||||
slash 6 7 0
|
||||
Shift_R 6 4 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
|
||||
|
||||
# Quinta Riga (Barra Spazio e Speciali)
|
||||
Super_L 7 5 8
|
||||
space 7 4 8
|
||||
Escape 7 7 8
|
||||
# --- 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
|
||||
|
||||
# Cursori (Simulazione 4 frecce su 2 tasti C64)
|
||||
Up 0 0 1
|
||||
Down 0 0 0
|
||||
Left 0 2 1
|
||||
Right 0 2 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
|
||||
colon 5 5 0 # [ : ] (C64: R5, C5)
|
||||
minus 5 0 0 # [ - ] (C64: R5, C0)
|
||||
comma 5 7 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 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)
|
||||
|
||||
@@ -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
|
||||
period 5 4 0
|
||||
slash 6 7 0
|
||||
Shift_R 6 4 8
|
||||
# --- 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
|
||||
|
||||
# Quinta Fila (Spazio e tasti speciali)
|
||||
Super_L 7 5 8
|
||||
space 7 4 8
|
||||
Escape 7 7 8
|
||||
# --- 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
|
||||
|
||||
# Cursori (Frecce)
|
||||
Up 6 6 8
|
||||
Down 0 3 8
|
||||
Left 7 1 8
|
||||
Right 0 2 8
|
||||
# --- 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
|
||||
|
||||
# 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)
|
||||
|
||||
102
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keyboard.json
Normal file
102
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keyboard.json
Normal file
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"keyboard_name": "cbm2pc",
|
||||
"manufacturer": "Pennuto",
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"url": "",
|
||||
"maintainer": "Pennuto",
|
||||
"features": {
|
||||
"bootmagic": true
|
||||
},
|
||||
"bootmagic": {
|
||||
"matrix": [0, 1]
|
||||
},
|
||||
"usb": {
|
||||
"vid": "0xFEED",
|
||||
"pid": "0x0004",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2"],
|
||||
"rows": ["GP0", "GP1", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "INST/DEL", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "RETURN", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "CRSR RIGHT", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "CRSR DOWN", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "F1/F4", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "F2/F5", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "F3/F6", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "@", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
|
||||
{"label": "3", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "W", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "A", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "4", "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"label": "Z", "matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"label": "S", "matrix": [1, 5], "x": 5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 6], "x": 6, "y": 1},
|
||||
{"label": "LSHIFT", "matrix": [1, 7], "x": 7, "y": 1},
|
||||
|
||||
{"label": "5", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "R", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "D", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"label": "6", "matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"label": "C", "matrix": [2, 4], "x": 4, "y": 2},
|
||||
{"label": "F", "matrix": [2, 5], "x": 5, "y": 2},
|
||||
{"label": "T", "matrix": [2, 6], "x": 6, "y": 2},
|
||||
{"label": "X", "matrix": [2, 7], "x": 7, "y": 2},
|
||||
|
||||
{"label": "7", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "Y", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "G", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "8", "matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"label": "B", "matrix": [3, 4], "x": 4, "y": 3},
|
||||
{"label": "H", "matrix": [3, 5], "x": 5, "y": 3},
|
||||
{"label": "U", "matrix": [3, 6], "x": 6, "y": 3},
|
||||
{"label": "V", "matrix": [3, 7], "x": 7, "y": 3},
|
||||
|
||||
{"label": "9", "matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"label": "I", "matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"label": "J", "matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"label": "0", "matrix": [4, 3], "x": 3, "y": 4},
|
||||
{"label": "M", "matrix": [4, 4], "x": 4, "y": 4},
|
||||
{"label": "K", "matrix": [4, 5], "x": 5, "y": 4},
|
||||
{"label": "O", "matrix": [4, 6], "x": 6, "y": 4},
|
||||
{"label": "N", "matrix": [4, 7], "x": 7, "y": 4},
|
||||
|
||||
{"label": "PLUS", "matrix": [5, 0], "x": 0, "y": 5},
|
||||
{"label": "P", "matrix": [5, 1], "x": 1, "y": 5},
|
||||
{"label": "L", "matrix": [5, 2], "x": 2, "y": 5},
|
||||
{"label": "MINUS", "matrix": [5, 3], "x": 3, "y": 5},
|
||||
{"label": "DOT", "matrix": [5, 4], "x": 4, "y": 5},
|
||||
{"label": "COLON", "matrix": [5, 5], "x": 5, "y": 5},
|
||||
{"label": "BRACKET L", "matrix": [5, 6], "x": 6, "y": 5},
|
||||
{"label": "COMMA", "matrix": [5, 7], "x": 7, "y": 5},
|
||||
|
||||
{"label": "POUND", "matrix": [6, 0], "x": 0, "y": 6},
|
||||
{"label": "BRACKET R", "matrix": [6, 1], "x": 1, "y": 6},
|
||||
{"label": "SEMICOLON", "matrix": [6, 2], "x": 2, "y": 6},
|
||||
{"label": "HOME", "matrix": [6, 3], "x": 3, "y": 6},
|
||||
{"label": "RSHIFT", "matrix": [6, 4], "x": 4, "y": 6},
|
||||
{"label": "EQUAL", "matrix": [6, 5], "x": 5, "y": 6},
|
||||
{"label": "UP-ARROW", "matrix": [6, 6], "x": 6, "y": 6},
|
||||
{"label": "SLASH", "matrix": [6, 7], "x": 7, "y": 6},
|
||||
|
||||
{"label": "1", "matrix": [7, 0], "x": 0, "y": 7},
|
||||
{"label": "LEFT-ARROW", "matrix": [7, 1], "x": 1, "y": 7},
|
||||
{"label": "CTRL", "matrix": [7, 2], "x": 2, "y": 7},
|
||||
{"label": "2", "matrix": [7, 3], "x": 3, "y": 7},
|
||||
{"label": "SPACE", "matrix": [7, 4], "x": 4, "y": 7},
|
||||
{"label": "COMMODORE", "matrix": [7, 5], "x": 5, "y": 7},
|
||||
{"label": "Q", "matrix": [7, 6], "x": 6, "y": 7},
|
||||
{"label": "RUN/STOP", "matrix": [7, 7], "x": 7, "y": 7}
|
||||
]
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
/* *************************************************************** *
|
||||
* Tastiera QMK on Commodore Plus/4 HW for BMC and other emulators *
|
||||
* --------------------------------------------------------------- *
|
||||
* (C)13.04.2026 - Paolo Iocco *
|
||||
* *************************************************************** */
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define L_GREEN GP27
|
||||
#define L_RED GP28
|
||||
#define PC 0 /* PC Compatible Mode */
|
||||
#define CKEY 1 /* PC Commodore Key (Control)*/
|
||||
#define SHIFT 2 /* PC shift mode */
|
||||
#define C64 3 /* Commodore mode */
|
||||
#define CSHIFT 4 /* Commodore-Shift mode */
|
||||
#define CBM 15 /* Commodore Key pressed in Emulation mode. Allows to go back to PC Mode pressing C= & Control. */
|
||||
|
||||
/* **************** *
|
||||
* Inizializzazione *
|
||||
* **************** */
|
||||
void keyboard_post_init_user(void) {
|
||||
// Imposta GP28/27/26 come output
|
||||
palSetPadMode(PAL_PORT(L_GREEN), PAL_PAD(L_GREEN), PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(PAL_PORT(L_RED), PAL_PAD(L_RED), PAL_MODE_OUTPUT_PUSHPULL);
|
||||
// Stato iniziale: Accendi GREEN, Spegni RED
|
||||
palSetLine(L_GREEN);
|
||||
palClearLine(L_RED);
|
||||
}
|
||||
|
||||
/* ************************************ *
|
||||
* Gestione LED in base al Layer attivo *
|
||||
* ************************************ */
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// Controlla quale layer è attivo
|
||||
switch (get_highest_layer(state)) {
|
||||
case C64:
|
||||
case CSHIFT:
|
||||
palClearLine(L_GREEN); // Spegni LED GREEN
|
||||
palSetLine(L_RED); // Accendi LED RED
|
||||
break;
|
||||
case CKEY:
|
||||
case CBM:
|
||||
palSetLine(L_GREEN); // Accendi LED GREEN)
|
||||
palSetLine(L_RED); // Accendi LED RED
|
||||
break;
|
||||
default:
|
||||
palSetLine(L_GREEN); // Accendi LED GREEN)
|
||||
palClearLine(L_RED); // Spegni LED RED
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
/* ******* *
|
||||
* Layouts *
|
||||
* ******* */
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[PC] = LAYOUT(
|
||||
KC_1, KC_HOME, KC_TAB, KC_LALT, KC_SPC, LT(CKEY,KC_LCTL), KC_Q, KC_2,
|
||||
KC_3, KC_W, KC_A, MO(SHIFT), KC_Z, KC_S, KC_E, KC_4,
|
||||
KC_5, KC_R, KC_D, KC_X, KC_C, KC_F, KC_T, KC_6,
|
||||
KC_7, KC_Y, KC_G, KC_V, KC_B, KC_H, KC_U, KC_8,
|
||||
KC_9, KC_I, KC_J, KC_N, KC_M, KC_K, KC_O, KC_0,
|
||||
KC_DOWN, KC_P, KC_L, KC_COMM, KC_DOT, KC_COLON, KC_MINS, KC_UP,
|
||||
KC_LEFT, KC_ASTR, KC_SCLN, KC_SLSH, KC_ESC, KC_EQL, KC_PLUS, KC_RGHT,
|
||||
KC_BSPC, KC_ENT, KC_BSLS, S(KC_2), KC_F1, KC_F2, KC_F3, KC_F4
|
||||
),
|
||||
|
||||
[CKEY] = LAYOUT(
|
||||
_______, _______, TO(C64), LCTL(KC_F8), _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, LCTL(KC_D), LCTL(KC_X), LCTL(KC_C), _______, _______, _______,
|
||||
_______, _______, _______, LCTL(KC_V), _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
MS_DOWN, _______, _______, _______, MS_BTN1, S(KC_LBRC), KC_TILD, MS_UP,
|
||||
MS_LEFT, _______, S(KC_RBRC), MS_BTN2, _______, _______, _______, MS_RGHT,
|
||||
_______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12
|
||||
),
|
||||
|
||||
[SHIFT] = LAYOUT(
|
||||
KC_EXLM, KC_TILD, _______, _______, S(KC_SPC), _______, S(KC_Q), KC_DQUO,
|
||||
KC_HASH, S(KC_W), S(KC_A), _______, S(KC_Z), S(KC_S), S(KC_E), KC_DLR,
|
||||
KC_PERC, S(KC_R), S(KC_D), S(KC_X), S(KC_C), S(KC_F), S(KC_T), KC_AMPR,
|
||||
KC_QUOT, S(KC_Y), S(KC_G), S(KC_V), S(KC_B), S(KC_H), S(KC_U), KC_LPRN,
|
||||
KC_RPRN, S(KC_I), S(KC_J), S(KC_N), S(KC_M), S(KC_K), S(KC_O), KC_CIRC,
|
||||
_______, S(KC_P), S(KC_L), KC_LABK, KC_RABK, KC_LBRC, S(KC_MINS), _______,
|
||||
KC_PIPE, _______, KC_RBRC, KC_QUES, _______, _______, _______, _______,
|
||||
S(KC_DEL), S(KC_ENT), _______, _______, KC_F5, KC_F6, KC_F7, KC_F8
|
||||
),
|
||||
|
||||
[C64] = LAYOUT(
|
||||
KC_1, KC_HOME, KC_TAB, KC_LALT, KC_SPC, LM(CBM,MOD_LCTL), KC_Q, KC_2,
|
||||
KC_3, KC_W, KC_A, LM(CSHIFT,MOD_LSFT), KC_Z, KC_S, KC_E, KC_4,
|
||||
KC_5, KC_R, KC_D, KC_X, KC_C, KC_F, KC_T, KC_6,
|
||||
KC_7, KC_Y, KC_G, KC_V, KC_B, KC_H, KC_U, KC_8,
|
||||
KC_9, KC_I, KC_J, KC_N, KC_M, KC_K, KC_O, KC_0,
|
||||
KC_DOWN, KC_P, KC_L, KC_COMM, KC_DOT, KC_COLON, KC_MINS, KC_UP,
|
||||
KC_LEFT, KC_ASTR, KC_SCLN, KC_SLSH, KC_ESC, KC_EQL, KC_PLUS, KC_RGHT,
|
||||
KC_BSPC, KC_ENT, KC_BSLS, KC_AT, KC_F1, KC_F2, KC_F3, KC_F7
|
||||
),
|
||||
|
||||
[CSHIFT] = LAYOUT(
|
||||
KC_EXLM, S(KC_HOME), _______, _______, S(KC_SPC), _______, S(KC_Q), KC_DQUO,
|
||||
KC_HASH, S(KC_W), S(KC_A), _______, S(KC_Z), S(KC_S), S(KC_E), KC_DLR,
|
||||
KC_PERC, S(KC_R), S(KC_D), S(KC_X), S(KC_C), S(KC_F), S(KC_T), KC_AMPR,
|
||||
KC_QUOT, S(KC_Y), S(KC_G), S(KC_V), S(KC_B), S(KC_H), S(KC_U), KC_LPRN,
|
||||
KC_RPRN, S(KC_I), S(KC_J), S(KC_N), S(KC_M), S(KC_K), S(KC_O), KC_CIRC,
|
||||
_______, S(KC_P), S(KC_L), KC_LABK, KC_RABK, KC_LBRC, _______, _______,
|
||||
KC_PIPE, _______, KC_RBRC, KC_QUES, _______, _______, _______, _______,
|
||||
S(KC_DEL), S(KC_ENT), _______, _______, KC_F5, KC_F6, KC_F7, KC_F8
|
||||
),
|
||||
|
||||
[CBM] = LAYOUT(
|
||||
_______, _______, TO(PC), _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, KC_PGUP, _______, _______, KC_F12
|
||||
)
|
||||
};
|
||||
|
||||
27
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/readme.md
Normal file
27
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/readme.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# cbm2pc
|
||||
|
||||

|
||||
|
||||
*A short description of the keyboard/project*
|
||||
|
||||
* Keyboard Maintainer: [Pennuto](https://github.com/Pennuto)
|
||||
* Hardware Supported: *The PCBs, controllers supported*
|
||||
* Hardware Availability: *Links to where you can find this hardware*
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make cbm2pc:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make cbm2pc:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/rules.mk
Normal file
1
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
MOUSEKEY_ENABLE = yes
|
||||
BIN
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc_default.uf2
Normal file
BIN
trunk/workspace/BMC/Keyboard_Paolo/cbm2pc_default.uf2
Normal file
Binary file not shown.
@@ -0,0 +1,327 @@
|
||||
# GTK3-VICE keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE GTK3 v3.4
|
||||
# Mapped for positional compatibility to C-128 Keyboards.
|
||||
# Based on C64 Positional Layout.
|
||||
# Keys not present in C-64 (like NumPad Keys, ESC, TAB) are accessed with Right Shift Key.
|
||||
#
|
||||
# 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)
|
||||
# '!LCTRL row col' left control keyboard row/column
|
||||
# '!VCTRL ctrlkey' virtual control key (LCTRL)
|
||||
# '!LCBM row col' left CBM keyboard row/column
|
||||
# '!VCBM cbmkey' virtual CBM key (LCBM)
|
||||
# '!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 key is shift-lock on emulated machine
|
||||
# 128 shift modifier required on host
|
||||
# 256 key is used for an alternative keyboard mapping
|
||||
# 512 alt-r (alt-gr) modifier required on host
|
||||
# 1024 ctrl modifier required on host
|
||||
# 2048 key is combined with cbm for this keysym/scancode
|
||||
# 4096 key is combined with ctrl for this keysym/scancode
|
||||
# 8192 key is (left) cbm on emulated machine
|
||||
# 16384 key is (left) ctrl on emulated machine
|
||||
#
|
||||
# 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
|
||||
# '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.
|
||||
|
||||
# Positional Mapping, US Layout, C128, X11
|
||||
|
||||
# C128 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 |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
#
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 8 |HELP | KP 8| KP 5| TAB | KP 2| KP 4| KP 7| KP 1|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 9 | ESC | KP +| KP -| LF |KP CR| KP 6| KP 9| KP 3|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 10| ALT | KP 0| KP .|A.UP |A.DWN|A.LFT|A.RGT|NOSCR|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 7
|
||||
!RSHIFT 6 4
|
||||
!VSHIFT RSHIFT
|
||||
|
||||
|
||||
|
||||
# 40/80 column key
|
||||
F6 -4 0
|
||||
|
||||
# CAPS LOCK (ASCII/DIN) key
|
||||
F10 -4 1
|
||||
|
||||
####################
|
||||
# Restore key mappings
|
||||
Page_Up -3 0
|
||||
|
||||
#####################
|
||||
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
|
||||
|
||||
BackSpace 0 0 8
|
||||
Return 0 1 8
|
||||
Right 0 2 8
|
||||
F1 0 4 8
|
||||
F3 0 5 8
|
||||
F5 0 6 8
|
||||
F7 0 3 8
|
||||
Down 0 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
|
||||
|
||||
numbersign 1 0 8
|
||||
dollar 1 3 8
|
||||
Shift_L 1 7 2
|
||||
|
||||
#####################
|
||||
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
|
||||
|
||||
percent 2 0 8
|
||||
asciicircum 2 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
|
||||
|
||||
ampersand 3 0 8
|
||||
asterisk 3 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
|
||||
|
||||
parenleft 4 0 8
|
||||
parenright 4 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
|
||||
|
||||
underscore 5 0 8
|
||||
minus 5 0 8
|
||||
plus 5 3 8
|
||||
equal 5 3 8
|
||||
period 5 4 8
|
||||
greater 5 4 1
|
||||
semicolon 5 5 8
|
||||
colon 5 5 8
|
||||
braceleft 5 6 8
|
||||
bracketleft 5 6 8
|
||||
comma 5 7 8
|
||||
less 5 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
|
||||
|
||||
|
||||
Insert 6 0 8
|
||||
braceright 6 1 8
|
||||
bracketright 6 1 8
|
||||
apostrophe 6 2 8
|
||||
quotedbl 6 2 8
|
||||
Home 6 3 8
|
||||
Shift_R 6 4 4
|
||||
backslash 6 5 8
|
||||
bar 6 5 8
|
||||
Delete 6 6 8
|
||||
question 6 7 8
|
||||
slash 6 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
|
||||
|
||||
exclam 7 0 8
|
||||
dead_grave 7 1 8 # Arrow_LFT <-
|
||||
dead_perispomeni 7 1 8 # Arrow_LFT <-
|
||||
Tab 7 2 8 # Control <-
|
||||
at 7 3 8
|
||||
space 7 4 8
|
||||
Control_L 7 5 8 # CBM Key
|
||||
Escape 7 7 8 # RUN/STOP <-
|
||||
|
||||
#####################
|
||||
# |Bit 8 |HELP | KP 8| KP 5| TAB | KP 2| KP 4| KP 7| KP 1|
|
||||
|
||||
F2 8 0 8
|
||||
KP_8 8 1 8
|
||||
KP_5 8 2 8
|
||||
F11 8 3 8 # TAB <-
|
||||
KP_2 8 4 8
|
||||
KP_4 8 5 8
|
||||
KP_7 8 6 8
|
||||
KP_1 8 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 9 | ESC | KP +| KP -| LF |KP CR| KP 6| KP 9| KP 3|
|
||||
|
||||
KP_Multiply 9 0 8
|
||||
KP_Add 9 1 8
|
||||
KP_Subtract 9 2 8
|
||||
F4 9 3 8
|
||||
KP_Enter 9 4 8
|
||||
KP_6 9 5 8
|
||||
KP_9 9 6 8
|
||||
KP_3 9 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 10| ALT | KP 0| KP .|A.UP |A.DWN|A.LFT|A.RGT|NOSCR|
|
||||
|
||||
F9 10 0 8
|
||||
KP_0 10 1 8
|
||||
KP_Decimal 10 2 8
|
||||
Up 10 3 8
|
||||
#Down 10 4 8
|
||||
Left 10 5 8
|
||||
#Right 10 6 8
|
||||
KP_Divide 10 7 8
|
||||
|
||||
|
||||
####################
|
||||
# Dead keys support for those using US-International keyboard layout.
|
||||
dead_circumflex 2 3 8 # &
|
||||
dead_acute 6 2 8 # ;
|
||||
dead_diaeresis 6 2 8 # ]
|
||||
grave 7 1 8 # Arrow_LFT <-
|
||||
asciitilde 7 1 8 # Arrow_LFT <-
|
||||
|
||||
|
||||
#####################
|
||||
# letters and numbers
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
@@ -0,0 +1,330 @@
|
||||
# GTK3-VICE keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE GTK3 v3.4
|
||||
# Mapped for positional compatibility to C-128 Keyboards.
|
||||
# Based on C64 Positional Layout.
|
||||
# Keys not present in C-64 (like NumPad Keys, ESC, TAB) are accessed with Right Shift Key.
|
||||
#
|
||||
# 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)
|
||||
# '!LCTRL row col' left control keyboard row/column
|
||||
# '!VCTRL ctrlkey' virtual control key (LCTRL)
|
||||
# '!LCBM row col' left CBM keyboard row/column
|
||||
# '!VCBM cbmkey' virtual CBM key (LCBM)
|
||||
# '!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 key is shift-lock on emulated machine
|
||||
# 128 shift modifier required on host
|
||||
# 256 key is used for an alternative keyboard mapping
|
||||
# 512 alt-r (alt-gr) modifier required on host
|
||||
# 1024 ctrl modifier required on host
|
||||
# 2048 key is combined with cbm for this keysym/scancode
|
||||
# 4096 key is combined with ctrl for this keysym/scancode
|
||||
# 8192 key is (left) cbm on emulated machine
|
||||
# 16384 key is (left) ctrl on emulated machine
|
||||
#
|
||||
# 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
|
||||
# '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.
|
||||
|
||||
# Positional Mapping, US Layout, C128, X11
|
||||
|
||||
# C128 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 |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
#
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 8 |HELP | KP 8| KP 5| TAB | KP 2| KP 4| KP 7| KP 1|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 9 | ESC | KP +| KP -| LF |KP CR| KP 6| KP 9| KP 3|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 10| ALT | KP 0| KP .|A.UP |A.DWN|A.LFT|A.RGT|NOSCR|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 7
|
||||
!RSHIFT 6 4
|
||||
!VSHIFT RSHIFT
|
||||
!LCTRL 7 2
|
||||
!VCTRL LCTRL
|
||||
!LCBM 7 5
|
||||
!VCBM LCBM
|
||||
|
||||
|
||||
# 40/80 column key
|
||||
F6 -4 0
|
||||
|
||||
# CAPS LOCK (ASCII/DIN) key
|
||||
F10 -4 1
|
||||
|
||||
####################
|
||||
# Restore key mappings
|
||||
Page_Up -3 0
|
||||
|
||||
#####################
|
||||
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
|
||||
|
||||
BackSpace 0 0 8
|
||||
Return 0 1 8
|
||||
Right 0 2 8
|
||||
F1 0 4 8
|
||||
F3 0 5 8
|
||||
F5 0 6 8
|
||||
F7 0 3 8
|
||||
Down 0 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
|
||||
|
||||
numbersign 1 0 8
|
||||
dollar 1 3 8
|
||||
Shift_L 1 7 2
|
||||
|
||||
#####################
|
||||
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
|
||||
|
||||
percent 2 0 8
|
||||
asciicircum 2 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
|
||||
|
||||
ampersand 3 0 8
|
||||
asterisk 3 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
|
||||
|
||||
parenleft 4 0 8
|
||||
parenright 4 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
|
||||
|
||||
underscore 5 0 8
|
||||
minus 5 0 8
|
||||
plus 5 3 8
|
||||
equal 5 3 8
|
||||
period 5 4 8
|
||||
greater 5 4 1
|
||||
semicolon 5 5 8
|
||||
colon 5 5 8
|
||||
braceleft 5 6 8
|
||||
bracketleft 5 6 8
|
||||
comma 5 7 8
|
||||
less 5 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
|
||||
|
||||
|
||||
Insert 6 0 8
|
||||
braceright 6 1 8
|
||||
bracketright 6 1 8
|
||||
apostrophe 6 2 8
|
||||
quotedbl 6 2 8
|
||||
Home 6 3 8
|
||||
Shift_R 6 4 4
|
||||
backslash 6 5 8
|
||||
bar 6 5 8
|
||||
Delete 6 6 8
|
||||
question 6 7 8
|
||||
slash 6 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
|
||||
|
||||
exclam 7 0 8
|
||||
dead_grave 7 1 8 # Arrow_LFT <-
|
||||
dead_perispomeni 7 1 8 # Arrow_LFT <-
|
||||
Tab 7 2 16384 # Control <-
|
||||
at 7 3 8
|
||||
space 7 4 8
|
||||
Control_L 7 5 8192 # CBM Key
|
||||
Escape 7 7 8 # RUN/STOP <-
|
||||
|
||||
#####################
|
||||
# |Bit 8 |HELP | KP 8| KP 5| TAB | KP 2| KP 4| KP 7| KP 1|
|
||||
|
||||
F2 8 0 8
|
||||
KP_8 8 1 8
|
||||
KP_5 8 2 8
|
||||
F11 8 3 8 # TAB <-
|
||||
KP_2 8 4 8
|
||||
KP_4 8 5 8
|
||||
KP_7 8 6 8
|
||||
KP_1 8 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 9 | ESC | KP +| KP -| LF |KP CR| KP 6| KP 9| KP 3|
|
||||
|
||||
KP_Multiply 9 0 8
|
||||
KP_Add 9 1 8
|
||||
KP_Subtract 9 2 8
|
||||
F4 9 3 8
|
||||
KP_Enter 9 4 8
|
||||
KP_6 9 5 8
|
||||
KP_9 9 6 8
|
||||
KP_3 9 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 10| ALT | KP 0| KP .|A.UP |A.DWN|A.LFT|A.RGT|NOSCR|
|
||||
|
||||
F9 10 0 8
|
||||
KP_0 10 1 8
|
||||
KP_Decimal 10 2 8
|
||||
Up 10 3 8
|
||||
#Down 10 4 8
|
||||
Left 10 5 8
|
||||
#Right 10 6 8
|
||||
KP_Divide 10 7 8
|
||||
|
||||
|
||||
####################
|
||||
# Dead keys support for those using US-International keyboard layout.
|
||||
dead_circumflex 2 3 8 # &
|
||||
dead_acute 6 2 8 # ;
|
||||
dead_diaeresis 6 2 8 # ]
|
||||
grave 7 1 8 # Arrow_LFT <-
|
||||
asciitilde 7 1 8 # Arrow_LFT <-
|
||||
|
||||
|
||||
#####################
|
||||
# letters and numbers
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
@@ -0,0 +1,269 @@
|
||||
# VICE GTK3 based keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE GTK3 v3.4
|
||||
# Using default positional VICE layout.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Positional Mapping, US Layout, C64, X11
|
||||
|
||||
# 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
|
||||
|
||||
#####################
|
||||
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
|
||||
|
||||
BackSpace 0 0 8
|
||||
Return 0 1 8
|
||||
Right 0 2 8
|
||||
F7 0 3 8
|
||||
F1 0 4 8
|
||||
F3 0 5 8
|
||||
F5 0 6 8
|
||||
Down 0 7 8
|
||||
|
||||
|
||||
#####################
|
||||
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
|
||||
|
||||
numbersign 1 0 8
|
||||
dollar 1 3 8
|
||||
Shift_L 1 7 2
|
||||
|
||||
|
||||
#####################
|
||||
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
|
||||
|
||||
percent 2 0 8
|
||||
asciicircum 2 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
|
||||
|
||||
ampersand 3 0 8
|
||||
asterisk 3 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
|
||||
|
||||
parenleft 4 0 8
|
||||
parenright 4 3 8
|
||||
|
||||
#####################
|
||||
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
|
||||
|
||||
underscore 5 0 8
|
||||
minus 5 0 8
|
||||
plus 5 3 8
|
||||
equal 5 3 8
|
||||
period 5 4 8
|
||||
greater 5 4 1
|
||||
semicolon 5 5 8
|
||||
colon 5 5 8
|
||||
braceleft 5 6 8
|
||||
bracketleft 5 6 8
|
||||
comma 5 7 8
|
||||
less 5 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
|
||||
|
||||
#sterling 6 0 8
|
||||
Insert 6 0 8
|
||||
braceright 6 1 8
|
||||
bracketright 6 1 8
|
||||
apostrophe 6 2 8
|
||||
quotedbl 6 2 8
|
||||
Home 6 3 8
|
||||
Shift_R 6 4 4
|
||||
backslash 6 5 8
|
||||
bar 6 5 8
|
||||
Delete 6 6 8
|
||||
question 6 7 8
|
||||
slash 6 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
|
||||
|
||||
exclam 7 0 8
|
||||
asciitilde 7 1 8
|
||||
grave 7 1 8
|
||||
Tab 7 2 8
|
||||
ISO_Left_Tab 7 2 8
|
||||
at 7 3 8
|
||||
space 7 4 8
|
||||
Control_L 7 5 8
|
||||
Escape 7 7 8
|
||||
|
||||
#####################
|
||||
# letters and numbers
|
||||
|
||||
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
|
||||
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
|
||||
Page_Up -3 0
|
||||
----
|
||||
|
||||
# Dead keys support for those using US-International keyboard layout.
|
||||
dead_circumflex 2 3 8 # &
|
||||
dead_tilde 7 1 8 # A_LFT <-
|
||||
dead_grave 7 1 8 # A_LFT <-
|
||||
dead_acute 6 2 8 # ;
|
||||
dead_diaeresis 6 2 8 # ]
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
KP_8 -1 7 /* NumPad 8 -> UP */
|
||||
KP_2 -1 2 /* NumPad 2 -> DOWN */
|
||||
KP_4 -1 4 /* NumPad 4 -> LEFT */
|
||||
KP_6 -1 5 /* NumPad 6 -> RIGHT */
|
||||
KP_0 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
KP_7 -2 7 /* NumPad 7 -> UP */
|
||||
KP_3 -2 2 /* NumPad 3 -> DOWN */
|
||||
KP_1 -2 4 /* NumPad 1 -> LEFT */
|
||||
KP_9 -2 5 /* NumPad 9 -> RIGHT */
|
||||
KP_Decimal -2 0 /* NumPad . -> FIRE */
|
||||
@@ -0,0 +1,294 @@
|
||||
# GTK3-VICE keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE GTK3 v3.4
|
||||
# Mapped for compatibility to PET Models with Business Keyboards only (3000B, 4000B and 80000 models).
|
||||
# Based on C64 Positional Layout.
|
||||
#
|
||||
# ESCAPE is mapped to F1 Key.
|
||||
# OFF/REVERSE is mapped to F3 Key.
|
||||
# REPEAT is mapped to F5 Key.
|
||||
# Backslash is mapped to £ (Pound) Key.
|
||||
# TAB is mapped to CTRL Key.
|
||||
# NumericPad Keys (1 to 0 and Dot) are accessed by pressing Commodore Key (C=).
|
||||
# Brackets ([/]) Keys are accessed by pressing either Commodore Key (C=) ot Shift Key.
|
||||
#
|
||||
#
|
||||
# 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
|
||||
#
|
||||
|
||||
# this is a PET business (uk) keyboard mapping (positional)
|
||||
|
||||
# Business (UK) keyboard matrix:
|
||||
#
|
||||
# Keys starting with 'KP' are on the number pad.
|
||||
#
|
||||
# 0 1 2 3 4 5 6 7
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 0 | 2 | 5 | 8 | - | KP8 |crsr rgt| ^N | . |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 1 | 1 | 4 | 7 | 0 | KP7 | ^ |--------| KP9 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 2 | escape | s | f | h | ] .| k | ; .| KP5 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 3 | a | d | g | j | return | l | @ .| KP6 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 4 | tab | w | r | y | \ .| i | p | del |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 5 | q | e | t | u |crsr dwn| o | [ .| KP4 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 6 |l shift | c | b | . | KP. | ^Y |r shift | KP3 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 7 | z | v | n | , | KP0 | ^O | repeat | KP2 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 8 | RVS | x | space | m | home | ^U | / | KP1 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 9 | <-- | 3 | 6 | 9 |runstop | : |--------| ^V |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
#
|
||||
# ^N = both shifts + 2
|
||||
# ^Y = left shift + TAB + I
|
||||
# ^O = Z + A + L
|
||||
# ^U = RVS + A + L
|
||||
# ^V = TAB + <- + DEL
|
||||
|
||||
# Business (US) matrix (differences to UK)
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 2 | | | | | ; | | \ | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 3 | | | | | | | [ | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 4 | | | | | @ | | | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 5 | | | | | | | ] | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 6 0
|
||||
!RSHIFT 6 6
|
||||
!VSHIFT RSHIFT
|
||||
|
||||
Right 0 5 8
|
||||
Down 5 4 8
|
||||
Shift_L 6 0 2
|
||||
Shift_R 6 6 4
|
||||
Return 3 4 8
|
||||
|
||||
|
||||
# CLR/HOME
|
||||
Home 8 4 8
|
||||
|
||||
# RUN/STOP
|
||||
Èscape 9 4 8
|
||||
|
||||
# INST/DEL (Keymmodore maps both INST/DEL and RESTORE the same because there is no RESTORE Key in PET Keyboards).
|
||||
BackSpace 4 7 8
|
||||
|
||||
# ESCAPE (Using F1 Key)
|
||||
F1 2 0 8
|
||||
|
||||
# OFF/RVS (Using F5 Key)
|
||||
F3 8 0 8
|
||||
|
||||
# REPEAT (Using F7 Key)
|
||||
F7 7 6 8
|
||||
|
||||
# Arrow Up
|
||||
Delete 1 5 8
|
||||
|
||||
# Arrow Left
|
||||
dead_grave 9 0 0
|
||||
dead_perispomeni 9 0 1
|
||||
grave 9 0 0
|
||||
asciitilde 9 0 1
|
||||
|
||||
# TAB
|
||||
Tab 4 0 0
|
||||
ISO_Left_Tab 4 0 1
|
||||
|
||||
# Multiply/Colon (*/:)
|
||||
bracketright 9 5 1
|
||||
braceright 9 5 1
|
||||
semicolon 9 5 0
|
||||
|
||||
# At (@)
|
||||
bracketleft 3 6 0
|
||||
braceleft 3 6 0
|
||||
|
||||
# Backslash (\) (Using Pound Key)
|
||||
Insert 4 4 0
|
||||
F4 4 4 1
|
||||
|
||||
# Question/Slash (? / /)
|
||||
slash 8 6 0
|
||||
question 8 6 1
|
||||
|
||||
# Addition / Semicolon (+/;)
|
||||
minus 2 6 1
|
||||
underscore 2 6 1
|
||||
dead_acute 2 6 0
|
||||
apostrophe 2 6 0
|
||||
|
||||
# Equal / Minus (=/-)
|
||||
backslash 0 3 1
|
||||
bar 0 3 1
|
||||
equal 0 3 0
|
||||
plus 0 3 0
|
||||
|
||||
# Brace Left
|
||||
colon 5 6 1
|
||||
F10 5 6 8
|
||||
|
||||
# Brace Right
|
||||
dead_diaeresis 2 4 0
|
||||
quotedbl 2 4 0
|
||||
F11 2 4 8
|
||||
|
||||
|
||||
# Less/Comma (</,)
|
||||
less 7 3 1
|
||||
comma 7 3 0
|
||||
|
||||
# Greater/Period (>/.)
|
||||
greater 6 3 1
|
||||
period 6 3 0
|
||||
|
||||
# Space bar
|
||||
space 8 2 8
|
||||
|
||||
|
||||
# Num_Pad
|
||||
KP_1 8 7 0
|
||||
KP_2 7 7 0
|
||||
KP_3 6 7 0
|
||||
KP_4 5 7 0
|
||||
KP_5 2 7 0
|
||||
KP_6 3 7 0
|
||||
KP_7 1 4 0
|
||||
KP_8 0 4 0
|
||||
KP_9 1 7 0
|
||||
KP_0 7 4 0
|
||||
KP_Decimal 6 4 0
|
||||
|
||||
# Letters
|
||||
|
||||
a 3 0 0
|
||||
b 6 2 0
|
||||
c 6 1 0
|
||||
d 3 1 0
|
||||
e 5 1 0
|
||||
f 2 2 0
|
||||
g 3 2 0
|
||||
h 2 3 0
|
||||
i 4 5 0
|
||||
j 3 3 0
|
||||
k 2 5 0
|
||||
l 3 5 0
|
||||
m 8 3 0
|
||||
n 7 2 0
|
||||
o 5 5 0
|
||||
p 4 6 0
|
||||
q 5 0 0
|
||||
r 4 2 0
|
||||
s 2 1 0
|
||||
t 5 2 0
|
||||
u 5 3 0
|
||||
v 7 1 0
|
||||
w 4 1 0
|
||||
x 8 1 0
|
||||
y 4 3 0
|
||||
z 7 0 0
|
||||
|
||||
A 3 0 1
|
||||
B 6 2 1
|
||||
C 6 1 1
|
||||
D 3 1 1
|
||||
E 5 1 1
|
||||
F 2 2 1
|
||||
G 3 2 1
|
||||
H 2 3 1
|
||||
I 4 5 1
|
||||
J 3 3 1
|
||||
K 2 5 1
|
||||
L 3 5 1
|
||||
M 8 3 1
|
||||
N 7 2 1
|
||||
O 5 5 1
|
||||
P 4 6 1
|
||||
Q 5 0 1
|
||||
R 4 2 1
|
||||
S 2 1 1
|
||||
T 5 2 1
|
||||
U 5 3 1
|
||||
V 7 1 1
|
||||
W 4 1 1
|
||||
X 8 1 1
|
||||
Y 4 3 1
|
||||
Z 7 0 1
|
||||
|
||||
|
||||
|
||||
# Top row of keys:
|
||||
|
||||
1 1 0 0 # 1
|
||||
exclam 1 0 1 # shift 1
|
||||
2 0 0 0 # 2
|
||||
at 0 0 1 # shift 2
|
||||
3 9 1 0 # 3
|
||||
numbersign 9 1 1 # shift 3
|
||||
4 1 1 0 # 4
|
||||
dollar 1 1 1 # shift 4
|
||||
5 0 1 0 # 5
|
||||
percent 0 1 1 # shift 5
|
||||
6 9 2 0 # 6
|
||||
dead_circumflex 9 2 1 # shift 6
|
||||
asciicircum 9 2 1 # shift 6
|
||||
7 1 2 0 # 7
|
||||
ampersand 1 2 1 # shift 7
|
||||
8 0 2 0 # 8
|
||||
asterisk 0 2 1 # shift 8
|
||||
9 9 3 0 # 9
|
||||
parenleft 9 3 1 # shift 9
|
||||
0 1 3 0 # 0
|
||||
parenright 1 3 1 # shift 0
|
||||
|
||||
|
||||
|
||||
# Joystick 2
|
||||
#
|
||||
w -2 6
|
||||
e -2 7
|
||||
r -2 8
|
||||
s -2 4
|
||||
f -2 5
|
||||
x -2 1
|
||||
c -2 2
|
||||
v -2 3
|
||||
space -2 0
|
||||
|
||||
@@ -0,0 +1,381 @@
|
||||
# GTK3-VICE keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro
|
||||
# Tested with VICE GTK3 v3.4
|
||||
# Mapped for compatibility to PET Models with Graphics Keyboards only (2000, 3000, 4000, Non-B models).
|
||||
#
|
||||
# PET Graphics Keyboard has only one character and one graphics PETSCII per key.
|
||||
# Keymmodore uses C= Key to access a layer with PET Keys corresponding to shifted symbols of C-64 Keyboard (!/"/#/$/%/&/'/(/)/[/]/</>/?) so you have to hold C= for those keys.
|
||||
# You can access PET graphics PETSCII of those keys by pressing Shift and/or C=. Graphics PETSCII will match the the original PET Graphics Keyboard layout (not labeled in C64).
|
||||
#
|
||||
# Graphics PETSCII set of PET and C-64 are the same so there is no missing graphics PETSCII codes. They just have been redistributed to match C-64 Keyboard.
|
||||
# ANY left C-64 labeled Graphics PETSCII works using C= Key thanks to being remapped by Keymmodore-64.
|
||||
# ANY right C-64 labeled Graphics PETSCII works using Shift keys thanks to being remapped by VICE (this file).
|
||||
#
|
||||
# OFF/REVERSE key is mapped to CTRL (Control) Key.
|
||||
# Backslash Key is mapped to £ (Pound) Key.
|
||||
#
|
||||
#
|
||||
# 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
|
||||
# 256 key is used for an alternative keyboard mapping
|
||||
#
|
||||
# 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
|
||||
#
|
||||
|
||||
# this is a PET graphics keyboard mapping (positional)
|
||||
|
||||
#
|
||||
# Graphics keyboard matrix:
|
||||
#
|
||||
# 0 1 2 3 4 5 6 7
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 0 | ! | # | % | & | ( | <-- | home |crsr rgt|
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 1 | " | $ | ' | \ | ) |--------|crsr dwn| del |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 2 | q | e | t | u | o | ^ | 7 | 9 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 3 | w | r | y | i | p |--------| 8 | / |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 4 | a | d | g | j | l |--------| 4 | 6 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 5 | s | f | h | k | : |--------| 5 | * |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 6 | z | c | b | m | ; | return | 1 | 3 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 7 | x | v | n | , | ? |--------| 2 | + |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 8 |l shift | @ | ] |--------| > |r shift | 0 | - |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 9 | rvs on | [ | space | < | stop |--------| . | = |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
#
|
||||
# The original gfx keyboard reflects the matrix perfectly:
|
||||
#
|
||||
# ! " # $ % ' & \ ( ) <- ^s ^q ^] ^t
|
||||
# q w e r t y u i o p ^ 7 8 9 /
|
||||
# a s d f g h j k l : ^m 4 5 6 *
|
||||
# z x c v b n m , ; ? ^m 1 2 3 +
|
||||
# LS ^r @ [ ] SPACE < > ^c RS 0 . - =
|
||||
#
|
||||
# http://www.6502.org/users/andre/petindex/keyboards.html
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 8 0
|
||||
!RSHIFT 8 5
|
||||
!VSHIFT RSHIFT
|
||||
!SHIFTL LSHIFT
|
||||
|
||||
|
||||
###### Same Keys than C-64 Keyboard #######
|
||||
|
||||
# RUN/STOP
|
||||
Escape 9 4 8
|
||||
|
||||
# CLR/HOME
|
||||
Home 0 6 8
|
||||
|
||||
# Right/Left Cursor
|
||||
Right 0 7 8
|
||||
|
||||
#Down/Right Cursor
|
||||
Down 1 6 8
|
||||
|
||||
# INST/DEL. (Keymmodore maps both INST/DEL and RESTORE the same because there is no RESTORE Key in PET Keyboards).
|
||||
BackSpace 1 7 0
|
||||
|
||||
# SHIFT
|
||||
Shift_L 8 0 2
|
||||
Shift_R 8 5 4
|
||||
|
||||
# ENTER
|
||||
Return 6 5 8
|
||||
|
||||
# Spacebar
|
||||
space 9 2 8
|
||||
|
||||
# Arrow Up (Only key with one PETSCII and identical function than C64)
|
||||
Delete 2 5 8
|
||||
|
||||
# Arrow Left
|
||||
dead_grave 0 5 0
|
||||
grave 0 5 0
|
||||
|
||||
# Equals (=)
|
||||
backslash 9 7 0
|
||||
bar 9 7 1
|
||||
|
||||
#### (Scattered) Symbol Keys "merged" again into C-64 Keys with no PETSCII
|
||||
|
||||
|
||||
#Colon (:) and Brace Left ([)
|
||||
semicolon 5 4 0
|
||||
colon 5 4 1
|
||||
KP_Subtract 9 1 8 /* Numpad - -> [ */
|
||||
|
||||
# Semicolon (;) and Brace Right (])
|
||||
dead_acute 6 4 0
|
||||
apostrophe 6 4 0
|
||||
dead_diaeresis 6 4 1
|
||||
quotedbl 6 4 1
|
||||
KP_Add 8 2 8 /* Numpad + -> ] */
|
||||
|
||||
# Comma (,) and Less(<)
|
||||
comma 7 3 0
|
||||
less 7 3 1
|
||||
Page_Up 9 3 8 /* PgUp -> < */
|
||||
|
||||
# Period (.) and Greater (>)
|
||||
period 9 6 0
|
||||
greater 9 6 1
|
||||
Page_Down 8 4 8 /* PgDown -> > */
|
||||
|
||||
# Slash (/) and Question (?)
|
||||
slash 3 7 0
|
||||
question 3 7 1
|
||||
KP_Divide 7 4 8 /* Numpad / -> ? */
|
||||
|
||||
#### (Scattered) Symbols and Numbers "merged" again into C-64 Number Keys
|
||||
|
||||
1 6 6 0
|
||||
exclam 6 6 1
|
||||
F1 0 0 8
|
||||
2 7 6 0
|
||||
at 7 6 1
|
||||
F2 1 0 8
|
||||
3 6 7 0
|
||||
numbersign 6 7 1
|
||||
F3 0 1 8
|
||||
4 4 6 0
|
||||
dollar 4 6 1
|
||||
F4 1 1 8
|
||||
5 5 6 0
|
||||
percent 5 6 1
|
||||
F5 0 2 8
|
||||
6 4 7 0
|
||||
dead_circumflex 4 7 1
|
||||
asciicircum 4 7 1
|
||||
F6 0 3 8
|
||||
7 2 6 0
|
||||
ampersand 2 6 1
|
||||
Up 1 2 8
|
||||
8 3 6 0
|
||||
asterisk 3 6 1
|
||||
Left 0 4 8
|
||||
9 2 7 0
|
||||
parenleft 2 7 1
|
||||
F9 1 4 8
|
||||
0 8 6 0
|
||||
parenright 8 6 1
|
||||
|
||||
###### Keys not present in C64 keyboard ######
|
||||
|
||||
# Backslash (\) (Using Pound (£) Key in C64 Keyboard)
|
||||
Tab 1 3 0
|
||||
ISO_Left_Tab 1 4 1
|
||||
|
||||
# OFF / RVS (Using CTRL key in C64 Keyboard)
|
||||
Insert 9 0 8
|
||||
|
||||
|
||||
###### Keys matching C64 keyboard having one character and two PETSCII ######
|
||||
# Right PETSCII with any Shift Key.
|
||||
# Left PETSCII with Commodore Key.
|
||||
# PETSCII are remapped to match C64 Keyboard.
|
||||
|
||||
|
||||
# Plus (+)
|
||||
minus 7 7 0
|
||||
underscore 9 1 1
|
||||
|
||||
|
||||
# Minus (-)
|
||||
equal 8 7 0
|
||||
plus 8 2 1
|
||||
KP_Multiply 1 3 8 /* Numpad * -> \ PETSCII */
|
||||
|
||||
|
||||
# Multiply (*)
|
||||
bracketright 5 7 0
|
||||
braceright 8 1 1
|
||||
dead_perispomeni 0 5 1
|
||||
asciitilde 0 5 1
|
||||
|
||||
# At (@)
|
||||
bracketleft 8 1 0
|
||||
braceleft 5 4 1
|
||||
|
||||
|
||||
###### Letter Keys ######
|
||||
# Right PETSCII with any Shift Key.
|
||||
# Left PETSCII with Commodore Key.
|
||||
# PETSCII are remapped to match C64 Keyboard.
|
||||
|
||||
# Q Key
|
||||
q 2 0 0
|
||||
Q 2 0 1
|
||||
F10 7 7 1
|
||||
|
||||
# W Key
|
||||
w 3 0 0
|
||||
W 3 0 1
|
||||
|
||||
|
||||
# E Key
|
||||
e 2 1 0
|
||||
E 2 1 1
|
||||
|
||||
|
||||
# R Key
|
||||
r 3 1 0
|
||||
R 3 1 1
|
||||
|
||||
# T Key
|
||||
t 2 2 0
|
||||
T 2 2 1
|
||||
|
||||
|
||||
# Y Key
|
||||
y 3 2 0
|
||||
Y 3 2 1
|
||||
|
||||
|
||||
# U Key
|
||||
u 2 3 0
|
||||
U 2 3 1
|
||||
|
||||
|
||||
# I KEY
|
||||
i 3 3 0
|
||||
I 3 3 1
|
||||
|
||||
|
||||
# O Key
|
||||
o 2 4 0
|
||||
O 2 4 1
|
||||
|
||||
|
||||
#P Key
|
||||
p 3 4 0
|
||||
P 3 4 1
|
||||
|
||||
|
||||
# A Key
|
||||
a 4 0 0
|
||||
A 4 0 1
|
||||
|
||||
|
||||
# S Key
|
||||
s 5 0 0
|
||||
S 5 0 1
|
||||
|
||||
|
||||
|
||||
# D Key
|
||||
d 4 1 8
|
||||
D 4 1 1
|
||||
|
||||
|
||||
# F Key
|
||||
f 5 1 0
|
||||
F 5 1 1
|
||||
|
||||
|
||||
# G Key
|
||||
g 4 2 0
|
||||
G 4 2 1
|
||||
|
||||
|
||||
# H Key
|
||||
h 5 2 0
|
||||
H 5 2 1
|
||||
|
||||
|
||||
# J Key
|
||||
j 4 3 0
|
||||
J 4 3 1
|
||||
|
||||
|
||||
# K Key
|
||||
k 5 3 0
|
||||
K 5 3 1
|
||||
|
||||
|
||||
# L Key
|
||||
l 4 4 0
|
||||
L 4 4 1
|
||||
|
||||
|
||||
# Z Key
|
||||
z 6 0 0
|
||||
Z 6 0 1
|
||||
F11 8 7 1
|
||||
|
||||
|
||||
# X Key
|
||||
x 7 0 0
|
||||
X 7 0 1
|
||||
|
||||
|
||||
# C Key
|
||||
c 6 1 0
|
||||
C 6 1 1
|
||||
|
||||
|
||||
# V Key
|
||||
v 7 1 0
|
||||
V 7 1 1
|
||||
|
||||
|
||||
# B Key
|
||||
b 6 2 0
|
||||
B 6 2 1
|
||||
|
||||
|
||||
# N Key
|
||||
n 7 2 0
|
||||
N 7 2 1
|
||||
Alt_L 5 7 1
|
||||
|
||||
# M Key
|
||||
m 6 3 0
|
||||
M 6 3 1
|
||||
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
KP_8 -1 7 /* NumPad 8 -> UP */
|
||||
KP_2 -1 2 /* NumPad 2 -> DOWN */
|
||||
KP_4 -1 4 /* NumPad 4 -> LEFT */
|
||||
KP_6 -1 5 /* NumPad 6 -> RIGHT */
|
||||
KP_0 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
KP_7 -2 7 /* NumPad 7 -> UP */
|
||||
KP_3 -2 2 /* NumPad 3 -> DOWN */
|
||||
KP_1 -2 4 /* NumPad 1 -> LEFT */
|
||||
KP_9 -2 5 /* NumPad 9 -> RIGHT */
|
||||
KP_Decimal -2 0 /* NumPad . -> FIRE */
|
||||
@@ -0,0 +1,267 @@
|
||||
# GTK3-VICE keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro
|
||||
# Mapped for compatibility to PLUS/4 and C16.
|
||||
# If C64 keyboard has the same key, function is prefered over position (like CLR/HOME, Equal and Pound Keys).
|
||||
# The most important differences are:
|
||||
# Arrow Left is ESCAPE
|
||||
# Arrow Up Key is Cursor Up
|
||||
# RESTORE Key is Cursor Left
|
||||
#
|
||||
# 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
|
||||
# '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.
|
||||
#
|
||||
#############################################################################
|
||||
#
|
||||
# Commodore 16/116/Plus-4 keyboard matrix:
|
||||
#
|
||||
# 0 1 2 3 4 5 6 7
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 0 |INST-DEL|RETURN |POUND |HELP-F7 |F1-F4 |F2-F5 |F3-F6 |@ |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 1 |3 # |W |A |4 $ |Z |S |E |SHIFT |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 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 |= |+ |/ ? |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 7 |1 ! |CLR-HOME|CTRL |2 " |SPACE |C= |Q |RUN-STOP|
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 7
|
||||
!RSHIFT 1 7
|
||||
!VSHIFT RSHIFT
|
||||
|
||||
|
||||
# Tab = CTRL
|
||||
Tab 7 2 8
|
||||
# Shift + Tab = CTRL
|
||||
ISO_Left_Tab 7 2 8
|
||||
|
||||
# Control_L = CBM
|
||||
Control_L 7 5 8
|
||||
|
||||
#Backspace = INST/DEL
|
||||
BackSpace 0 0 8
|
||||
|
||||
Delete 5 3 8
|
||||
Down 5 0 8
|
||||
Page_Up 6 0 8
|
||||
Right 6 3 8
|
||||
|
||||
# ESCAPE = RUN/STOP
|
||||
Escape 7 7 8
|
||||
|
||||
# Grave = ESCAPE
|
||||
grave 6 4 8
|
||||
asciitilde 6 4 8
|
||||
dead_grave 6 4 8
|
||||
dead_perispomeni 6 4 8
|
||||
|
||||
# Insert = Pound
|
||||
Insert 0 2 8
|
||||
|
||||
|
||||
# Minus and Underscore = Plus
|
||||
minus 6 6 0
|
||||
underscore 6 6 8
|
||||
|
||||
# Equal and Plus = Minus
|
||||
equal 5 6 0
|
||||
plus 5 6 8
|
||||
|
||||
# Bracket/Brace Left = At
|
||||
bracketleft 0 7 8
|
||||
braceleft 0 7 8
|
||||
|
||||
#Bracket/Brace Right = Asterisk
|
||||
braceright 6 1 8
|
||||
bracketright 6 1 8
|
||||
|
||||
1 7 0 8
|
||||
exclam 7 0 8
|
||||
2 7 3 8
|
||||
at 7 3 8
|
||||
3 1 0 8
|
||||
numbersign 1 0 8
|
||||
4 1 3 8
|
||||
dollar 1 3 8
|
||||
5 2 0 8
|
||||
percent 2 0 8
|
||||
6 2 3 8
|
||||
dead_circumflex 2 3 8
|
||||
asciicircum 2 3 8
|
||||
7 3 0 8
|
||||
ampersand 3 0 8
|
||||
8 3 3 8
|
||||
asterisk 3 3 8
|
||||
9 4 0 8
|
||||
parenleft 4 0 8
|
||||
0 4 3 8
|
||||
parenright 4 3 8
|
||||
|
||||
slash 6 7 8
|
||||
question 6 7 8
|
||||
|
||||
backslash 6 5 8
|
||||
bar 6 5 8
|
||||
|
||||
apostrophe 6 2 8
|
||||
quotedbl 6 2 8
|
||||
dead_acute 6 2 8
|
||||
dead_diaeresis 6 2 8
|
||||
|
||||
colon 5 5 8
|
||||
semicolon 5 5 8
|
||||
|
||||
less 5 7 8
|
||||
comma 5 7 8
|
||||
|
||||
greater 5 4 8
|
||||
period 5 4 8
|
||||
|
||||
parenleft 4 0 8
|
||||
parenright 4 3 8
|
||||
|
||||
F1 0 4 8
|
||||
F3 0 5 8
|
||||
F5 0 6 8
|
||||
F7 0 3 8
|
||||
Home 7 1 8
|
||||
Return 0 1 8
|
||||
Shift_L 1 7 2
|
||||
Shift_R 1 7 4
|
||||
space 7 4 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
|
||||
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
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
KP_8 -1 7 /* NumPad 8 -> UP */
|
||||
KP_2 -1 2 /* NumPad 2 -> DOWN */
|
||||
KP_4 -1 4 /* NumPad 4 -> LEFT */
|
||||
KP_6 -1 5 /* NumPad 6 -> RIGHT */
|
||||
KP_0 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
KP_7 -2 7 /* NumPad 7 -> UP */
|
||||
KP_3 -2 2 /* NumPad 3 -> DOWN */
|
||||
KP_1 -2 4 /* NumPad 1 -> LEFT */
|
||||
KP_9 -2 5 /* NumPad 9 -> RIGHT */
|
||||
KP_Decimal -2 0 /* NumPad . -> FIRE */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,270 @@
|
||||
# VICE GTK3 based keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE GTK3 v3.4
|
||||
# Using default positional VICE layout.
|
||||
#
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Positional Mapping, US Layout, VIC20, X11
|
||||
|
||||
# VIC20 Keyboard matrix
|
||||
#
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0| 1 ! |A_LFT| CTRL| R/S |SPACE| C= | Q | 2 " |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 1| 3 # | W | A | S_L | Z | S | E | 4 $ |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 2| 5 % | R | D | X | C | F | T | 6 & |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 3| 7 ' | Y | G | V | B | H | U | 8 ( |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 4| 9 ) | I | J | N | M | K | O | 0 |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 5| + | P | L | , < | . > | : [ | @ | - |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 6|POUND| * | ; ] | / ? | S_R | = | A_UP| HOME|
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 7| DEL |Retrn|C_L/R|C_U/D| F1 | F3 | F5 | F7 |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 3
|
||||
!RSHIFT 6 4
|
||||
!VSHIFT RSHIFT
|
||||
|
||||
#####################
|
||||
# |Bit 0| 1 ! |A_LFT| CTRL| R/S |SPACE| C= | Q | 2 " |
|
||||
|
||||
exclam 0 0 8
|
||||
# grave / tilde -> arrow left
|
||||
asciitilde 0 1 8
|
||||
grave 0 1 8
|
||||
# Tab = CTRL
|
||||
Tab 0 2 8
|
||||
# Shift + Tab = CTRL
|
||||
ISO_Left_Tab 0 2 8
|
||||
Escape 0 3 8
|
||||
space 0 4 8
|
||||
# Control_L = CBM
|
||||
Control_L 0 5 8
|
||||
at 0 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 1| 3 # | W | A | S_L | Z | S | E | 4 $ |
|
||||
|
||||
numbersign 1 0 8
|
||||
Shift_L 1 3 2
|
||||
dollar 1 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 2| 5 % | R | D | X | C | F | T | 6 & |
|
||||
|
||||
percent 2 0 8
|
||||
asciicircum 2 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 3| 7 ' | Y | G | V | B | H | U | 8 ( |
|
||||
|
||||
ampersand 3 0 8
|
||||
asterisk 3 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 4| 9 ) | I | J | N | M | K | O | 0 |
|
||||
|
||||
parenleft 4 0 8
|
||||
parenright 4 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 5| + | P | L | , < | . > | : [ | @ | - |
|
||||
|
||||
minus 5 0 8
|
||||
underscore 5 0 8
|
||||
comma 5 3 8
|
||||
less 5 3 8
|
||||
period 5 4 8
|
||||
greater 5 4 8
|
||||
colon 5 5 8
|
||||
semicolon 5 5 8
|
||||
braceleft 5 6 8
|
||||
bracketleft 5 6 8
|
||||
plus 5 7 8
|
||||
equal 5 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 6|POUND| * | ; ] | / ? | S_R | = | A_UP| HOME|
|
||||
|
||||
sterling 6 0 8
|
||||
Insert 6 0 8
|
||||
braceright 6 1 8
|
||||
bracketright 6 1 8
|
||||
apostrophe 6 2 8
|
||||
quotedbl 6 2 8
|
||||
question 6 3 8
|
||||
slash 6 3 8
|
||||
Shift_R 6 4 4
|
||||
backslash 6 5 8
|
||||
bar 6 5 8
|
||||
Delete 6 6 8
|
||||
Home 6 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 7| DEL |Retrn|C_L/R|C_U/D| F1 | F3 | F5 | F7 |
|
||||
|
||||
BackSpace 7 0 8
|
||||
Return 7 1 8
|
||||
Right 7 2 8
|
||||
Down 7 3 8
|
||||
F1 7 4 8
|
||||
F3 7 5 8
|
||||
F5 7 6 8
|
||||
F7 7 7 8
|
||||
|
||||
#####################
|
||||
# letters and numbers
|
||||
|
||||
0 4 7 8
|
||||
1 0 0 8
|
||||
2 0 7 8
|
||||
3 1 0 8
|
||||
4 1 7 8
|
||||
5 2 0 8
|
||||
6 2 7 8
|
||||
7 3 0 8
|
||||
8 3 7 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 3 8
|
||||
O 4 6 8
|
||||
P 5 1 8
|
||||
Q 0 6 8
|
||||
R 2 1 8
|
||||
S 1 5 8
|
||||
T 2 6 8
|
||||
U 3 6 8
|
||||
V 3 3 8
|
||||
W 1 1 8
|
||||
X 2 3 8
|
||||
Y 3 1 8
|
||||
Z 1 4 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 3 8
|
||||
o 4 6 8
|
||||
p 5 1 8
|
||||
q 0 6 8
|
||||
r 2 1 8
|
||||
s 1 5 8
|
||||
t 2 6 8
|
||||
u 3 6 8
|
||||
v 3 3 8
|
||||
w 1 1 8
|
||||
x 2 3 8
|
||||
y 3 1 8
|
||||
z 1 4 8
|
||||
|
||||
# Restore key mappings
|
||||
Page_Up -3 0
|
||||
|
||||
|
||||
# Dead keys support for those using US-International keyboard layout.
|
||||
dead_circumflex 2 7 8 # &
|
||||
dead_tilde 0 1 8 # A_LFT <-
|
||||
dead_grave 0 1 8 # A_LFT <-
|
||||
dead_acute 6 2 8 # ;
|
||||
dead_diaeresis 6 2 8 # ]
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
KP_8 -1 7 /* NumPad 8 -> UP */
|
||||
KP_2 -1 2 /* NumPad 2 -> DOWN */
|
||||
KP_4 -1 4 /* NumPad 4 -> LEFT */
|
||||
KP_6 -1 5 /* NumPad 6 -> RIGHT */
|
||||
KP_0 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
KP_7 -2 7 /* NumPad 7 -> UP */
|
||||
KP_3 -2 2 /* NumPad 3 -> DOWN */
|
||||
KP_1 -2 4 /* NumPad 1 -> LEFT */
|
||||
KP_9 -2 5 /* NumPad 9 -> RIGHT */
|
||||
KP_Decimal -2 0 /* NumPad . -> FIRE */
|
||||
@@ -0,0 +1,217 @@
|
||||
# VICE SDL based keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE 3.1 SDL2 (https://vice-emu.sourceforge.io/windows.html)
|
||||
# Mapped for positional compatibility to C-128 Keyboards.
|
||||
# Based on C64 Positional Layout.
|
||||
# Keys not present in C-64 (like NumPad Keys, ESC, TAB) are accessed with Right Shift Key.
|
||||
#
|
||||
# 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
|
||||
#
|
||||
|
||||
# C128 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 |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
#
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 8 |HELP | KP 8| KP 5| TAB | KP 2| KP 4| KP 7| KP 1|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 9 | ESC | KP +| KP -| LF |KP CR| KP 6| KP 9| KP 3|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 10| ALT | KP 0| KP .|A.UP |A.DWN|A.LFT|A.RGT|NOSCR|
|
||||
# +------+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 7
|
||||
!RSHIFT 6 4
|
||||
!VSHIFT RSHIFT
|
||||
|
||||
# 40/80 column key
|
||||
287 -4 0 /* F6 -> 40/80 DISPLAY */
|
||||
|
||||
# CAPS LOCK (ASCII/DIN) key
|
||||
291 -4 1 /* F10 -> CAPS LOCK */
|
||||
|
||||
# RESTORE key
|
||||
280 -3 0
|
||||
|
||||
#####################
|
||||
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
|
||||
|
||||
8 0 0 8
|
||||
13 0 1 8
|
||||
275 0 2 8
|
||||
282 0 4 8
|
||||
284 0 5 8
|
||||
286 0 6 8
|
||||
288 0 3 8
|
||||
274 0 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
|
||||
|
||||
304 1 7 2
|
||||
|
||||
#####################
|
||||
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
|
||||
|
||||
45 5 0 8
|
||||
61 5 3 8
|
||||
46 5 4 8
|
||||
59 5 5 8
|
||||
91 5 6 8
|
||||
44 5 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 6| POUND | * | ; ] | HOME| S_R | = | A_UP| / ? |
|
||||
|
||||
277 6 0 8
|
||||
93 6 1 8
|
||||
39 6 2 8
|
||||
278 6 3 8
|
||||
303 6 4 4
|
||||
92 6 5 8
|
||||
127 6 6 8
|
||||
47 6 7 8
|
||||
|
||||
|
||||
#####################
|
||||
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
|
||||
|
||||
96 7 1 8 # Arrow_LFT
|
||||
9 7 2 8 /* TAB -> Control */
|
||||
32 7 4 8 # Space Bar
|
||||
306 7 5 8 # CBM Key
|
||||
27 7 7 8 # RUN/STOP
|
||||
|
||||
#####################
|
||||
# |Bit 8 |HELP | KP 8| KP 5| TAB | KP 2| KP 4| KP 7| KP 1|
|
||||
|
||||
283 8 0 8 /* F2 -> HELP */
|
||||
264 8 1 8
|
||||
261 8 2 8
|
||||
292 8 3 8 /* F11 -> TAB */
|
||||
258 8 4 8
|
||||
260 8 5 8
|
||||
263 8 6 8
|
||||
257 8 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 9 | ESC | KP +| KP -| LF |KP CR| KP 6| KP 9| KP 3|
|
||||
|
||||
268 9 0 8
|
||||
270 9 1 8
|
||||
269 9 2 8
|
||||
285 9 3 8 /* F4 -> LINE FEED */
|
||||
271 9 4 8
|
||||
262 9 5 8
|
||||
265 9 6 8
|
||||
259 9 7 8
|
||||
|
||||
#####################
|
||||
# |Bit 10| ALT | KP 0| KP .|A.UP |A.DWN|A.LFT|A.RGT|NOSCR|
|
||||
|
||||
290 10 0 8
|
||||
256 10 1 8
|
||||
266 10 2 8
|
||||
273 10 3 8
|
||||
276 10 5 8
|
||||
267 10 7 8 /* Numpad / -> NO SCROLL */
|
||||
|
||||
# Numbers
|
||||
49 7 0 8 /* 1 -> 1 */
|
||||
50 7 3 8 /* 2 -> 2 */
|
||||
51 1 0 8 /* 3 -> 3 */
|
||||
52 1 3 8 /* 4 -> 4 */
|
||||
53 2 0 8 /* 5 -> 5 */
|
||||
54 2 3 8 /* 6 -> 6 */
|
||||
55 3 0 8 /* 7 -> 7 */
|
||||
56 3 3 8 /* 8 -> 8 */
|
||||
57 4 0 8 /* 9 -> 9 */
|
||||
48 4 3 8 /* 0 -> 0 */
|
||||
|
||||
# Letters
|
||||
113 7 6 8 /* Q -> Q */
|
||||
119 1 1 8 /* W -> W */
|
||||
101 1 6 8 /* E -> E */
|
||||
114 2 1 8 /* R -> R */
|
||||
116 2 6 8 /* T -> T */
|
||||
121 3 1 8 /* Y -> Y */
|
||||
117 3 6 8 /* U -> U */
|
||||
105 4 1 8 /* I -> I */
|
||||
111 4 6 8 /* O -> O */
|
||||
112 5 1 8 /* P -> P */
|
||||
97 1 2 8 /* A -> A */
|
||||
115 1 5 8 /* S -> S */
|
||||
100 2 2 8 /* D -> D */
|
||||
102 2 5 8 /* F -> F */
|
||||
103 3 2 8 /* G -> G */
|
||||
104 3 5 8 /* H -> H */
|
||||
106 4 2 8 /* J -> J */
|
||||
107 4 5 8 /* K -> K */
|
||||
108 5 2 8 /* L -> L */
|
||||
122 1 4 8 /* Z -> Z */
|
||||
120 2 7 8 /* X -> X */
|
||||
99 2 4 8 /* C -> C */
|
||||
118 3 7 8 /* V -> V */
|
||||
98 3 4 8 /* B -> B */
|
||||
110 4 7 8 /* N -> N */
|
||||
109 4 4 8 /* M -> M */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
# VICE SDL based keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE 3.1 SDL2 (https://vice-emu.sourceforge.io/windows.html)
|
||||
# Using default positional VICE layout.
|
||||
#
|
||||
#
|
||||
# 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.
|
||||
|
||||
# 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
|
||||
|
||||
27 7 7 8 /* ESC -> Run/Stop */
|
||||
49 7 0 8 /* 1 -> 1 */
|
||||
50 7 3 8 /* 2 -> 2 */
|
||||
51 1 0 8 /* 3 -> 3 */
|
||||
52 1 3 8 /* 4 -> 4 */
|
||||
53 2 0 8 /* 5 -> 5 */
|
||||
54 2 3 8 /* 6 -> 6 */
|
||||
55 3 0 8 /* 7 -> 7 */
|
||||
56 3 3 8 /* 8 -> 8 */
|
||||
57 4 0 8 /* 9 -> 9 */
|
||||
48 4 3 8 /* 0 -> 0 */
|
||||
45 5 0 8 /* Minus -> Plus */
|
||||
61 5 3 8 /* Equal -> Minus */
|
||||
8 0 0 8 /* Backspace -> Del */
|
||||
9 7 2 8 /* TAB -> Ctrl */
|
||||
113 7 6 8 /* Q -> Q */
|
||||
119 1 1 8 /* W -> W */
|
||||
101 1 6 8 /* E -> E */
|
||||
114 2 1 8 /* R -> R */
|
||||
116 2 6 8 /* T -> T */
|
||||
121 3 1 8 /* Y -> Y */
|
||||
117 3 6 8 /* U -> U */
|
||||
105 4 1 8 /* I -> I */
|
||||
111 4 6 8 /* O -> O */
|
||||
112 5 1 8 /* P -> P */
|
||||
91 5 6 8 /* [ -> @ */
|
||||
93 6 1 8 /* ] -> * */
|
||||
13 0 1 8 /* Return -> Return */
|
||||
306 7 5 8 /* Left Ctrl -> CBM */
|
||||
97 1 2 8 /* A -> A */
|
||||
115 1 5 8 /* S -> S */
|
||||
100 2 2 8 /* D -> D */
|
||||
102 2 5 8 /* F -> F */
|
||||
103 3 2 8 /* G -> G */
|
||||
104 3 5 8 /* H -> H */
|
||||
106 4 2 8 /* J -> J */
|
||||
107 4 5 8 /* K -> K */
|
||||
108 5 2 8 /* L -> L */
|
||||
59 5 5 8 /* ; -> : */
|
||||
39 6 2 8 /* ' -> ; */
|
||||
96 7 1 8 /* ` -> Left Arrow */
|
||||
92 6 5 8 /* \ -> = */
|
||||
304 1 7 2 /* Left Shift -> Left Shift */
|
||||
301 1 7 64 /* Caps Lock -> Shift Lock */
|
||||
122 1 4 8 /* Z -> Z */
|
||||
120 2 7 8 /* X -> X */
|
||||
99 2 4 8 /* C -> C */
|
||||
118 3 7 8 /* V -> V */
|
||||
98 3 4 8 /* B -> B */
|
||||
110 4 7 8 /* N -> N */
|
||||
109 4 4 8 /* M -> M */
|
||||
44 5 7 8 /* , -> , */
|
||||
46 5 4 8 /* . -> . */
|
||||
47 6 7 8 /* / -> / */
|
||||
303 6 4 4 /* Right Shift -> Right Shift */
|
||||
32 7 4 8 /* Space -> Space */
|
||||
282 0 4 8 /* F1 -> F1 */
|
||||
283 0 4 1 /* F2 -> F2 */
|
||||
284 0 5 8 /* F3 -> F3 */
|
||||
285 0 5 1 /* F4 -> F4 */
|
||||
286 0 6 8 /* F5 -> F5 */
|
||||
287 0 6 1 /* F6 -> F6 */
|
||||
288 0 3 8 /* F7 -> F7 */
|
||||
289 0 3 1 /* F8 -> F8 */
|
||||
278 6 3 8 /* Home -> CLR/HOME */
|
||||
273 0 7 1 /* Up -> CRSR UP */
|
||||
276 0 2 1 /* Left -> CRSR LEFT */
|
||||
275 0 2 8 /* Right -> CRSR RIGHT */
|
||||
274 0 7 8 /* Down -> CRSR DOWN */
|
||||
277 6 0 8 /* Ins -> Pound */
|
||||
127 6 6 8 /* Del -> Up Arrow */
|
||||
|
||||
# Restore key mappings
|
||||
280 -3 0
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
264 -1 7 /* NumPad 8 -> UP */
|
||||
258 -1 2 /* NumPad 2 -> DOWN */
|
||||
260 -1 4 /* NumPad 4 -> LEFT */
|
||||
262 -1 5 /* NumPad 6 -> RIGHT */
|
||||
256 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
263 -2 7 /* NumPad 7 -> UP */
|
||||
259 -2 2 /* NumPad 3 -> DOWN */
|
||||
257 -2 4 /* NumPad 1 -> LEFT */
|
||||
265 -2 5 /* NumPad 9 -> RIGHT */
|
||||
266 -2 0 /* NumPad . -> FIRE */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,239 @@
|
||||
# VICE SDL keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE 3.1 SDL2 (https://vice-emu.sourceforge.io/windows.html)
|
||||
# Mapped for compatibility to PET Models with Business Keyboards only (3000B, 4000B and 8000 models).
|
||||
# Based on C64 Positional Layout.
|
||||
#
|
||||
# ESCAPE is mapped to F1 Key.
|
||||
# OFF/REVERSE is mapped to F3 Key.
|
||||
# REPEAT is mapped to F5 Key.
|
||||
# Backslash is mapped to £ (Pound) Key.
|
||||
# TAB is mapped to CTRL Key.
|
||||
# NumericPad Keys (1 to 0 and Dot) and Brackets ([/]) are accessed by pressing Commodore Key (C=).
|
||||
#
|
||||
# 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
|
||||
#
|
||||
|
||||
# this is a PET business (uk) keyboard mapping (symbolic)
|
||||
|
||||
# Business (UK) keyboard matrix:
|
||||
#
|
||||
# Keys starting with 'KP' are on the number pad.
|
||||
#
|
||||
# 0 1 2 3 4 5 6 7
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 0 | 2 | 5 | 8 | - | KP8 |crsr rgt| ^N | . |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 1 | 1 | 4 | 7 | 0 | KP7 | ^ |--------| KP9 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 2 | escape | s | f | h | ] | k | ; | KP5 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 3 | a | d | g | j | return | l | @ | KP6 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 4 | tab | w | r | y | \ | i | p | del |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 5 | q | e | t | u |crsr dwn| o | [ | KP4 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 6 |l shift | c | b | . | KP. | ^Y |r shift | KP3 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 7 | z | v | n | , | KP0 | ^O | repeat | KP2 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 8 | RVS | x | space | m | home | ^U | / | KP1 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 9 | <-- | 3 | 6 | 9 |runstop | : |--------| ^V |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
#
|
||||
# ^N = both shifts + 2
|
||||
# ^Y = left shift + TAB + I
|
||||
# ^O = Z + A + L
|
||||
# ^U = RVS + A + L
|
||||
# ^V = TAB + <- + DEL
|
||||
#
|
||||
# Business (US) matrix (differences to UK)
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 2 | | | | | ; | | \ | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 3 | | | | | | | [ | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 4 | | | | | @ | | | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 5 | | | | | | | ] | |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 6 0
|
||||
!RSHIFT 6 6
|
||||
!VSHIFT RSHIFT
|
||||
|
||||
|
||||
###### Same Keys than C-64 Keyboard
|
||||
|
||||
# RUN/STOP
|
||||
27 9 4 8
|
||||
|
||||
# CLR/HOME
|
||||
278 8 4 8
|
||||
|
||||
# LEFT/RIGHT
|
||||
275 0 5 8
|
||||
|
||||
# UP/DOWN
|
||||
274 5 4 8
|
||||
|
||||
#INST/DEL
|
||||
# Keymmodore maps both INST/DEL and RESTORE keys the same because there is no RESTORE Key in PET Keyboards.
|
||||
8 4 7 8
|
||||
|
||||
# SHIFT
|
||||
304 6 0 2
|
||||
303 6 6 4
|
||||
|
||||
# ENTER
|
||||
13 3 4 8
|
||||
|
||||
# Arrow Up
|
||||
127 1 5 8
|
||||
|
||||
# Arrow Left
|
||||
96 9 0 8
|
||||
|
||||
# @
|
||||
91 3 6 8
|
||||
|
||||
# </,
|
||||
44 7 3 8
|
||||
|
||||
# >/.
|
||||
46 6 3 8
|
||||
|
||||
# ?//
|
||||
47 8 6 8
|
||||
|
||||
# Space Bar
|
||||
32 8 2 8
|
||||
|
||||
|
||||
|
||||
##### Keys of C-64 real Keyboard non present in PET Business Keyboard
|
||||
|
||||
# + (Plus)
|
||||
45 2 6 1
|
||||
|
||||
# - (Minus)
|
||||
61 0 3 16
|
||||
|
||||
# * (Asterisk)
|
||||
93 9 5 1
|
||||
|
||||
# \ (Using Pound Key)
|
||||
277 4 4 16
|
||||
|
||||
###### Keys of real PET Business Keyboard not present in C-64 Keyboard
|
||||
|
||||
# ESCAPE <-- F1
|
||||
282 2 0 8
|
||||
|
||||
# OFF/RVS <-- F3
|
||||
284 8 0 8
|
||||
|
||||
# REPEAT <-- F5
|
||||
286 7 6 8
|
||||
|
||||
# TAB
|
||||
9 4 0 8
|
||||
|
||||
# =/- (only =)
|
||||
92 0 3 1
|
||||
|
||||
# */: (only :)
|
||||
59 9 5 0
|
||||
# [ <--- F10 (mapped to F10 to be used with C= Key)
|
||||
291 5 6 16
|
||||
|
||||
# +/; (only ;)
|
||||
39 2 6 0
|
||||
# ] <--- F11 (mapped to F11 to be used with C= Key)
|
||||
292 2 4 16
|
||||
|
||||
##### Numeric Pad Keys(With C= Key)
|
||||
256 7 4 8
|
||||
257 8 7 8
|
||||
258 7 7 8
|
||||
259 6 7 8
|
||||
260 5 7 8
|
||||
261 2 7 8
|
||||
262 3 7 8
|
||||
263 1 4 8
|
||||
264 0 4 8
|
||||
265 1 7 8
|
||||
266 6 4 8
|
||||
|
||||
##### Numbers Key
|
||||
49 1 0 8 /* 1 -> 1 */
|
||||
50 0 0 8 /* 2 -> 2 */
|
||||
51 9 1 8 /* 3 -> 3 */
|
||||
52 1 1 8 /* 4 -> 4 */
|
||||
53 0 1 8 /* 5 -> 5 */
|
||||
54 9 2 8 /* 6 -> 6 */
|
||||
55 1 2 8 /* 7 -> 7 */
|
||||
56 0 2 8 /* 8 -> 8 */
|
||||
57 9 3 8 /* 9 -> 9 */
|
||||
48 1 3 8 /* 0 -> 0 */
|
||||
|
||||
|
||||
|
||||
##### Letter Keys
|
||||
113 5 0 8 /* Q -> Q */
|
||||
119 4 1 8 /* W -> W */
|
||||
101 5 1 8 /* E -> E */
|
||||
114 4 2 8 /* R -> R */
|
||||
116 5 2 8 /* T -> T */
|
||||
121 4 3 8 /* Y -> Y */
|
||||
117 5 3 8 /* U -> U */
|
||||
105 4 5 8 /* I -> I */
|
||||
111 5 5 8 /* O -> O */
|
||||
112 4 6 8 /* P -> P */
|
||||
97 3 0 8 /* A -> A */
|
||||
115 2 1 8 /* S -> S */
|
||||
100 3 1 8 /* D -> D */
|
||||
102 2 2 8 /* F -> F */
|
||||
103 3 2 8 /* G -> G */
|
||||
104 2 3 8 /* H -> H */
|
||||
106 3 3 8 /* J -> J */
|
||||
107 2 5 8 /* K -> K */
|
||||
108 3 5 8 /* L -> L */
|
||||
122 7 0 8 /* Z -> Z */
|
||||
120 8 1 8 /* X -> X */
|
||||
99 6 1 8 /* C -> C */
|
||||
118 7 1 8 /* V -> V */
|
||||
98 6 2 8 /* B -> B */
|
||||
110 7 2 8 /* N -> N */
|
||||
109 8 3 8 /* M -> M */
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
# VICE SDL keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE 3.1 SDL2 (https://vice-emu.sourceforge.io/windows.html)
|
||||
# Mapped for compatibility to PET Models with Graphics Keyboards only (2000, 3000, 4000, Non-B models).
|
||||
# Based on C64 Positional Layout.
|
||||
#
|
||||
# PET Graphics Keyboard has only one character and one graphics PETSCII per key.
|
||||
# Keymmodore uses C= Key to access a layer with PET Keys corresponding to shifted symbols of C-64 Keyboard (!/"/#/$/%/&/'/(/)/[/]/</>/?) so you have to hold C= for those keys.
|
||||
# You can access PET graphics PETSCII of those keys by pressing Shift and/or C=. Graphics PETSCII will match the the original PET Graphics Keyboard layout (not labeled in C64).
|
||||
#
|
||||
# Graphics PETSCII set of PET and C-64 are the same so there is no missing graphics PETSCII codes. They just have been redistributed to match C-64 Keyboard.
|
||||
# ANY left C-64 labeled Graphics PETSCII works using C= Key thanks to being remapped by Keymmodore-64.
|
||||
# ANY right C-64 labeled Graphics PETSCII works using Shift keys thanks to being remapped by VICE (this file).
|
||||
#
|
||||
# OFF/REVERSE key is mapped to CTRL (Control) Key.
|
||||
# Backslash Key is mapped to £ (Pound) Key.
|
||||
#
|
||||
#
|
||||
# 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
|
||||
#
|
||||
|
||||
# this is a PET graphics keyboard mapping (symbolic)
|
||||
|
||||
#
|
||||
# Graphics keyboard matrix:
|
||||
#
|
||||
# 0 1 2 3 4 5 6 7
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 0 | ! | # | % | & | ( | <-- | home |crsr rgt|
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 1 | " | $ | ' | \ | ) |--------|crsr dwn| del |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 2 | q | e | t | u | o | ^ | 7 | 9 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 3 | w | r | y | i | p |--------| 8 | / |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 4 | a | d | g | j | l |--------| 4 | 6 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 5 | s | f | h | k | : |--------| 5 | * |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 6 | z | c | b | m | ; | return | 1 | 3 |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 7 | x | v | n | , | ? |--------| 2 | + |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 8 |l shift | @ | ] |--------| > |r shift | 0 | - |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 9 | rvs on | [ | space | < | stop |--------| . | = |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
#
|
||||
# The original gfx keyboard reflects the matrix perfectly:
|
||||
#
|
||||
# ! " # $ % ' & \ ( ) <- ^s ^q ^] ^t
|
||||
# q w e r t y u i o p ^ 7 8 9 /
|
||||
# a s d f g h j k l : ^m 4 5 6 *
|
||||
# z x c v b n m , ; ? ^m 1 2 3 +
|
||||
# LS ^r @ [ ] SPACE < > ^c RS 0 . - =
|
||||
#
|
||||
# http://www.6502.org/users/andre/petindex/keyboards.html
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 8 0
|
||||
!RSHIFT 8 5
|
||||
!VSHIFT RSHIFT
|
||||
|
||||
###### Same Keys than C-64 Keyboard
|
||||
|
||||
# RUN/STOP
|
||||
27 9 4 8
|
||||
|
||||
# CLR/HOME
|
||||
278 0 6 8
|
||||
|
||||
# LEFT/RIGHT
|
||||
275 0 7 8
|
||||
|
||||
# UP/DOWN
|
||||
274 1 6 8
|
||||
|
||||
#INST/DEL
|
||||
# Keymmodore maps both INST/DEL and RESTORE keys the same because there is no RESTORE Key in PET Keyboards.
|
||||
8 1 7 8
|
||||
|
||||
# SHIFT
|
||||
304 8 0 2
|
||||
303 8 5 4
|
||||
|
||||
# ENTER
|
||||
13 6 5 8
|
||||
|
||||
# Arrow Up
|
||||
127 2 5 8
|
||||
|
||||
# Arrow Left
|
||||
96 0 5 8
|
||||
|
||||
# @
|
||||
91 8 1 32
|
||||
91 5 4 1
|
||||
|
||||
# Space Bar
|
||||
32 9 2 8
|
||||
|
||||
# + (Plus)
|
||||
45 7 7 32
|
||||
45 9 1 1
|
||||
|
||||
# - (Minus)
|
||||
61 8 7 32
|
||||
61 8 2 1
|
||||
268 1 3 8 /* Numpad * -> \ PETSCII */
|
||||
|
||||
|
||||
# = (Equals)
|
||||
92 9 7 8
|
||||
|
||||
# \ (Using Pound Key)
|
||||
9 1 3 32
|
||||
9 1 4 1
|
||||
|
||||
# * (Asterisk)
|
||||
93 5 7 32
|
||||
93 8 1 1
|
||||
|
||||
# OFF/RVS
|
||||
#9 9 0 8
|
||||
277 9 0 8
|
||||
|
||||
##### Combined Keys
|
||||
|
||||
# , (Comma)
|
||||
44 7 3 8
|
||||
# < (Less)
|
||||
280 9 3 8 /* PgUp -> < */
|
||||
|
||||
|
||||
# . (Dot)
|
||||
46 9 6 8
|
||||
# > (Greater)
|
||||
281 8 4 8 /* PgDown -> > */
|
||||
|
||||
|
||||
# / (Slash)
|
||||
47 3 7 8
|
||||
# ? (Question)
|
||||
267 7 4 8 /* Numpad / -> ? */
|
||||
|
||||
# : (Colon)
|
||||
59 5 4 8
|
||||
# [ (Left Bracket)
|
||||
269 9 1 8 /* Numpad - -> [ */
|
||||
|
||||
# ; (SemiColon)
|
||||
39 6 4 8
|
||||
# ] (Right Bracket)
|
||||
270 8 2 8 /* Numpad + -> ] */
|
||||
|
||||
|
||||
#### Numbers and Symbols (1st Row)
|
||||
49 6 6 8 /* 1 -> 1 */
|
||||
282 0 0 8 /* F1 -> ! */
|
||||
50 7 6 8 /* 2 -> 2 */
|
||||
283 1 0 8 /* F2 -> " */
|
||||
51 6 7 8 /* 3 -> 3 */
|
||||
284 0 1 8 /* F3 -> # */
|
||||
52 4 6 8 /* 4 -> 4 */
|
||||
285 1 1 8 /* F4 -> $ */
|
||||
53 5 6 8 /* 5 -> 5 */
|
||||
286 0 2 8 /* F5 -> % */
|
||||
54 4 7 8 /* 6 -> 6 */
|
||||
287 0 3 8 /* F6 -> & */
|
||||
55 2 6 8 /* 7 -> 7 */
|
||||
273 1 2 8 /* Up -> ' */
|
||||
56 3 6 8 /* 8 -> 8 */
|
||||
276 0 4 8 /* Left -> ( */
|
||||
57 2 7 8 /* 9 -> 9 */
|
||||
290 1 4 8 /* F9 -> ) */
|
||||
48 8 6 8 /* 0 -> 0 */
|
||||
|
||||
###### Letter Keys ######
|
||||
# Right PETSCII with any Shift Key.
|
||||
# Left PETSCII with Commodore Key.
|
||||
# PETSCII are remapped to match C64 Keyboard.
|
||||
|
||||
113 2 0 8 /* Q -> Q */
|
||||
291 7 7 8 /* F10 -> + PETSCII */
|
||||
119 3 0 8 /* W -> W */
|
||||
101 2 1 8 /* E -> E */
|
||||
114 3 1 8 /* R -> R */
|
||||
116 2 2 8 /* T -> T */
|
||||
121 3 2 8 /* Y -> Y */
|
||||
117 2 3 8 /* U -> U */
|
||||
105 3 3 8 /* I -> I */
|
||||
111 2 4 8 /* O -> O */
|
||||
112 3 4 8 /* P -> P */
|
||||
|
||||
97 4 0 8 /* A -> A */
|
||||
115 5 0 8 /* S -> S */
|
||||
100 4 1 8 /* D -> D */
|
||||
102 5 1 8 /* F -> F */
|
||||
103 4 2 8 /* G -> G */
|
||||
104 5 2 8 /* H -> H */
|
||||
106 4 3 8 /* J -> J */
|
||||
107 5 3 8 /* K -> K */
|
||||
108 4 4 8 /* L -> L */
|
||||
|
||||
|
||||
122 6 0 8 /* Z -> Z */
|
||||
292 8 7 8 /* F11 -> - PETSCII */
|
||||
120 7 0 8 /* X -> X */
|
||||
99 6 1 8 /* C -> C */
|
||||
118 7 1 8 /* V -> V */
|
||||
98 6 2 8 /* B -> B */
|
||||
110 7 2 8 /* N -> N */
|
||||
308 5 7 1 /* Left Alt -> * PETSCII */
|
||||
109 6 3 8 /* M -> M */
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
264 -1 7 /* NumPad 8 -> UP */
|
||||
258 -1 2 /* NumPad 2 -> DOWN */
|
||||
260 -1 4 /* NumPad 4 -> LEFT */
|
||||
262 -1 5 /* NumPad 6 -> RIGHT */
|
||||
256 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
263 -2 7 /* NumPad 7 -> UP */
|
||||
259 -2 2 /* NumPad 3 -> DOWN */
|
||||
257 -2 4 /* NumPad 1 -> LEFT */
|
||||
265 -2 5 /* NumPad 9 -> RIGHT */
|
||||
266 -2 0 /* NumPad . -> FIRE */
|
||||
@@ -0,0 +1,197 @@
|
||||
# VICE SDL based keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE 3.1 SDL2 (https://vice-emu.sourceforge.io/windows.html)
|
||||
# Mapped for positional compatibility with 264 Computers Series: Plus/4, Commodore-16 and Commodore-116 Keyboards.
|
||||
# Based on C64 Positional Layout, however some keys change position in order to be easier to use and remember.
|
||||
# The relevant changes are:
|
||||
# ESCAPE is mapped to Left Arrow Key.
|
||||
# Cursor-Up is mapped to C64 Up-Arrow Key (C16/Plus-4 Up-Arrow is actually Shift+0).
|
||||
# Cursor-Left is mapped to C64 RESTORE Key (C16/Plus-4 CLEAR/HOME Key moves to C64 CLEAR/HOME key).
|
||||
# Cursor-Down is mapped to C64 Up/Down Cursor Key (It works only Down regardless Shift pressed or not, like the real C16/Plus-4 Key).
|
||||
# Cursor-Right is mapped to C64 Left/Right Cursor Key (It works only Right regardless Shift pressed or not, like the real C16/Plus-4 Key).
|
||||
#
|
||||
#
|
||||
# File format:
|
||||
# - comment lines start with '#'
|
||||
# - keyword lines start with '!keyword'
|
||||
# - normal lines have '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)
|
||||
# '!LCTRL row col' left control keyboard row/column
|
||||
# '!VCTRL ctrlkey' virtual control key (LCTRL)
|
||||
# '!LCBM row col' left CBM keyboard row/column
|
||||
# '!VCBM cbmkey' virtual CBM key (LCBM)
|
||||
# '!UNDEF keysym' remove keysym from table
|
||||
#
|
||||
# Shiftflag can have the values (as a sum):
|
||||
# 0 key is not shifted for this keysym/scancode
|
||||
# 1 key is combined with shift for this keysym/scancode
|
||||
# 2 key is left shift on emulated machine
|
||||
# 4 key is right shift on emulated machine
|
||||
# 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 key is shift-lock on emulated machine
|
||||
# 128 shift modifier required on host
|
||||
# 256 key is used for an alternative keyboard mapping
|
||||
# 512 alt-r (alt-gr) modifier required on host
|
||||
# 1024 ctrl modifier required on host
|
||||
# 2048 key is combined with cbm for this keysym/scancode
|
||||
# 4096 key is combined with ctrl for this keysym/scancode
|
||||
# 8192 key is (left) cbm on emulated machine
|
||||
# 16384 key is (left) ctrl on emulated machine
|
||||
#
|
||||
# to migrate older keymaps and use the CBM and/or CTRL related features:
|
||||
#
|
||||
# - define !LCTRL, !VCTRL, !LCBM, !VCBM
|
||||
# - add 'key is (left) cbm/ctrl on emulated machine' flags to
|
||||
# all keys that map to the cbm or ctrl key respectively.
|
||||
#
|
||||
# after that the virtual cbm/ctrl flags and requiring host modifiers
|
||||
# should work as expected. keep an eye on the error messages.
|
||||
#
|
||||
# Negative row values:
|
||||
# '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
|
||||
#
|
||||
# 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 Mapping, US Layout, Plus4, SDL
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# 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 |= |+ |/ ? |
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
# 7 |1 ! |CLR/HOME| CTRLs |2 " |SPACE |C= |Q |RUN/STOP|
|
||||
# +--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 7
|
||||
!RSHIFT 1 7
|
||||
!VSHIFT RSHIFT
|
||||
!SHIFTL LSHIFT
|
||||
!LCBM 7 5
|
||||
!VCBM LCBM
|
||||
!LCTRL 7 2
|
||||
!VCTRL LCTRL
|
||||
|
||||
27 7 7 8 /* ESC -> Run/Stop */
|
||||
49 7 0 8 /* 1 -> 1 */
|
||||
50 7 3 8 /* 2 -> 2 */
|
||||
51 1 0 8 /* 3 -> 3 */
|
||||
52 1 3 8 /* 4 -> 4 */
|
||||
53 2 0 8 /* 5 -> 5 */
|
||||
54 2 3 8 /* 6 -> 6 */
|
||||
55 3 0 8 /* 7 -> 7 */
|
||||
56 3 3 8 /* 8 -> 8 */
|
||||
57 4 0 8 /* 9 -> 9 */
|
||||
48 4 3 8 /* 0 -> 0 */
|
||||
45 6 6 8 /* Minus -> Plus */
|
||||
61 5 6 8 /* Equal -> Minus */
|
||||
8 0 0 8 /* Backspace -> Del */
|
||||
9 7 2 16392 /* TAB -> Ctrl */
|
||||
113 7 6 8 /* Q -> Q */
|
||||
119 1 1 8 /* W -> W */
|
||||
101 1 6 8 /* E -> E */
|
||||
114 2 1 8 /* R -> R */
|
||||
116 2 6 8 /* T -> T */
|
||||
121 3 1 8 /* Y -> Y */
|
||||
117 3 6 8 /* U -> U */
|
||||
105 4 1 8 /* I -> I */
|
||||
111 4 6 8 /* O -> O */
|
||||
112 5 1 8 /* P -> P */
|
||||
91 0 7 8 /* [ -> @ */
|
||||
93 6 1 8 /* ] -> * (Asterisk) */
|
||||
13 0 1 8 /* Return -> Return */
|
||||
306 7 5 8200 /* Left Ctrl -> CBM */
|
||||
97 1 2 8 /* A -> A */
|
||||
115 1 5 8 /* S -> S */
|
||||
100 2 2 8 /* D -> D */
|
||||
102 2 5 8 /* F -> F */
|
||||
103 3 2 8 /* G -> G */
|
||||
104 3 5 8 /* H -> H */
|
||||
106 4 2 8 /* J -> J */
|
||||
107 4 5 8 /* K -> K */
|
||||
108 5 2 8 /* L -> L */
|
||||
59 5 5 8 /* ; -> : */
|
||||
39 6 2 8 /* ' -> ; */
|
||||
96 6 4 8 /* ` -> Esc -> C64 Arrow-Left Key */
|
||||
92 6 5 8 /* \ -> Equal */
|
||||
301 1 7 64 /* Caps Lock -> Shift Lock */
|
||||
304 1 7 2 /* Left Shift -> Left Shift */
|
||||
122 1 4 8 /* Z -> Z */
|
||||
120 2 7 8 /* X -> X */
|
||||
99 2 4 8 /* C -> C */
|
||||
118 3 7 8 /* V -> V */
|
||||
98 3 4 8 /* B -> B */
|
||||
110 4 7 8 /* N -> N */
|
||||
109 4 4 8 /* M -> M */
|
||||
44 5 7 8 /* , -> , */
|
||||
46 5 4 8 /* . -> . */
|
||||
47 6 7 8 /* / -> / */
|
||||
303 1 7 4 /* Right Shift -> Right Shift */
|
||||
32 7 4 8 /* Space -> Space */
|
||||
282 0 4 8 /* F1 -> F1/F4 */
|
||||
284 0 5 8 /* F3 -> F2/F5 */
|
||||
286 0 6 8 /* F5 -> F3/F6 */
|
||||
288 0 3 8 /* F7 -> HELP/F7 */
|
||||
278 7 1 8 /* Home -> CLR/HOME */
|
||||
127 5 3 8 /* Delete -> CRSR UP -> C64 Arrow-Up key */
|
||||
280 6 0 8 /* Page_Up -> CRSR LEFT -> C64 RESTORE key */
|
||||
275 6 3 8 /* Right -> CRSR RIGHT */
|
||||
274 5 0 8 /* Down -> CRSR DOWN */
|
||||
277 0 2 8 /* Ins -> Pound */
|
||||
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
264 -1 7 /* NumPad 8 -> UP */
|
||||
258 -1 2 /* NumPad 2 -> DOWN */
|
||||
260 -1 4 /* NumPad 4 -> LEFT */
|
||||
262 -1 5 /* NumPad 6 -> RIGHT */
|
||||
256 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
263 -2 7 /* NumPad 7 -> UP */
|
||||
259 -2 2 /* NumPad 3 -> DOWN */
|
||||
257 -2 4 /* NumPad 1 -> LEFT */
|
||||
265 -2 5 /* NumPad 9 -> RIGHT */
|
||||
266 -2 0 /* NumPad . -> FIRE */
|
||||
|
||||
@@ -0,0 +1,173 @@
|
||||
# VICE SDL based keyboard mapping file suitable for real C64 keyboards using Keymmodore-64 interfase by K-rnivoro. https://www.keymmodore.com/
|
||||
# Tested with VICE 3.1 SDL2 (https://vice-emu.sourceforge.io/windows.html)
|
||||
# Mapped for positional compatibility to VIC-20 Keyboards.
|
||||
# Using VICE default positional layout.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# VIC20 Keyboard matrix
|
||||
#
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7|
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 0| 1 ! |A_LFT| CTRL| R/S |SPACE| C= | Q | 2 " |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 1| 3 # | W | A | S_L | Z | S | E | 4 $ |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 2| 5 % | R | D | X | C | F | T | 6 & |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 3| 7 ' | Y | G | V | B | H | U | 8 ( |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 4| 9 ) | I | J | N | M | K | O | 0 |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 5| + | P | L | , < | . > | : [ | @ | - |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 6|POUND| * | ; ] | / ? | S_R | = | A_UP| HOME|
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
# |Bit 7| DEL |Retrn|C_L/R|C_U/D| F1 | F3 | F5 | F7 |
|
||||
# +-----+-----+-----+-----+-----+-----+-----+-----+-----+
|
||||
|
||||
!CLEAR
|
||||
!LSHIFT 1 3
|
||||
!RSHIFT 6 4
|
||||
!VSHIFT RSHIFT
|
||||
!SHIFTL LSHIFT
|
||||
|
||||
27 0 3 8 /* ESC -> Run/Stop */
|
||||
49 0 0 8 /* 1 -> 1 */
|
||||
50 0 7 8 /* 2 -> 2 */
|
||||
51 1 0 8 /* 3 -> 3 */
|
||||
52 1 7 8 /* 4 -> 4 */
|
||||
53 2 0 8 /* 5 -> 5 */
|
||||
54 2 7 8 /* 6 -> 6 */
|
||||
55 3 0 8 /* 7 -> 7 */
|
||||
56 3 7 8 /* 8 -> 8 */
|
||||
57 4 0 8 /* 9 -> 9 */
|
||||
48 4 7 8 /* 0 -> 0 */
|
||||
45 5 0 8 /* Minus -> Plus */
|
||||
61 5 7 8 /* Equal -> Minus */
|
||||
8 7 0 8 /* Backspace -> Del */
|
||||
9 0 2 8 /* TAB -> Ctrl */
|
||||
113 0 6 8 /* Q -> Q */
|
||||
119 1 1 8 /* W -> W */
|
||||
101 1 6 8 /* E -> E */
|
||||
114 2 1 8 /* R -> R */
|
||||
116 2 6 8 /* T -> T */
|
||||
121 3 1 8 /* Y -> Y */
|
||||
117 3 6 8 /* U -> U */
|
||||
105 4 1 8 /* I -> I */
|
||||
111 4 6 8 /* O -> O */
|
||||
112 5 1 8 /* P -> P */
|
||||
91 5 6 8 /* [ -> @ */
|
||||
93 6 1 8 /* ] -> * */
|
||||
13 7 1 8 /* Return -> Return */
|
||||
306 0 5 8 /* Left Ctrl -> CBM */
|
||||
97 1 2 8 /* A -> A */
|
||||
115 1 5 8 /* S -> S */
|
||||
100 2 2 8 /* D -> D */
|
||||
102 2 5 8 /* F -> F */
|
||||
103 3 2 8 /* G -> G */
|
||||
104 3 5 8 /* H -> H */
|
||||
106 4 2 8 /* J -> J */
|
||||
107 4 5 8 /* K -> K */
|
||||
108 5 2 8 /* L -> L */
|
||||
59 5 5 8 /* ; -> : */
|
||||
39 6 2 8 /* ' -> ; */
|
||||
96 0 1 8 /* ` -> Left Arrow */
|
||||
92 6 5 8 /* \ -> = */
|
||||
304 1 3 2 /* Left Shift -> Left Shift */
|
||||
122 1 4 8 /* Z -> Z */
|
||||
120 2 3 8 /* X -> X */
|
||||
99 2 4 8 /* C -> C */
|
||||
118 3 3 8 /* V -> V */
|
||||
98 3 4 8 /* B -> B */
|
||||
110 4 3 8 /* N -> N */
|
||||
109 4 4 8 /* M -> M */
|
||||
44 5 3 8 /* , -> , */
|
||||
46 5 4 8 /* . -> . */
|
||||
47 6 3 8 /* / -> / */
|
||||
303 6 4 4 /* Right Shift -> Right Shift */
|
||||
32 0 4 8 /* Space -> Space */
|
||||
282 7 4 8 /* F1 -> F1 */
|
||||
284 7 5 8 /* F3 -> F3 */
|
||||
286 7 6 8 /* F5 -> F5 */
|
||||
288 7 7 8 /* F7 -> F7 */
|
||||
278 6 7 8 /* Home -> CLR/HOME */
|
||||
275 7 2 8 /* Right -> CRSR RIGHT */
|
||||
274 7 3 8 /* Down -> CRSR DOWN */
|
||||
277 6 0 8 /* Ins -> Pound */
|
||||
127 6 6 8 /* Del -> Up Arrow */
|
||||
|
||||
# Restore key mappings
|
||||
280 -3 0
|
||||
|
||||
# joystick keymap A (port 1)
|
||||
264 -1 7 /* NumPad 8 -> UP */
|
||||
258 -1 2 /* NumPad 2 -> DOWN */
|
||||
260 -1 4 /* NumPad 4 -> LEFT */
|
||||
262 -1 5 /* NumPad 6 -> RIGHT */
|
||||
256 -1 0 /* NumPad 0 -> FIRE */
|
||||
|
||||
# joystick Keymap B (port 2)
|
||||
263 -2 7 /* NumPad 7 -> UP */
|
||||
259 -2 2 /* NumPad 3 -> DOWN */
|
||||
257 -2 4 /* NumPad 1 -> LEFT */
|
||||
265 -2 5 /* NumPad 9 -> RIGHT */
|
||||
266 -2 0 /* NumPad . -> FIRE */
|
||||
2
trunk/workspace/CBMprgStudio/C64.sh
Executable file
2
trunk/workspace/CBMprgStudio/C64.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=x64sc net.sf.VICE
|
||||
2
trunk/workspace/CBMprgStudio/Plus4.sh
Executable file
2
trunk/workspace/CBMprgStudio/Plus4.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=xplus4 net.sf.VICE
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<!-- DO NOT EDIT THIS FILE! -->
|
||||
<!-- Application version : 3.14.0 -->
|
||||
<!-- Application version : 4.8.0 -->
|
||||
<!-- Project Target : C64 -->
|
||||
<Project>
|
||||
<Target>2</Target>
|
||||
@@ -12,6 +12,8 @@
|
||||
<GenToDisk>False</GenToDisk>
|
||||
<BuildToPrgFile>True</BuildToPrgFile>
|
||||
<d64Name />
|
||||
<DiskDirectoryName />
|
||||
<StartPrg>zzzzzzzzzzzz.zzzzzzzzz</StartPrg>
|
||||
<Comments>Primo test col CBM Prg Studio</Comments>
|
||||
<Author>Paolo Iocco</Author>
|
||||
<Email />
|
||||
@@ -19,7 +21,13 @@
|
||||
<NoSingleFileBuild>False</NoSingleFileBuild>
|
||||
<CreatedWithVersion />
|
||||
<HasGitRepo>False</HasGitRepo>
|
||||
<OutputBinDir />
|
||||
<GitIgnoreList />
|
||||
<UsingKickAssembler>False</UsingKickAssembler>
|
||||
<KickOutputFile />
|
||||
<KickConfigFile />
|
||||
<KickGenDebugInfo>True</KickGenDebugInfo>
|
||||
<NewProjectStructure>True</NewProjectStructure>
|
||||
<Cartridge>
|
||||
<CrtBuildingCartridge>False</CrtBuildingCartridge>
|
||||
<CrtSignature>C64 CARTRIDGE</CrtSignature>
|
||||
@@ -46,10 +54,12 @@
|
||||
<!--Screen designer settings-->
|
||||
<AssyBinaryFileLocation />
|
||||
<AssyExportList />
|
||||
<RawExportList />
|
||||
<!--End of screen designer settings-->
|
||||
<ExtendedBASIC>False</ExtendedBASIC>
|
||||
<SourceFiles>
|
||||
<SourceFile>
|
||||
<Name>test.bas</Name>
|
||||
<Name>\BASIC Files\test.bas</Name>
|
||||
<PrgName />
|
||||
<FileType>1</FileType>
|
||||
<IncludeInBuild>True</IncludeInBuild>
|
||||
|
||||
Reference in New Issue
Block a user