RPCS3 / rpcs3

PS3 emulator/debugger
https://rpcs3.net/
GNU General Public License v2.0
15.17k stars 1.89k forks source link

Support for Dualshock 4 under DS4Windows #5403

Closed vico93 closed 5 years ago

vico93 commented 5 years ago

Currently, under Gamepads settings any Dualshock 4 connected using @Ryochan7 's DS4Windows fork will only be detected under Xinput devices, and not in the dedicated Dualshock 4 (which i presume only works for SCP package).

Yeah, i know this would be a very low-priority request, but why not? If rpcs3 can detect a Dualshock 4 installed with SCP, detecting DS4Windows would be good too, mainly to expose features like Gyro (currently DS4W serves via an UDP implementation), touch, any extra buttons and actions not supported under "vanilla" Xinput specification.

Anyway thanks in advance for reading this ticket!

vico93 commented 5 years ago

Screenshot showing the issue: image

For reference, i'm using DS4W backed by Vigem driver.

RipleyTom commented 5 years ago

DS4Windows exists for things that don't natively support the DS4 to pass it as a xinput. Either use it as an xinput device with DS4Windows or use our native handler.

vico93 commented 5 years ago

And what about support for Gyro via UDP (provided by DS4W) just like other emulators like cemu did? Good for sixaxis emulation.

isJuhn commented 5 years ago

We already support sixaxis with ds4 through our native handler

vico93 commented 5 years ago

Oh! Sorry to bother you, but where can i find instructions to setup that? Newcomer to PS3 emulation here.

MSuih commented 5 years ago

Just set the input handler to Dualshock 4, and the emulator will automatically use the motion control features in it. No futher tweaks are required.

vico93 commented 5 years ago

@MSuih but as i said in OP selecting Dualshock 4 the device selection is disabled (see screenshot)

AniLeo commented 5 years ago

Probably because 3rd party hooks are interfering. Disable them and try again.

vico93 commented 5 years ago

Meh, i need to talk with @Ryochan7 on DS4Windows repo about how to temporarially disable DS4W, because i cant connect with the controller while DS4W is off (perharps vigem or hidguardian are blocking the controller somehow).

Anyway thanks for the help.

Ryochan7 commented 5 years ago

I would guess that exclusive mode is active either from DS4Windows or due to using HidGuardian. One note should be made that if you are using a Bluetooth connection, the original DirectInput controller would be visible to other programs in Shared Mode but it would be seen as a dead controller. You would have to reconnect the controller while DS4Windows is not running in order for other programs to use it.

Edit: Since the program is capable of using the gyro, I guess that the HID device is being used so the note about DirectInput should not matter.

vico93 commented 5 years ago

Thanks @Ryochan7 for the explanation!