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

Brendan McGrath brendan at redmandi.com
Mon Nov 19 19:03:23 CST 2018


I think the intent of "Map Controllers" is to define if the SDL 
controller functionality will be used or not - but this currently comes 
with the XBOX masquerade.

My intent is to allow use of the SDL controller functionality without 
the masquerade (i.e. call SDL_GameControllerOpen and get the 
SDL_CONTROLLER events).

On 20/11/18 11:35 am, Zebediah Figura wrote:
> On 11/19/2018 11:06 AM, Zebediah Figura wrote:
>> On 11/19/2018 10:57 AM, Andrew Eikum wrote:
>>> 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
>>>
>>>
>>
>> While we're at it, if we really do need a registry hack, a better 
>> place would probably be the existing WineBus key.
>>
>>
>
> Actually, now that I look at the code, doesn't the "Map Controllers" 
> value already do exactly this?
>
>



More information about the wine-devel mailing list