[PATCH evdev 2/2] Fix generation of proximity-in/out events.
Peter Hutterer
peter.hutterer at who-t.net
Mon May 28 06:01:59 UTC 2018
From: Andrey Zabolotnyi <zapparello at ya.ru>
Invoking xf86PostProximityEvent with no valuators does nothing, so we
have to provide a valid valuator set to the call.
https://bugs.freedesktop.org/show_bug.cgi?id=104562
[whot: slight change from 104562
abs_vals is reset on every frame but old_vals is kept around to remember the
last value of the valuator (and is updated to the current values before
processing the frame). We expect the prox in to have x/y, so let's just
unconditionally use old_vals for proximity events.]
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/evdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/evdev.c b/src/evdev.c
index d07ee0a..6b5eadd 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -915,7 +915,7 @@ EvdevPostProximityEvents(InputInfoPtr pInfo, int which)
break;
case EV_QUEUE_PROXIMITY:
if (pEvdev->queue[i].val == which)
- xf86PostProximityEvent(pInfo->dev, which, 0, 0);
+ xf86PostProximityEventM(pInfo->dev, which, pEvdev->old_vals);
break;
}
}
--
2.14.3
More information about the xorg-devel
mailing list