http://bugs.winehq.org/show_bug.cgi?id=18424
--- Comment #64 from Jonas Maebe jonas.bugzilla@gmail.com 2011-06-26 12:01:54 CDT --- (In reply to comment #62)
..indeed, I checked Red Baron 3D and it seems to be using winmm:joyGetPosEx to obtain the joystick data, so likely it is you've hit the nail on the head here.. ..(but I don't know OSX anywhere near well enough to meld in the needed code)..
I have also done next to no high level Mac OS X (or other OS) programming. My regular programming consists of working on linkers, dynamic instrumentation tools and compiler components.
But it's really not that hard. For the Mac OS X HID stuff, look at the HID Calibrator stuff I mentioned in comment 39, the HID headers (/System/Library/Frameworks/IOKit.framework/Headers/hid and .../hidsystem) and the existing code in joystick_osx.c. I also found the USB HID documentation useful for background information: http://www.usb.org/developers/devclass_docs/Hut1_11.pdf
The Linux DirectInput code is in joystick_linuxinpuc.c, the winmm code in joystick_linux.c. The code in both files seemed fairly similar at first sight. In fact, at first I had no idea why both were present and while searching for their purpose I found a thread on wine-devel where someone proposed merging them (but that was deemed to be not that easy because of the differences in models between winmm and dinput).
In any case, by putting linux_joystick.c and linux_joystickinput.c side by side, and joystick_osx.c next to that, I don't think it should be that hard to create a Mac OS X version for winmm. I don't have any games that require that though, and even if I had I currently don't really have time for it either.
...I've also checked a few other (dinput) titles with wine-1.3.23 and whereas they didn't have joystick input before, now they do .. so that's a good win...
Good!