aboutsummaryrefslogtreecommitdiff
path: root/source/docs/control-inputs.txt
diff options
context:
space:
mode:
authorNebuleon Fumika2012-12-17 20:59:21 -0500
committerNebuleon Fumika2012-12-17 20:59:21 -0500
commit2b23b5cbaf15bccc2aae0ff3ee91cedd26f101bd (patch)
tree41a0a905763d79d85812380b1296ad11b0ef42bf /source/docs/control-inputs.txt
parent43bcd26dca5a747953e3a3083d4d4b4bad8e1c7c (diff)
downloadsnes9x2005-2b23b5cbaf15bccc2aae0ff3ee91cedd26f101bd.tar.gz
snes9x2005-2b23b5cbaf15bccc2aae0ff3ee91cedd26f101bd.tar.bz2
snes9x2005-2b23b5cbaf15bccc2aae0ff3ee91cedd26f101bd.zip
Switch to the more complete Snes9x 1.53 documentation.
Diffstat (limited to 'source/docs/control-inputs.txt')
-rw-r--r--source/docs/control-inputs.txt68
1 files changed, 68 insertions, 0 deletions
diff --git a/source/docs/control-inputs.txt b/source/docs/control-inputs.txt
new file mode 100644
index 0000000..4faddc3
--- /dev/null
+++ b/source/docs/control-inputs.txt
@@ -0,0 +1,68 @@
+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:
+ # - A number. The range is detemined by the context
+ ## - 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.