[PATCH] dinput: Dont treat Stylus devices as joysticks.

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Wed Oct 9 03:14:46 CDT 2019


Tablet/Stylus devices have a js* entry which we are
treating as a yoystick.  Any testbox VM that is configured
with is a tablet is currently failing the joystick tests.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 dlls/dinput/joystick_linux.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/dlls/dinput/joystick_linux.c b/dlls/dinput/joystick_linux.c
index 67898a708d7..3ecbf441aad 100644
--- a/dlls/dinput/joystick_linux.c
+++ b/dlls/dinput/joystick_linux.c
@@ -168,6 +168,7 @@ static INT find_joystick_devices(void)
         struct JoyDev joydev, *new_joydevs;
         BYTE axes_map[ABS_MAX + 1];
         SHORT btn_map[KEY_MAX - BTN_MISC + 1];
+        BOOL is_stylus = FALSE;
 
         snprintf(joydev.device, sizeof(joydev.device), "%s%d", JOYDEV_NEW, i);
         if ((fd = open(joydev.device, O_RDONLY)) == -1)
@@ -241,12 +242,22 @@ static INT find_joystick_devices(void)
                 case BTN_DEAD:
                     joydev.is_joystick = TRUE;
                     break;
+                case BTN_STYLUS:
+                    is_stylus = TRUE;
+                    break;
                 default:
                     break;
                 }
             }
         }
 
+        if(is_stylus)
+        {
+            TRACE("Stylus detected. Skipping\n");
+            close(fd);
+            continue;
+        }
+
         if (ioctl(fd, JSIOCGAXMAP, axes_map) < 0)
         {
             WARN("ioctl(%s,JSIOCGAXMAP) failed: %s\n", joydev.device, strerror(errno));
-- 
2.23.0




More information about the wine-devel mailing list