http://bugs.winehq.org/show_bug.cgi?id=18424
--- Comment #14 from Mr Nobody limited_choice@hotmail.com 2010-12-31 05:46:08 CST --- (In reply to comment #11)
As I said in the initial bug report, the descent freespace demo also doesn't work.
There are a few things to understand when considering this problem:
The joystick support in Wine only works when built for Leopard and above.
Last I checked, the popular build of Wine by Mike Kronenberg was built for
Tiger and thus didn't include the joystick code. This could have changed by now -- it's been quite a while since I looked into this.
- When I poked through the Wine joystick code it looked like it might only
support somewhat newer versions of directx (v5 and up maybe?). IL-2 for one example uses an older version of directx. Not being an expert on this codebase, I could be mistaken.
I wouldn't disqualify IL-2 as a test case. It works fine with USB sticks in Windows and thus it should be supported in Wine. It might not be the best case to *start* with, but it's an extremely popular flight sim and worthy of support.
It's not that I'm being dismissive (nor derisive) of IL-2 ; it is indeed a great flightsim that redefined the genre -- all I'm saying is if the USB HID isn't being seen in linux, I don't really expect to see it in OSX either with the same wine tree. Likewise, there can often be disparity between game vendor releases, the Flatout titles being a good example ; I don't know of anyone that's managed to get the gog.com release(s) running in OSX ; Steam versions work fine (and have a different setup GUI with more screenmode support) - it just throws another variable into the fray...differnt versions may use different methods...(unlikely, but possible)..
Some apps actually seem to have defined presets built into them, and use the HID if it happens to be connected -- Rockstar's GTA-3 series tend to do this. YMMV here depending on controller device VID/PID...
I do concur that most complaints tend to be coming from that sector of older apps, many of which were coded/existed before USB became mainstream. You mention Descent/Freespace, I *think* I recall them working with gameport connected HID but not USB (same caveat applies, must be /dev/js0), and the MegaRace series and a few other racing sims of that circa fit in here too.
This would be a little OT here and somewhat missing the point, but the observation must be made that my experience regarding these older app titles, that were indeed coded for the gameport device, is that they do still seem to work just fine in wine (linux) with a gameport connected HID appearing at /dev/js0. Be it a puristic view or whatever, but that would be Wine doing an outstanding job of accurately running the win32 app/game, 'just as it worked in Windows back in 199something'...it's just not particularly useful as legacy gameport support falls to deprecated hardware status (if not already there), with USB in it's stead. Either way, what we're effectively asking for is that some win32 app recognize and work with something it was never designed/coded for. More so the case in OSX obviously...I doubt it'd even have the old gameport device driver...or am I wrong?
Best I can figure it, the current situation is one of USB HID input actually working in OSX more or less 'as expected' (Flatout2, Volvo the Game, KartRacer all seem to work with USB HIDs), but when it comes to older apps/games it could be the simple case of lacking necessary hardware support. Like I say, if Windows users can do it, I'd have to suspect 3rd party drivers at work, as likely there's no gameport present in that case, either. The win32 drivers might possibly create a virtual gameport device in the normally assigned I/O range for gameport, and feed/eat the USB data to that virtual device concurrent with dx-input ; perhaps the Windows driver layer itself facilitates this..{shrug}...
This....is what I meant by 'confusion' concerning this bug ; it's not really the case of OSX lacking USB input support ; it is an equally shared situation with both linux and OSX, in that we can't communicate with older apps/games coded for the 'traditional' gameport device, with modern USB based HIDs.
It would seem more app specific than it is OS-centric imho ; if there's any apps/games out there that were coded in 'USB aware' times and USB HID doesn't work when it should, that would be a bug but only against that app.
Apps/games coded -before- USB awareness and that were never designed (or been updated/patched) for USB HID support, are a different matter altogether, as they work fine with the hardware they were coded for (in linux). If one could recreate the testbed...Mac+emu10k1+gameport_driver+12 year old HID....I'd probably guess these older apps would work in OSX just like they do in the linux case (if only it were that easy)...point is, the fact these apps don't work with USB input is not really a failing/bug on wine's part for mine, nor is it OSX specific - most of these older games don't see USB HID in linux either.
...I wonder if we should close this bug as being a 'misnomer', and have folks submit bugs on a per app basis, to better vet the situation...