[0/1] winejoystick.drv/joystick_osx.c: fixed axes mapping, add feature support

David Lawrie david.dljunk at gmail.com
Fri Jun 10 01:11:39 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).

David Lawrie (1):
  winejoystick.drv/joystick_osx.c: fixed axes mapping, add feature

 dlls/winejoystick.drv/joystick_osx.c | 171 ++++++++++++++++++++++++-----------
 1 file changed, 119 insertions(+), 52 deletions(-)

-- (Apple Git-37)

More information about the wine-patches mailing list