Module: wine Branch: master Commit: 66462cb7dcff05df68edf398e42641b24c940d99 URL: https://source.winehq.org/git/wine.git/?a=commit;h=66462cb7dcff05df68edf398e...
Author: Tim Schumacher timschumi@gmx.de Date: Fri May 31 16:42:00 2019 +0200
dinput: Check for wheel axes/buttons when finding joysticks.
Signed-off-by: Tim Schumacher timschumi@gmx.de Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/dinput/joystick_linuxinput.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c index e4f5db8..8d80b34 100644 --- a/dlls/dinput/joystick_linuxinput.c +++ b/dlls/dinput/joystick_linuxinput.c @@ -234,10 +234,16 @@ static void find_joydevs(void)
/* A true joystick has at least axis X and Y, and at least 1 * button. copied from linux/drivers/input/joydev.c */ - if (!test_bit(joydev.absbits, ABS_X) || !test_bit(joydev.absbits, ABS_Y) || + if (((!test_bit(joydev.absbits, ABS_X) || !test_bit(joydev.absbits, ABS_Y)) && + !test_bit(joydev.absbits, ABS_WHEEL) && + !test_bit(joydev.absbits, ABS_GAS) && + !test_bit(joydev.absbits, ABS_BRAKE)) || !(test_bit(joydev.keybits, BTN_TRIGGER) || test_bit(joydev.keybits, BTN_A) || - test_bit(joydev.keybits, BTN_1))) + test_bit(joydev.keybits, BTN_1) || + test_bit(joydev.keybits, BTN_BASE) || + test_bit(joydev.keybits, BTN_GEAR_UP) || + test_bit(joydev.keybits, BTN_GEAR_DOWN))) { close(fd); continue; @@ -259,6 +265,8 @@ static void find_joydevs(void) test_bit(joydev.keybits, BTN_BASE4) || test_bit(joydev.keybits, BTN_BASE5) || test_bit(joydev.keybits, BTN_BASE6) || + test_bit(joydev.keybits, BTN_GEAR_UP) || + test_bit(joydev.keybits, BTN_GEAR_DOWN) || test_bit(joydev.keybits, BTN_DEAD);
if (!(joydev.device = HeapAlloc(GetProcessHeap(), 0, strlen(buf) + 1)))