mupen64plus / mupen64plus-input-sdl

Input plugin for Mupen64Plus v2.0 project using SDL. This is derived from the original Mupen64 blight_input plugin.
GNU General Public License v2.0
43 stars 70 forks source link

Current InputAutoCfg.ini does not have entry for DualShock 4 under Windows 11 (DS4, PS4) #124

Open smbhax opened 1 year ago

smbhax commented 1 year ago

I'm using the PS4 control pad, the DualShock 4 (aka "DS4") with Mupen64Plus in Windows 11, to play WWF No Mercy.

I am using the DS4 plugged in--not wirelessly.

In the Release v2.5.9, the DS4 was auto-detected and mostly worked; the C buttons were scrambled, but changing the C Button assignments under "[Wireless Controller]" in InputAutoCfg.ini to

C Button R = axis(2+) C Button L = axis(2-) C Button D = axis(3+) C Button U = axis(3-)

straightened them out.

When I built and ran just now from the latest code, however, the DualShock 4 controller was not detected by the emulator; it appeared to trigger a search for "[PS4 Controller]," which was not listed in InputAutoCfg.ini.

To get it working, I had to add the following to my InputAutoCfg.ini:

[PS4 Controller] plugged = True mouse = False AnalogDeadzone = 4096,4096 AnalogPeak = 32768,32768 DPad R = button(14) DPad L = button(13) DPad D = button(12) DPad U = button(11) Start = button(6) Z Trig = button(4) B Button = button(2) A Button = button(0) C Button R = axis(2+) C Button L = axis(2-) C Button D = axis(3+) C Button U = axis(3-) R Trig = button(10) L Trig = button(9) Mempak switch = Rumblepak switch = X Axis = axis(0-,0+) Y Axis = axis(1-,1+)

lafrech commented 1 year ago

Thanks for putting me on the right track.

I have a Dualshock 4 as well and thanks to the instruction on Debian Wiki I managed to get a satisfying layout with the following setup in /usr/share/games/mupen64plus/InputAutoCfg.ini:

[Wireless Controller]
plugged = True
mouse = False
AnalogDeadzone = 4096,4096
AnalogPeak = 32768,32768
DPad R = axis(6+)
DPad L = axis(6-)
DPad D = button(7+)
DPad U = button(7-)
Start = button(9)
Z Trig = button(4)
B Button = button(3)
A Button = button(0)
C Button R = axis(3+)
C Button L = axis(3-)
C Button D = axis(4+)
C Button U = axis(4-)
R Trig = button(7)
L Trig = button(6)
Mempak switch =
Rumblepak switch = button(8)
X Axis = axis(0-,0+)
Y Axis = axis(1-,1+)