Tim Schumacher : dinput: Check for wheel axes/ buttons when finding joysticks.
Module: wine Branch: master Commit: 66462cb7dcff05df68edf398e42641b24c940d99 URL: https://source.winehq.org/git/wine.git/?a=commit;h=66462cb7dcff05df68edf398e... Author: Tim Schumacher <timschumi(a)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(a)gmx.de> Signed-off-by: Alexandre Julliard <julliard(a)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)))
participants (1)
-
Alexandre Julliard