Multitouch followup: gesture recognition?

Simon Thum simon.thum at gmx.de
Tue Mar 30 01:19:14 PDT 2010


Am 29.03.2010 10:08, schrieb Florian Echtler:
> Hi again, I've been reading some background stuff on the X architecture,
> so maybe I now have a better understanding of what we are actually
> talking about:
> 
>>> On one hand, I agree. But I believe that this problem is exactly what my
>>> formalism solves. By a) allowing applications to customize gestures and
>>> b) restricting them to certain screen regions (*), this isn't a
>>> contradiction anymore. E.g. what's a zoom gesture to the first app on
>> Which of course means the extension needs to transport the necessary
>> information, or describe other means of transport (e.g. the props I
>> mentioned, though as Peter pointed out, they're not good for live
>> communication).
>> This seems essential to your approach, so the feasibility of a server
>> extension (oranything else, but a extension incurs overhead) depends a
>> fair bit on the dynamics of your gesture customization.
> Just specifying what gestures a specific window would be interested in
> wouldn't usually be "live", would it? That's something defined at
> creation time and maybe changed occasionally over the lifetime, but not
> constantly.
Which is why a declarative approach is OK for that. It's the dynamics
that make it harder. More specificially, the dynamic part of your
formalism likely needs tailored requests.

If you want to try a special client, it's therefore sensible to divide
your requests and events into route-through (client -> special gesture
client or sgc -> client) and server-processed (server->sgc or sgc->
server), if possible.

>> So whether a special client detects gestures or the server itself, the
>> server needs to deliver events, and the client needs to be able to
>> receive them. This is where XGE and libXi kick in.
> Okay, it seems I'm slowly getting it. Please have a look at the attached
> PDF - this should illustrate the combination of 2/4, correct? (the
> normal Xinput events should probably be duplicated to the clients in the
> classical manner).
Yes, that's very much the picture I have in mind. For completeness'
sake, you might want libXi or libXgesture in clients.

At any rate, it shouldn't matter to clients what instance (server
component, special client, *) actually detects gestures. They only see
the server extension, or a prototype XInput + gesture requests/events.

Cheers,

Simon


More information about the xorg-devel mailing list