From 905e7b0e2ef99c7ccfa5a3dda0844d5ea40afc77 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sun, 31 Mar 2019 13:02:27 +0200 Subject: [PATCH] winejoystick: Add support for wheel axes. Wheel, gas, and brake are replacements for X, Y and Z in wheel-like joysticks. Remap them internally to send inputs as X, Y, and Z. Signed-off-by: Tim Schumacher Signed-off-by: Alexandre Julliard --- dlls/winejoystick.drv/joystick_linux.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dlls/winejoystick.drv/joystick_linux.c b/dlls/winejoystick.drv/joystick_linux.c index 85ad2fe1f37..8d1a7b1a25a 100644 --- a/dlls/winejoystick.drv/joystick_linux.c +++ b/dlls/winejoystick.drv/joystick_linux.c @@ -270,10 +270,13 @@ LRESULT driver_joyGetDevCaps(DWORD_PTR dwDevID, LPJOYCAPSW lpCaps, DWORD dwSize) switch (jstck->axesMap[i]) { case 0: /* X */ case 1: /* Y */ + case 8: /* Wheel */ + case 9: /* Gas */ lpCaps->wNumAxes++; break; case 2: /* Z */ case 6: /* Throttle */ + case 10: /* Brake */ lpCaps->wNumAxes++; lpCaps->wCaps |= JOYCAPS_HASZ; break; @@ -322,13 +325,16 @@ LRESULT driver_joyGetPosEx(DWORD_PTR dwDevID, LPJOYINFOEX lpInfo) if (ev.type == (JS_EVENT_AXIS)) { switch (jstck->axesMap[ev.number]) { case 0: /* X */ + case 8: /* Wheel */ jstck->x = ev.value; break; case 1: /* Y */ + case 9: /* Gas */ jstck->y = ev.value; break; case 2: /* Z */ case 6: /* Throttle */ + case 10: /* Brake */ jstck->z = ev.value; break; case 5: /* Rz */