Age | Commit message (Collapse) | Author | Files | Lines |
|
PE touches need to be ended later on in the event processing stack. This
commit will leave these touches hanging for now.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Move the type change to the wire conversion. This will help keep things
sane for pointer emulation.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Shamelessly copied bits from fill_pointer_events() and positionSprite().
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
This allows for checking the range of types between ET_TouchBegin and
ET_TouchEnd.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Pointer emulated touch events are enqueued to syncEvents while a grab is
active on the device. If a touch grab is accepted, the client has
already seen all the touches, and the touch events must be removed from
the queue.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
I could not wrap my head around what pendtail was attempting to do
without serious effort and pen and paper. All it needs to be is a simple
pointer to the last event in the queue, or NULL if there are no events.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
The initial motion event occurs before a potential passive grab
activation, and thus should never be sent twice.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
This is needed for future pointer emulation work.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Pointer emulated results are shifted so they can be discerned from touch
event results.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Touch IDs are sent in the detail field as well, which causes a clash in
pointer grabbing of emulated touch events. Pushing button mapping to
event delivery time will help work around this issue.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
So we can call ProcessDeviceEvent from DeliverTouchEvents without
forward declaring it.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
These functions generate wire protocol input events from internal touch
events for pointer emulation.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Rather than restructuring the code to figure out who to send it to, simply
filter out those that shouldn't get it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
A grab that doesn't select for ownership events and is not the top-most grab
should not get the TouchBegin event just yet - it still counts as a grab
however.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Current implementation requires DIX events to submit x/y valuator
information. Complain if it's missing.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
When a non-owner touch client gets an emulated TouchBegin event, also send
it all TouchUpdate events that we have in the history for this touch.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
DOES NOT YET COVER NON-OWNER GRABS
Clients without ownership handling will need a begin + a series of update
events once they become owners. Store a set of events in the touchpoint so
we can replay on-demand.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
Store whatever the latest valuator information is and reuse for the emulated
TouchEnd events. Emulated TouchBegin events still have the wrong information.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
TouchBegin events must not be sent to clients that don't want TouchOwnership
unless they are the immediate owner. They must still be added to the
listeners array though.
If they are the current owner already do not send the TouchBegin event
again, otherwise the client gets added twice.
This patch only covers regular clients, not grabbing clients that don't
select for TouchOwnership.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|