[v2 0/1] winejoystick.drv/joystick_osx.c: fixed axes mapping, add feature support
david.dljunk at gmail.com
Fri Jun 10 15:37:02 CDT 2016
This patch fixes Slider and Ry/Rx axes mapping and adds support for
general multi-axis controllers (up to 6-axis controllers), steering
wheels w/ accelerators/brakes, multiple sliders/dials/wheels (up to 3),
rudder pedals, and throttles.
1) Slider now maps to Z, U, or V depending on availability
2) Ry now maps to U
3) Rx now maps to V
Windows defines Winmm U as Dinput Ry and V as Dinput Rx. Original joystick_osx.c mapping was other way around. This is also a bug in the Linux Winmm joystick version (not fixed with this patch). Sliders are supposed to map to the Z-axis (or U/V axes if Z is taken).
1) Driver will find Multi-axis controller type in addition to gamepad and joystick
2a) In function collect_joystick_elements, under Generic Desktop page, patch adds support for multiple Sliders, Dials, and Wheels up to 3. First Slider/Dial/Wheel maps to Z, Second -> U, Third -> V.
2b) Patch also adds support for controller features defined by HID Simulation page: Rudder (Rz), Throttle (Z), Steering (X), Accelerator (Y), Brake (Rz).
Tested on Red Baron 3D, X-wing vs Tie Fighter, X-wing Alliance, Independence War deluxe w/ Logitech Extreme 3D pro and ControllerMate virtual joystick with multiple axes.
David Lawrie (1):
winejoystick.drv/joystick_osx.c: fixed axes mapping, add feature
Signed-off-by: David Lawrie david.dljunk at gmail.com
dlls/winejoystick.drv/joystick_osx.c | 143 +++++++++++++++++++++++++----------
1 file changed, 105 insertions(+), 38 deletions(-)
2.5.4 (Apple Git-61)
More information about the wine-patches