[Bug 45992] New: Some Unity games expect XInputSetState to succeed or ignore gamepad input

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Oct 15 02:38:30 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=45992

            Bug ID: 45992
           Summary: Some Unity games expect XInputSetState to succeed or
                    ignore gamepad input
           Product: Wine
           Version: unspecified
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: xinput
          Assignee: wine-bugs at winehq.org
          Reporter: beren.minor+wine at gmail.com
      Distribution: ---

Created attachment 62554
  --> https://bugs.winehq.org/attachment.cgi?id=62554
Force HID_set_state to succeed

As described in the title, it looks like that some games (Unity based AFAIK)
are calling XInputSetState on detected gamepads, and expect it to return
ERROR_SUCCESS.

For example, "Mages of Mystralia" - Unity engine based - was not detecting my
XBox360 gamepad correctly, with wine 3.18, although many calls to
XInputGetState were logged, and although it looked to be correctly detected
according to HID messages. I believe this also happens for other Unity games.

For some reason, the gamepad force feedback support is not detected (not sure
if it should under wine), and the feature flag isn't present on the
corresponding device, so XInputSetState > HID_set_state returns
ERROR_UNSUPPORTED.

Changing ERROR_UNSUPPORTED to ERROR_SUCCESS - see attached patch file - fixes
the gamepad detection issue, and the game accepts gamepad input afterwards. Of
course, this isn't the proper way to fix the issue, but it's a workaround for
the games.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list