YACE64 Logo

The Commodore 64 Emulator with the extra dimension

Home Features Screenshots Download Links Help About
Commodore 64
www.icons8.com

Overview

The mapping of the PC keyboard and the C64 keys can be changed with a desciption file, which can be set in the configuration window:
Keyboard Setting

Instructions

The file contains the mapping in an easy format and can be edit with a normal text editor.

The format is as follows:

A semicolon (;) is used for comments.

The first part of a line until the doublepoint (:) is the name or description of the mapping. There has to be a whitespace before and after the doublepoint.

The next two parts (e.g. { 188 }, { VK_RSHIFT }) are the PC key conditions. A null indicates no condition.

After this one to three parts (e.g. { '-', KEY_RSHIFT }, { 'X', KEY_SEMICOLON }) are following, that describe how the CBM keys should behave:
'0' do nothing
'X' press/release as on PC keyboard
'#' press/release invers as on PC keyboard
'+' press always
'-' release always

The PC keycode can be given in decimal or textform (as defined in winnt.h, see MSDN). The CBM keys in textform (see below).

; Default US Keyboard layout
+ RShift : { VK_OEM_PLUS }, { VK_RSHIFT }, { '-', KEY_RSHIFT }, { 'X', KEY_STAR }, { '#', KEY_RSHIFT }
+ : { VK_OEM_PLUS }, { 0 }, { 'X', KEY_PLUS }
8 Alt : { 56 }, { VK_MENU }, { 'X', KEY_RSHIFT }, { 'X', KEY_DBLPOINT }
9 Alt : { 57 }, { VK_MENU }, { 'X', KEY_RSHIFT }, { 'X', KEY_SEMICOLON }
, RShift : { 188 }, { VK_RSHIFT }, { '-', KEY_RSHIFT }, { 'X', KEY_SEMICOLON }
, LShift : { 188 }, { VK_LSHIFT }, { '-', KEY_LSHIFT }, { 'X', KEY_SEMICOLON }
, : { 188 }, { 0 }, { 'X', KEY_COMMA }
. RShift : { 190 }, { VK_RSHIFT }, { '-', KEY_RSHIFT }, { 'X', KEY_DBLPOINT }
. LShift : { 190 }, { VK_LSHIFT }, { '-', KEY_LSHIFT }, { 'X', KEY_DBLPOINT }
. : { 190 }, { 0 }, { 'X', KEY_DOT }
Return : { VK_RETURN }, { 0 }, { 'X', KEY_RETURN }
Accent aigu : { 221 }, { 0 }, { 'X', KEY_UPARROW }
End->Restore : { VK_END }, { 0 }, { 'X', KEY_RESET }
Esc->Run/Stop : { VK_ESCAPE }, { 0 }, { 'X', KEY_STOP }
0 RShift : { 48 }, { VK_RSHIFT }, { '-', KEY_RSHIFT }, { 'X', KEY_EQUAL }
0 LShift : { 48 }, { VK_LSHIFT }, { '-', KEY_LSHIFT }, { 'X', KEY_EQUAL }

CBM keycodes

KEY_RESET
KEY_LSHIFT
KEY_RSHIFT
KEY_COMMODORE
KEY_CTRL
KEY_LEFTARROW
KEY_UPARROW
KEY_DEL
KEY_HOME
KEY_RETURN
KEY_F1
KEY_F3
KEY_F5
KEY_F7
KEY_CRSR_DOWN 0x8001
KEY_CRSR_RIGHT 0x0401
KEY_COMMA 0x8020
KEY_DOT 0x1020
KEY_SEMICOLON 0x0440
KEY_SPACE 0x1080
KEY_STAR 0x0240
KEY_POUND 0x0140
KEY_STOP 0x8080
KEY_DBLPOINT 0x2020
KEY_MINUS 0x0820
KEY_PLUS 0x0120
KEY_SLASH 0x8040
KEY_EQUAL 0x2040
KEY_0
KEY_1
KEY_2
KEY_3
KEY_4
KEY_5
KEY_6
KEY_7
KEY_8
KEY_9
KEY_AT
KEY_A
KEY_B
KEY_C
KEY_D
KEY_E
KEY_F
KEY_G
KEY_H
KEY_I
KEY_J
KEY_K
KEY_L
KEY_M
KEY_N
KEY_O
KEY_P
KEY_Q
KEY_R
KEY_S
KEY_T
KEY_U
KEY_V
KEY_W
KEY_X
KEY_Y
KEY_Z