Gamepad

Chocolate Doom includes extra support for playing with gamepads, beyond what is supported by Vanilla Doom.



History
In the early '90s when Doom was released, the market for PC game controllers was dominated by joysticks, with few gamepads available (The Gravis Gamepad, shown right, was a notable exception). Most PC joysticks and gamepads had up to four buttons - a hardware limitation of the PC joystick port. Doom supported binding these buttons to the Use, Fire, Strafe and Speed (Run) actions. This limitation meant that gamepads had to be used in concert with a keyboard in order to switch weapons, activate the menu and perform other auxiliary functions.

Doom also included additional support for specific gamepad devices such as the Logitech Cyberman. It also had support for external control drivers that allowed drivers to be written to support new controllers (functionality used to support the Logitech Wingman Warrior controller).

Extended support in Chocolate Doom
Modern gamepad controllers include many more buttons; it's common for controllers to include up to 20 or more buttons. Chocolate Doom supports an essentially unlimited number of buttons, plus the ability to bind additional functions:


 * Strafe left/right (individual strafe keys)
 * Toggle menu
 * Previous/next weapon

Preconfigured support for known gamepads
Different PC gamepads have different button layouts and mappings, meaning that unlike a console, individual buttons often have to be tediously configured one by one. Chocolate Doom attempts to simplify this process with a database of common known controllers. If one of these controllers is detected, the buttons and movement axes will all be automatically configured to a sensible preset layout.

As different gamepads have many different shapes, sizes and numbers of buttons, they cannot all be preconfigured in the same way. But many modern gamepads use a shape similar to the PlayStation Dualshock controller. For these, the default layout looks similar to the following:



Currently known controllers
The following controllers will be automatically detected and configured if detected:


 * Playstation 3 SIXAXIS controller
 * Playstation 4 DualShock 4 controller
 * Nyko AirFlo controller
 * Wii remote (using WJoy on Mac OS X)
 * XBox 360 controller
 * XBox One controller
 * Logitech F310
 * Multilaser JS030
 * Buffalo Classic Controller (USB clone of the classic SNES controller)
 * 8bitdo SFC/SNES30 (bluetooth SNES controller clone)
 * 8bitdo NES30 Pro (bluetooth NES controller clone on steroids)

If your controller is not in the above list, you can help improve Chocolate Doom by gathering some information about it and sending it in. Please see adding your gamepad.