chrippa / ds4drv

A Sony DualShock 4 userspace driver for Linux
MIT License
1.05k stars 213 forks source link

add options to override virtual device name and vendor/product/version IDs #171

Open taleden opened 5 years ago

taleden commented 5 years ago

Some games' built-in support for certain controllers seems not to work correctly when run via wine, but if the USB IDs of ds4drv's virtual uinput device are changed to something that does not emulate a real device (i.e. a real DS4 or XBox controller), then it works just fine as a "generic joystick."

Specifically, Elite Dangerous run via Steam/Proton has this problem. If ds4drv's virtual vid:pid match a real DS4 or Xbox controller, then the game cannot bind actions to certain controller functions (such as the touchpad click); conversely if ds4drv sets the vid:pid to 0:0, then the game thinks the controller is invalid and cannot save control bindings for it at all. But by "spoofing" the vid:pid (using i.e. 27dc:16c0), the controller works perfectly.