2010-09-25 15:46:12 +00:00
|
|
|
Control input names are completely defined by the individual ports. This
|
|
|
|
document is intended to collect the rules for all ports.
|
|
|
|
|
|
|
|
The various meta-characters in the rules are:
|
2015-04-23 19:56:15 +00:00
|
|
|
# - A number. The range is determined by the context
|
2010-09-25 15:46:12 +00:00
|
|
|
## - A two-digit number (i.e. with leading zeros)
|
|
|
|
[...] - Something optional
|
|
|
|
(...) - For grouping with |
|
|
|
|
| - "or", choose one of the options.
|
|
|
|
<...> - A named field
|
|
|
|
{...} - A list of possible values. Multiple values may be used, but they
|
|
|
|
must be in the order listed and joined with +-signs.
|
|
|
|
"" - 'ditto', used to indicate the same list as the above line.
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
Unix
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
Input names:
|
|
|
|
Jxx:Axis# Axis # on joystick xx. Axis0 may be
|
|
|
|
Up/Down, and Axis1 Left/Right.
|
|
|
|
Jxx:B# Button # on joystick xx.
|
|
|
|
|
|
|
|
Jxx:{M1,M2,M3,M4,M5,M6,M7,M8}+B# Used with the 'JSx Meta#' port
|
|
|
|
Jxx:{M1,M2,M3,M4,M5,M6,M7,M8}+Axis# command.
|
|
|
|
|
|
|
|
Jxx:X+B# Used to 'define' this key for all
|
|
|
|
Jxx:X+Axis# combinations of JS Meta.
|
|
|
|
|
|
|
|
Port-specific Commands:
|
|
|
|
JSx Meta# Used to specify modifier keys (i.e. Shift, Control) to
|
|
|
|
affect the specified joystick. For example, you could
|
|
|
|
map J00:B20 to "JS0 Meta1", then map J00:B0 to "Joypad1
|
|
|
|
A" and J00:M1+B0 to "Joypad1 Turbo A". '#' may range
|
|
|
|
from 1-8.
|
|
|
|
|
|
|
|
Jsx ToggleMeta# Like the above, but toggles the meta-state each time
|
|
|
|
the button is pressed.
|
|
|
|
|
|
|
|
================================================================================
|
|
|
|
Unix/X11
|
|
|
|
================================================================================
|
|
|
|
|
|
|
|
Keyboard Input:
|
|
|
|
|
|
|
|
Note that only one keyboard (K00) is currently supported. If you know how
|
|
|
|
to support multiple keyboards (and can test it!), feel free to fix x11.cpp
|
|
|
|
and delete this note.
|
|
|
|
|
|
|
|
Keyboard modifiers are S=Shift, C=Control, A=Alt, M=Meta. Combine them in
|
|
|
|
order, i.e. all 4 would be "SCAM".
|
|
|
|
|
|
|
|
Kxx:<keyname> Key names are as recognized by XStringToKeysym.
|
|
|
|
Kxx:<mods>+<keyname> Note however that keys are mapped by keycode,
|
|
|
|
so for example on a standard qwerty keyboard
|
|
|
|
"K00:colon" and "K00:semicolon" are identical.
|
|
|
|
|
|
|
|
Pointer Input:
|
|
|
|
|
|
|
|
Note that only one mouse (M00) is currently supported. If you know how to
|
|
|
|
support multiple pointing devices (and can test it!), feel free to fix
|
|
|
|
x11.cpp and delete this note.
|
|
|
|
|
|
|
|
Mxx:Pointer Map the mouse pointer. If someone has a mouse
|
|
|
|
Mxx:Pointer# device with multiple pointers, fix x11.cpp to
|
|
|
|
report that and you can use the second syntax.
|
|
|
|
|
|
|
|
Mxx:B# Mouse buttons.
|