Process and deliver touch events
Does not include pointer emulation handling.
Does include partial ownership handling but not the actual processing of
ownership events.
Note: this commit is a retroactive commit extracted from a series of ~50
commits and may thus appear a bit more complicated than what you'd write out
from scratch.
Pointer processing tree is roughly:
- ProcessOtherEvents
- ProcessTouchEvents
- DeliverTouchEvents
- DeliverTouchBeginEvent|DeliverTouchEndEvent|...
- DeliverOneTouchEvent
Also hooks up the event history playing to the right function now.
Co-authored-by: Daniel Stone <daniel@fooishbar.org>
Co-authored-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
This commit is contained in:
@@ -496,7 +496,8 @@ TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource)
|
||||
flags |= TOUCH_POINTER_EMULATED;
|
||||
/* send fake begin event to next owner */
|
||||
nev = GetTouchEvents(tel, dev, ti->client_id, XI_TouchBegin, flags, mask);
|
||||
/* FIXME: deliver the event */
|
||||
for (i = 0; i < nev; i++)
|
||||
DeliverTouchEvents(dev, ti, tel + i, resource);
|
||||
|
||||
valuator_mask_free(&mask);
|
||||
FreeEventList(tel, GetMaximumEventsNum());
|
||||
@@ -506,7 +507,7 @@ TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource)
|
||||
{
|
||||
DeviceEvent *ev = &ti->history[i];
|
||||
ev->flags |= TOUCH_REPLAYING;
|
||||
/* FIXME: deliver the event */
|
||||
DeliverTouchEvents(dev, ti, (InternalEvent*)ev, resource);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user