diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-20 16:32:52 -0800 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-21 12:38:35 +1000 |
commit | e389a19a730055d4550ff708da83c78099a516fd (patch) | |
tree | 797d9bff8297db71c12a08a8664bc8d651dd24aa /dix | |
parent | 634b0da9a83076d0e9e0fc44dc5dc77b0c368bc1 (diff) |
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>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/touch.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/dix/touch.c b/dix/touch.c index 3e45e35a4..5615f2be6 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -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); } } |