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