[PATCH 1/2] dinput: Fix Xbox One controller D-pad on Mac.

Brendan Shanks bshanks at codeweavers.com
Tue Feb 9 16:38:57 CST 2021


Signed-off-by: Brendan Shanks <bshanks at codeweavers.com>
---
 dlls/dinput/joystick_osx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/dinput/joystick_osx.c b/dlls/dinput/joystick_osx.c
index 4ec72465500..b91b9d14b12 100644
--- a/dlls/dinput/joystick_osx.c
+++ b/dlls/dinput/joystick_osx.c
@@ -840,10 +840,10 @@ static void poll_osx_device_state(LPDIRECTINPUTDEVICE8A iface)
                                 return;
                             val = IOHIDValueGetIntegerValue(valueRef);
                             oldVal = device->generic.js.rgdwPOV[pov_idx];
-                            if (val >= 8)
+                            if ((val > device->generic.props[idx].lDevMax) || (val < device->generic.props[idx].lDevMin))
                                 newVal = -1;
                             else
-                                newVal = val * 4500;
+                                newVal = (val - device->generic.props[idx].lDevMin) * 4500;
                             device->generic.js.rgdwPOV[pov_idx] = newVal;
                             TRACE("valueRef %s val %d oldVal %d newVal %d\n", debugstr_cf(valueRef), val, oldVal, newVal);
                             if (oldVal != newVal)
-- 
2.26.2




More information about the wine-devel mailing list