Controllers

From DuckStation Wiki
Jump to navigation Jump to search

Bindings for Qt frontend

Your keyboard or game controller can be used to simulate a variety of PlayStation controllers. Controller input is supported through DInput, XInput, and SDL backends and can be changed through Settings -> General Settings.

To bind your input device, go to Settings -> Controller Settings. Each of the buttons/axes for the simulated controller will be listed, alongside the corresponding key/button on your device that it is currently bound to. To rebind, click the box next to the button/axis name, and press the key or button on your input device that you wish to bind to. When binding rumble, simply press any button on the controller you wish to send rumble to.

SDL Game Controller Database

DuckStation releases ship with a database of game controller mappings for the SDL controller backend, courtesy of the SDL_GameControllerDB. The included gamecontrollerdb.txt file can be found in the database subdirectory of the DuckStation program directory.

If you are experiencing issues binding your controller with the SDL controller backend, you may need to add a custom mapping to the database file. Make a copy of gamecontrollerdb.txt and place it in your user directory (or directly in the program directory, if running in portable mode) and then follow the instructions in the SDL_GameControllerDB repository for creating a new mapping. Add this mapping to the new copy of gamecontrollerdb.txt and your controller should then be recognized properly.

Default bindings

Controller 1:

   D-Pad: W/A/S/D
   Triangle/Square/Circle/Cross: Numpad8/Numpad4/Numpad6/Numpad2
   L1/R1: Q/E
   L2/R2: 1/3
   Start: Enter
   Select: Backspace

Hotkeys:

   Escape: Power off console
   ALT+ENTER: Toggle fullscreen
   Tab: Temporarily disable speed limiter
   Pause/Break: Pause/resume emulation
   Page Up/Down: Increase/decrease resolution scale in hardware renderers
   End: Toggle software renderer

Compatible Controllers

A list of compatible controllers that have been tested and confirmed working or not working, notes are provided in case of special instructions to get them working.

Manufacturer Controller Windows Linux Notes
Sony DualShock 4 Y ? Windows machines will require Bluetooth adaptor, use SDL for Controller Backend
Sony DualShock 5 Y ? Windows machines will require Bluetooth adaptor, use SDL for Controller Backend
Microsoft Xbox One Y ? Use Xinput for Controller Backend, USB and Wireless, Bluetooth for Xbox One S Type and later controllers.
Microsoft Xbox 360 Wired Y ? Use Xinput for Controller Backend.
?? (Cheap Brand) DualShock 3 Wired Y ? Works with Dinput backend, do not recommend these as buttons and D-Pad tend to stick.
YoK Wireless Controller N ? Not Compatible with SDL or Xinput, Dinput works and button presses register with DuckStation but causes games to halt/not be playable from main menus.