From 2b23b5cbaf15bccc2aae0ff3ee91cedd26f101bd Mon Sep 17 00:00:00 2001 From: Nebuleon Fumika Date: Mon, 17 Dec 2012 20:59:21 -0500 Subject: Switch to the more complete Snes9x 1.53 documentation. --- source/docs/control-inputs.txt | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 source/docs/control-inputs.txt (limited to 'source/docs/control-inputs.txt') 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: Key names are as recognized by XStringToKeysym. + Kxx:+ 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. -- cgit v1.2.3