DirectInput joystick driver's XInput detection broken on Windows 10 Anniversary Update

Mikkel Krautz <[email protected]>
Newsgroups gmane.comp.lib.sdl
Message-ID <CAAJZzgbHvcntnNt4AjKWvaMPsLoFop7Fto3mfVCTBiqv==XoUg@mail.gmail.com>
Hi,

We use the XInput detection code from SDL's DirectInput joystick code
in Mumble (https://www.mumble.info).

This is the code I am talking about:
https://hg.libsdl.org/SDL/file/e8281b14970c/src/joystick/windows/SDL_dinputjoystick.c#l238

We just received a bug report that the detection is broken on Windows
10 Anniversary Update (1607):
https://github.com/mumble-voip/mumble/issues/2483

I debugged it for a bit, and it doesn't seem like the "IG_" check
works anymore when using the anniversary update. The "IG_" check is
this:
https://hg.libsdl.org/SDL/file/e8281b14970c/src/joystick/windows/SDL_dinputjoystick.c#l296

For now, we've worked around the issue by adding GUIDs for
wired/wireless/bluetooth Xbox One controllers to the list of well
known XInput devices:

https://github.com/mumble-voip/mumble/pull/2484

This works around the issue for people using Xbox One controllers.

If there is any interest, feel free to copy the GUIDs from the PR
above into SDL, under SDL's MIT license.

Thanks,
Mikkel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.