← Back to team overview

multi-touch-dev team mailing list archive

Re: Current grail architecture and future needs

 

On 10/05/2010 03:46 PM, Chase Douglas wrote:
[...]

> 2. Application specific gesture or non-gesture MT events are performed
> a. A series of MT events are sent by X to the WM and other clients
> (flagged as being grabbed by the WM for now)
> b. WM passes MT events to grail
> c. Grail does not recognize a gesture that WM subscribed to
> d. Grail sends MT events back to WM
> e. WM tells X to "replay" MT events for the touches to other clients
> f. X tells all the client apps they may fully process MT events now
> 
> The issue I see with grail right now is that step c in sequence 2 is
> indefinite in time. We need to ensure that there's a proper timeout so
> the WM can make a decision on the grabbed events.


In the sense that a multi-finger drag never terminates, this is true. By not
listening to the drag gestures, the MT events can be let through to the client.

[...]

> I think the proper grab semantics for the purposes of system-wide
> gestures is for the WM to have a passive grab on MT devices. This grab
> would be activated when a touch begins, and deactivated when a touch
> ends. However, each grab would be per-touch, and the WM could choose to
> "replay" events for any given touch to other clients. Replaying events
> essentially means the client relinquishes the grab for that touch, and
> all further events from that touch will not be grabbed as well.


The passive grab notion fits well into reformulating what we can do today, but
it still leaves more to wish for in terms of touches outside of the window.
Imagine the situation where you have the index finger down on a substrate,
moving it around, reading a map. Now you want to zoom out, so you put down the
thumb to pinch. The thumb finger is outside the window at first, then moved
inside as it approaches the index finger. This feels like a very natural gesture
to me, but it does not fit into our current thinking of passive grabs.

Cheers,
Henrik



Follow ups

References