Files
libretro/bios/Other/c64-emu/C64DTV/gtk3_sym.vkm
T

320 lines
7.9 KiB
Plaintext

# VICE keyboard mapping file
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal 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)
# for emulated keyboards that have only one shift key, set both LSHIFT
# and RSHIFT to the same row/col and use RSHIFT for VSHIFT and SHIFTL.
# '!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 these values, flags can be ORed to combine them:
# 0x0000 0 key is not shifted for this keysym/scancode
# 0x0001 1 key is combined with shift for this keysym/scancode
# 0x0002 2 key is left shift on emulated machine
# 0x0004 4 key is right shift on emulated machine (use only this one
# for emulated keyboards that have only one shift key)
# 0x0008 8 key can be shifted or not with this keysym/scancode
# 0x0010 16 deshift key for this keysym/scancode
# 0x0020 32 another definition for this keysym/scancode follows
# 0x0040 64 key is shift-lock on emulated machine
# 0x0080 128 shift modifier required on host
# 0x0100 256 key is used for an alternative keyboard mapping, e.g. C64 mode in x128
# 0x0200 512 alt-r (alt-gr) modifier required on host
# 0x0400 1024 ctrl modifier required on host
# 0x0800 2048 key is combined with cbm for this keysym/scancode
# 0x1000 4096 key is combined with ctrl for this keysym/scancode
# 0x2000 8192 key is (left) cbm on emulated machine
# 0x4000 16384 key is (left) ctrl on emulated machine
#
# 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 (x128)
# 'keysym -4 1' CAPS (ASCII/DIN) key (x128)
# 'keysym -5 n' joyport keypad, key n (not supported in x128)
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
# Symbolic 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
# space
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
!SHIFTL LSHIFT
!LCBM 7 5
!VCBM LCBM
!LCTRL 7 2
!VCTRL LCTRL
#####################
# |Bit 0| DEL |Retrn|C_L/R| F7 | F1 | F3 | F5 |C_U/D|
BackSpace 0 0 8
Delete 0 0 8
Insert 0 0 1
Return 0 1 8
Right 0 2 8
KP_F4 0 2 8
Left 0 2 1
F7 0 3 8
F8 0 3 1
F1 0 4 8
KP_F1 0 4 8
F2 0 4 1
KP_F2 0 5 8
F3 0 5 8
F4 0 5 1
F5 0 6 8
KP_F3 0 6 8
F6 0 6 1
Down 0 7 8
Up 0 7 1
#####################
# |Bit 1| 3 # | W | A | 4 $ | Z | S | E | S_L |
numbersign 1 0 1
dollar 1 3 1
Shift_L 1 7 2
# shift lock
Caps_Lock 1 7 64
#####################
# |Bit 2| 5 % | R | D | 6 & | C | F | T | X |
percent 2 0 1
ampersand 2 3 1
#####################
# |Bit 3| 7 ' | Y | G | 8 ( | B | H | U | V |
apostrophe 3 0 1
grave 3 0 1
parenleft 3 3 1
#####################
# |Bit 4| 9 ) | I | J | 0 | M | K | O | N |
parenright 4 0 1
#####################
# |Bit 5| + | P | L | - | . > | : [ | @ | , < |
plus 5 0 16
minus 5 3 0
period 5 4 0
greater 5 4 1
colon 5 5 16
bracketleft 5 5 1
at 5 6 16
# underscore -> underscore (@+cbm)
underscore 5 6 0x810
comma 5 7 0
less 5 7 1
#####################
# |Bit 6|POUND| * | ; ] | HOME| S_R | = | A_UP| / ? |
sterling 6 0 0
backslash 6 0 0
bar 6 0 8
asterisk 6 1 16
semicolon 6 2 0
bracketright 6 2 1
Home 6 3 8
Shift_R 6 4 4
equal 6 5 0
# Page down -> Arrow Up
asciicircum 6 6 16
Page_Down 6 6 8
slash 6 7 0
question 6 7 1
#####################
# |Bit 7| 1 ! |A_LFT| CTRL| 2 " |SPACE| C= | Q | R/S |
exclam 7 0 1
# tilde -> arrow left
asciitilde 7 1 16
End 7 1 0
Control_L 7 2 16392 /* Control_L = CTRL */
quotedbl 7 3 1
space 7 4 8
Tab 7 5 8200 /* Tab = CBM */
ISO_Left_Tab 7 5 8200 /* Shift + Tab = CBM */
Escape 7 7 8
#####################
# letters and numbers
0 4 3 0
1 7 0 0
2 7 3 0
3 1 0 0
4 1 3 0
5 2 0 0
6 2 3 0
7 3 0 0
8 3 3 0
9 4 0 0
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
Prior -3 1
# Dead keys support for those using US-International keyboard layout.
dead_acute 3 0 1 # '
dead_grave 3 0 1 # '
dead_circumflex 6 6 16 # A_UP
dead_tilde 6 6 16 # A_UP
dead_perispomeni 7 1 16 # Arrow Left
dead_diaeresis 7 3 1 # "
#
# joyport attached keypad
#
Num_Lock -5 0
KP_7 -5 1
KP_8 -5 2
KP_9 -5 3
KP_Divide -5 4
Scroll_Lock -5 5
KP_4 -5 6
KP_5 -5 7
KP_6 -5 8
KP_Multiply -5 9
Sys_Req -5 10
KP_1 -5 11
KP_2 -5 12
KP_3 -5 13
KP_Subtract -5 14
Print -5 15
KP_0 -5 16
KP_Delete -5 17
KP_Enter -5 18
KP_Add -5 19