[PATCH] dinput: Check for wheel axes/buttons when finding joysticks
Tim Schumacher
timschumi at gmx.de
Fri May 31 09:42:00 CDT 2019
Signed-off-by: Tim Schumacher <timschumi at gmx.de>
---
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 e4f5db848c..8d80b34812 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)))
--
2.21.0
More information about the wine-devel
mailing list