On 03/15/2012 07:38 PM, Thorsten Wißmann wrote: > 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 <[email protected]> > Signed-off-by: Maximilian Krüger <[email protected]> > --- > 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;
I think the problem here is that on a touchscreen device we would be sending motion events at the same time the server is emulating motion events when the event is due to a touch event. I think what needs to happen is that we generate an event only if BTN_TOOL_* is true for an evdev packet. Thanks! -- Chase _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
