On Sat, Nov 17, 2018 at 04:08:10PM +1100, Brendan McGrath wrote:
Elite Dangerous appears to iterate input devices via DInput and will only defer to XInput if there is a HID device with a matching VID and PID.
The current behaviour of the SDLBUS is to masquerade any controller as an XBOX controller. This causes Elite Dangerous to treat any other type of contoller as a Joystick.
This patch allows this masquerading behaviour to be switched off via a REG_BINARY registry entry: HKCU\Software\Wine\XInput\MasqueradeXBOXController
0 - Turns it off (so it uses the real VID and PID 1 - Turns it on (so it uses the XBOX controller VID and PID)
This seems kind of inelegant. Is there some way to programmatically distinguish the device you have from a more typical gamepad? Maybe some SDL function that classifies the device, or the presence of non-rumble FFB?
If not, another approach would be to have a VID/PID override in the registry, which defaults to the Xbox values, but users can unset to allow the true VID/PID through.
Andrew