Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
SDLBugzilla opened this issue Feb 11, 2021 · 0 comments

Comments

@SDLBugzilla
Copy link
Collaborator

This bug report was migrated from our old Bugzilla tracker.

These attachments are available in the static archive:

Reported in version: HG 2.1
Reported for operating system, platform: Windows 10, x86_64

Comments on the original bug report:

On 2016-08-04 20:46:08 +0000, Mikkel Krautz wrote:

[Via http://lists.libsdl.org/pipermail/sdl-libsdl.org/2016-August/100216.html]

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):
mumble-voip/mumble#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:

mumble-voip/mumble#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 zlib license.

Thanks,
Mikkel

On 2016-08-06 13:03:00 +0000, Mikkel Krautz wrote:

The list in the initial PR was a bit incomplete.
Here's a patch on top of the older PR:

mumble-voip/mumble#2489

I'll try to prepare a patch for SDL with the combined changes.
I believe this covers all MS-released gamepad-style XInput devices.

On 2016-08-06 13:18:26 +0000, Mikkel Krautz wrote:

Created attachment 2543
Proposed patch

On 2016-08-06 13:18:58 +0000, Mikkel Krautz wrote:

OK, I've now added a patch to add Xbox One controllers to the XInput filter in the DirectInput joystick driver.

On 2016-08-06 18:05:26 +0000, Mikkel Krautz wrote:

FWIW, I reported this to MS via the Windows Insider feedback hub:
feedback-hub:?contextid=341&feedbackid=d4d0b4e9-35c2-4e7b-aa7a-513a81cd6f6a&form=1&src=2

Apparently only visible on Windows 10 boxes with the Feedback Hub app installed.

On 2016-08-06 18:30:16 +0000, Mikkel Krautz wrote:

Created attachment 2544
Proposed patch, v2

On 2016-08-07 16:05:11 +0000, Ryan C. Gordon wrote:

This patch is now https://hg.libsdl.org/SDL/rev/26104a670291, thanks!

--ryan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant