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.
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
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
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.
|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.|
|PowerA||Switch Wired Controller||Y||?||Use Dinput for Controller Backend.|