[RFC libinput] Add an API for touchpad gesture events
Bill Spitzak
spitzak at gmail.com
Tue Jan 27 11:35:16 PST 2015
On 01/26/2015 09:49 PM, Jonas Ã…dahl wrote:
> I'd say either this (2fg swipe doesn't exist), or generate both scroll
> events and 2fg swipe gesture events for 2fg swiping movements. Either
> the 2fg scroll feature "eats" its corresponding swipe gesture feaure
> and we ignore its existance, or we emit multiple independent events for
> the same input.
>
> I'm don't really understand *why* we wouldn't want to emit multiple
> events for the same input, aside from that it might end up in shoot foot
> scenario implementation wise. And ideals maybe.
I think you *must* support this or you will not be able to add new
gestures in the future: if you add a new gesture and it started
producing a new event and stopped producing whatever it did before, than
any client that does not know about the new gesture would just not
respond to the event. It would be preferable if the client continued to
act like before.
I think the way to do this is to add something to the event to indicate
that it is "final". This could possibly be a different set of event
types or another field added to the events. Events would be sent in
order from "highest" to "lowest".
A "swipe" might send events (once the fingers are moving fast enough
that it is a swipe) like this:
- Swipe down
- Scroll down
- Drag two fingers down
- Drag finger 2
- Drag finger 1
Some gestures take some time to recognize, so it may have to defer
sending events until it decides. For instance if it needs to decide
between swipe and scroll it may not send anything until it figures out
how fast the fingers are moving. I think this is the way it is working
now anyway, right?
More information about the wayland-devel
mailing list