The attached fix_joystick_axis.patch fixes: DirectInput capabilities were not properly mapped to the Allegro joystick info.
- fixes missing stick and improperly mapped axes.
The attached fix_MP_8866_joystick.patch fixes: MP-8866 Dual USB Joypad sends bad information to DirectInput:
- this work-around is specific to "MP-8866 Dual USB Joypad" only
- fixes analog R-stick is mapped to the Z and RZ axes (two different sticks!)
- fixes first four button names contain junk that cannot be printed.
- also gives some better names to buttons
Two questions:
1. What is the difference between ADD_STRING("my name") vs "my name"? Does ADD_STRING prevent a memory leak or is it possible that the string literal could be modified/deleted? I thought C++ stored string literals statically.
2. Any ideas what the four junk button names were supposed to be? They correlate with the "shape" buttons on Playstation controllers: "Triangle, Circle, X, and Square." I'm guessing the junk was something like Unicode (respectively: 0xA1F7, 0xA1F0, 0xA877, 0xA1F5). Does DirectInput support Unicode names for buttons? Just curious...
John
--
www.leftium.com