mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-16 00:19:55 +00:00
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:
parent
634b0da9a8
commit
e389a19a73
3 changed files with 410 additions and 2 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue