mupen64plus-input-sdl / README

Full commit
********Notes about usage of SDL input plugin:
 - If one of the enabled controllers has the "mouse" general-purpose config parameters set
   to True, the plugin will hide the mouse cursor and 'grab' the mouse pointer.  The user
   may press the Left Control and Alt keys together to toggle the mouse cursor on and off.
 - If X/Y analog axes are mapped to keys, a plain keypress will simulate the joystick
   being pressed all the way to the edge.  To decrease the amount of simulated joystick
   deflection, the user may press Right Control, Right Shift, or Right Ctrl+Right Shift.

********Notes for supported joysticks for auto-configuration:

1. Logitech Dual Action gamepad, Logitech Cordless Rumblepad 2:
The digital pad maps to the N64 d-pad.  The left analog stick maps to the N64 analog stick.
The right analog stick maps to the C-buttons,  and the buttons 2 and 1 map to A and B.
Button 4 is the Z trigger, and the top shoulder buttons map to the left and right N64 triggers.
Button 10 is the start button.
The bottom shoulder buttons select the memory pack or rumble pak.

2. Microsoft X-Box 360 pad:
C button U (up) and C button R (right) are assigned to the Y and B buttons.
All 4 C buttons are assigned to the U and V axis (including the already configured up and right C buttons).
The Z button has been assigned to the left trigger and switching the rumble on and off can be done with the right trigger.
Because there are no other buttons left I decided to use the button click behavior of the left joystick to switch Mempak on and off.

3. N64 controller:
All controls are mapped to their proper place on the N64 controller with an Adaptoid or custom hardware with Gamecon driver.
Rumble and Memory packs can be selected with the 'r' and 'm' keys, respectively.

4. SAITEK P880:
The gamepad doesnt have enough keys to real assign all buttons. The second 
analog stick can be used as button by pushing him insight.

General Configuration:
Digital Pad was used as N64 digital pad, First analog stick was used as N64 
Analog stick. The red button was used as N64 Start button. L and R was used 
for N64 L and R. Second analog stick axes was used for N64 C buttons and 
second "analog stick button" was used for C-down. The first column of keys was 
used for A and B and the second and third row was used for C-Buttons - except 
for the Button next to the A button which would be C-Down but got the Z 

5. Playstation 3 Controller:
Left analog stick - analog stick
Right analog stick - C-pad
D-Pad - D-Pad
Cross - A
Square - B
L1 / R1 - L / R
L2 - Z
Start - Start

6. Default Keyboard interface:
Analog Pad is "Arrow Keys"
C Up/Left/Down/Right are "I", "J", "K", "L"
DPad Up/Left/Down/Right are "W", "A", "S", "D"
Z trig is "z" key
L and R trigs are "x" and "c"
Start is "Enter" ("Return")
A is "left shift"
B is "left control"
Select Mempack = ","
Select Rumblepack = "."