add options to override virtual device name and vendor/product/version IDs #171
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.