From 34389477895f220f01e844c11ccb7b23fd9e52b4 Mon Sep 17 00:00:00 2001 From: Andrey Zabolotnyi Date: Mon, 15 Jan 2018 01:32:42 +0300 Subject: [PATCH xf86-input-evdev] Fix handling of devices with only buttons (e.g. tablet pads). When transforming 'only buttons' device into a pseudo-mouse by adding relative X and Y axes, EVDEV_RELATIVE_EVENTS flag must be set on device, otherwise it gets classified as a keyboard by X11. --- src/evdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/evdev.c b/src/evdev.c index f627fd0..cffed7f 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -2353,8 +2353,10 @@ EvdevProbe(InputInfoPtr pInfo) pInfo->type_name = XI_TOUCHSCREEN; } else { if (!libevdev_has_event_code(pEvdev->dev, EV_REL, REL_X) || - !libevdev_has_event_code(pEvdev->dev, EV_REL, REL_Y)) + !libevdev_has_event_code(pEvdev->dev, EV_REL, REL_Y)) { + pEvdev->flags |= EVDEV_RELATIVE_EVENTS; EvdevForceXY(pInfo, Relative); + } xf86IDrvMsg(pInfo, X_INFO, "Configuring as mouse\n"); pInfo->type_name = XI_MOUSE; } -- 2.9.3