[PATCH] Process ABS_{X,Y}, even if multitouch is enabled

Thorsten Wißmann edu at thorsten-wissmann.de
Thu Mar 15 20:37:14 PDT 2012


This allows the processing of cursor motion events for input devices
that provide both absolute multitouch events (e.g. by fingers) and
touchless motion events (e.g. special pens)

Signed-off-by: Thorsten Wißmann <edu at thorsten-wissmann.de>
Signed-off-by: Maximilian Krüger <maxfragg at gmail.com>

(The previous diff had an unwanted newline, now it is fixed)
---
 src/evdev.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/evdev.c b/src/evdev.c
index d540b87..b857b83 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -832,7 +832,7 @@ EvdevProcessAbsoluteMotionEvent(InputInfoPtr pInfo,
struct input_event *ev)
     if (ev->code >= ABS_MT_SLOT) {
         EvdevProcessTouchEvent(pInfo, ev);
         pEvdev->abs_queued = 1;
-    } else if (!pEvdev->mt_mask) {
+    } else if (!pEvdev->mt_mask || ev->code == ABS_X || ev->code == ABS_Y) {
         map = pEvdev->axis_map[ev->code];
         valuator_mask_set(pEvdev->vals, map, value);
         pEvdev->abs_queued = 1;
-- 
1.7.9.3


More information about the xorg-devel mailing list