Ryochan7 / DS4Windows

Like those other ds4tools, but sexier
https://ryochan7.github.io/ds4windows-site/
GNU General Public License v3.0
6.99k stars 808 forks source link

DS4 input doesn't work in multiple (all I've tried) games while DS4windows is running #1541

Closed stramner closed 3 years ago

stramner commented 4 years ago

Describe the bug DS4 input doesn't work at all while DS4windows is running. Using wired connection (though if I recall correctly, wireless was the same). I've tested Celeste, Rocket League, and Hades. All 3 games work with my DS4 controller, while DS4windows is off. After launching DS4windows, and then launching a game, my controller is not recognized at all. This applies both for virtual DS4 (emulate ds4 + hide controller [I'm aware hiding shouldn't be used anymore]), physical DS4 (use ds4 input only), and both at the same time (emulate ds4 + no hiding). In device managers, all three options seem to work correctly though. Gamepad Test website seems to recognize only virtual DS4, not the physical one (EDIT: I've tried again and now physical is recognized as well).

To Reproduce Steps to reproduce the behavior:

  1. Launch DS4windows
  2. Select whatever settings
  3. Games that support DS4 windows no longer recognizes DS4 input

Expected behavior DS4 input is recognized

Desktop (please complete the following information):

Additional context I have opened hidninja in the past and have tried to use it, but since then I've deleted all the devices from the "Affected Device List", so as far as I understand it, it shouldn't cause problems. I also didn't install HidGuardian separately or anything, I only have the helper exe that was included with default DS4windows install (it doesn't launch though).

I've tried installing the newest ViGEmBus driver, it only offered option of repair/uninstall, I chose repair.

ds4windows_log.txt

mika-n commented 4 years ago

Steam and ds4 output mode may have problems (because of Steam client stupidity) https://github.com/Ryochan7/DS4Windows/wiki/Troubleshooting#steam-doesnt-see-the-virtual-output-controller-if-a-profile-uses-the-dualshock4-output-type-steam-sees-the-ds4-controller-only-if-ds4windows-uses-xbox360-output-controller-type

stramner commented 4 years ago

2 of those games are EGS games (celeste, rocket league), none of them are steam games. Steam is not running and the issue persists even when launching games through the exe, not EGS (as it's not required). However, the rename fix worked. In regards to the wiki, you guys probably know more than I, but in regards to games blocking it actively, I think it's relevant to say Celeste worked okay 2 months ago on my old PC and I don't think it has been updated since (but I may be wrong).

mika-n commented 4 years ago

Thanks for letting know that the DS4Windows.exe rename trick worked with Celeste. Why it worked few months ago without renaming? I have no idea, because technically DS4Windows itself doesn't do anything different even when renamed. Steam actively ignores DS4 gamepads, so if a DS4Windows profile is in xbox360 output mode then Steam works fine. Maybe you used a profile with xbox360 output mode few months ago and now you use dualshock4 output mode?

Ryochan7 commented 4 years ago

I hate that this has become a trend in quite a few games coming out lately. It was bad enough when Valve implemented the block in Steam although it made sense as Steam Input could handle controller mapping. Games implementing a block is just a pain. Maybe it has to do with Exclusive Mode issues but those issues are usually caused by other devs (Microsoft included) writing bloated software and grabbing HID device references even when not used.

HidGuardian is the main workaround but it really seems like a driver based solution is the only real way to go. Something like Shibari + FireShock but for the DS4

mika-n commented 3 years ago

closed as "cannot be fixed in DS4Windows if a game has shitty code relating the use of gamepad devices". Or try using alternative HidGuardian solution instead of HideDS4Controllre (=exclusive access) option. https://github.com/Ryochan7/DS4Windows/wiki/Exclusive-Mode-(Hide-DS4-Controller-config-option)-tips-and-issues