Ryochan7 / DS4Windows

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

Temporarily disable virtual controller? #732

Closed Lombra closed 5 years ago

Lombra commented 5 years ago

So, I have an issue with a plugin for Euro Truck Simulator 2. It's a plugin that improves the force feedback in the game. Unfortunately it refuses to work when any sort of virtual controller is present. (as far as I can tell) I have previously identified vJoy and Steam Input emulation as causing the plugin not to work. And now, (I assume with the recent changes) I am 95% sure DS4Windows has also become a conflict.

Obviously, I don't expect anything to be done on this end, but the plugin developer won't or can't do anything about it, so in the meantime I wonder if there's a way to temporarily disable the "system"? I don't know if this is on the DS4Windows or Vigem level. Shutting down DS4Windows did not help. I had to disable the underlying devices in device manager (and reboot) to make the Wireless Controller device disappear, which would then allow the plugin to function.

If there's no good way to do this, ie without needing to reboot or causing all the issues that this new controller system was meant to fix I will probably have to look for another solution entirely.

mika-n commented 5 years ago

I play ETS2 with DS4Windows+DS4 gamepad using the steering wheel emulation mode of DS4Win app (ie. motion sensor gyro steering), so I’m a bit curious about the plugin you use and the problem. I guess you use a real steering wheel controller, but what is the exact problem? Does the plugin send force feedback events to a virtual controller? Or does it crash? Or simply silently doesn’t do anything?

If the plugin accidentally binds to a virtual device then maybe you could use HiDGuardian tool to hide physical and virtual controllers when you dont need those?

Lombra commented 5 years ago

The game crashes trying to load the plugin.

HidGuardian sounds like it might help. Will take a look.

Ryochan7 commented 5 years ago

Sounds like it would be an exclusive mode problem. HidGuardian would probably be your best bet as there isn't much that can be done by a normal application depending on what you have running on your system.

Although, disabling the virtual controller can be done a couple of different ways. "Use DInput only" and Stopping DS4Windows are ways to disable the virtual controller temporarily. However, neither technique will work correctly when using a Bluetooth connection. The real controller will be present to the system but it will be seen as a dead controller. That might be a bigger source of your problems. The only app that I know of that has massive issues due to the hardware behavior is Kodi. The same behavior happens when using the Steam mapper as well so it is not just an issue with DS4Windows.