Multitouch followup: gesture recognition?

Peter Hutterer peter.hutterer at
Fri Mar 26 03:00:57 PDT 2010

On Fri, Mar 26, 2010 at 10:38:53AM +0100, Simon Thum wrote:
> [I reordered for readability]
> Am 26.03.2010 01:37, schrieb Peter Hutterer:
> > On Thu, Mar 25, 2010 at 11:38:59AM +0100, Simon Thum wrote:
> >> Also, this way you _know_ gestures are unified, which makes them easier
> >> to learn. Development-wise, I think the approach would allow for best
> >> practices to evolve, which could then be retrofitted into the extension.
> >  
> > I claim that gestures _cannot_ be perfectly unified. 
> > Unify them, but unify them in gtk-gesture, qt-gesture or libgesture. But not
> > in an X extension. A gesture is lossy abstraction of input and what is a
> > zoom gesture in one application is a gesture to move two points
> > apart in another application. Reducing the latter to a ZoomBy10% gesture
> > means to lose the information. So you need to provide both raw data and
> > gesture data anyway.
> I didn't mean to unify _all_ gestures. Their semantics need to remain in
> the application anyway. When I referred to _WM props I thought about a
> prop like _NET_WM_ALLOWED_ACTIONS, which would list what gestures are
> sensible in the client. So raciness isn't an issue here.
> I admit the use cases I had in mind originally weren't as rich as
> today's touch interactions. So the approach may be unsuitable, though
> I'm not convinced it is.
> > sorry. i think you can some extra events in for hacking up a
> prototype. For
> > an actual solution, I don't think an extension is the solution - but
> sending
> > events from one client to another one isn't the solution either IMO.
> Then it boils down to whether one wants first class gesture events, and
> if yes, where shall they be coming from? If no, how to deal with e.g. a
> 'switch app' gesture?

The WM. if you don't put e.g. 4 fingers down for the swipe, it simply
ignored the gesture and passes it on. If you do, then it tries to convert it
to the underlying gesture and if that fails, it's passed on to the client.

yes, this will introduce latency for unrecognized gestures. No, I don't know
how to get around that problem other than specifying the gestures in a way
that minimises overlap :)

More information about the xorg-devel mailing list