[PATCH] winebus.sys: Allow XBOX Masquerade to be turned off

Andrew Eikum aeikum at codeweavers.com
Mon Nov 19 10:57:26 CST 2018


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



More information about the wine-devel mailing list