[Bug 18424] Mac OS X Joystick support doesn't work

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jun 16 04:08:29 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=18424

Jonas Maebe <jonas.bugzilla at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jonas.bugzilla at gmail.com

--- Comment #35 from Jonas Maebe <jonas.bugzilla at gmail.com> 2011-06-16 04:08:28 CDT ---
I looked into this last night after buying Duke Nukem: Manhattan Project from
GOG and trying to play it with a Playstation 3 controller. The game saw and
correctly identified the controller, but did not react to any button presses.
Nevertheless the wine/dlls/dinput/tests/joystick.c test worked fine and did
detect all button presses in interactive mode.

The problem with that game is unrelated to xinput. xinput is also still stubbed
on all platforms, as far as I can tell.

The problem was that while the Mac OS X joystick support code detects all
(HID-supported) joysticks, button presses and stick movements, it does not
actually put any events into the DirectInput queue. As a result, not even pure
DirectInput games work with joysticks on Mac OS X right now. To prevent such
problems in the future, maybe the dinput joystick test should be extended to
also test the dintput event queue (but doing so is beyond my abilities).

After fixing that bug the controller worked fine! There are two minor issues,
but they're not show stoppers:
a) the game is only able to identify the first 12 buttons found by the HID
code. It does recognise presses of the other buttons in the configuration
screen, but is not able to attach any name to them and they also don't work
during gameplay. Maybe that's due to wine identifying the controller as a
joystick rather than as a gamepad (I don't know whether simply changing the
identification from joystick to gamepad is safe, or whether you have to use a
different interface in that case)
b) the buttons are mislabeled in the game: the dpad buttons are recognised as
buttons 5-6-7-8, and the buttons on the right hand side are identified as a
dpad. It also detects moving one of the two sticks as equivalent to pressing
the corresponding "dpad" button (which, as mentioned before, are not actually
the dpad buttons), which is a bit more annoying.

I'll attach the patch to fix the event queue problem tonight when I'm back
home.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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