← Back to team overview

multi-touch-dev team mailing list archive

Re: Peter Hutterer's thoughts on MT in X

 

On 10/18/2010 03:23 AM, Peter Hutterer wrote:
[...]

>> Thanks for showing the implications, Chase. I think it illustrates well that MT
>> and Gestures cannot be separated.
>>
>> If we think of MT events as separate single-finger drags, MT becomes a subset of
>> gestures. 
> 
> I disagree with this point. Unless you expand the gesture dictionary ad
> infintum, you will always find some combination of single-finger drags that
> do not combine into a gesture.


Touchy subject (pun intentended). The statement is about the single-finger drags
being a subset of the possible ways to combine N fingers into something. There
can be no dispute about that. Apparently the word gesture needs to be further
split to allow us to discuss these things unambiguously. It seems to me that all
of "finger configuration", "finger combination" and "context dependent action"
are sometimes referred to as a gesture.

>> In grail, a N-finger gesture overrides all other gestures that can be
>> performed with M < N fingers. 
> 
> At which point do you decide that N fingers are an N-finger gesture and not
> just a random bunch of touch events? This is quite important for my
> understanding, because right now I feel we're not always talking about the
> same thing.


This is where I have used the word multi-user. The decision is a combination of
physical constraints derivable from looking at the raw input data and the
user-supplied, context-dependent knowledge of which contacts can or cannot be
combined into a gesture.

>> This includes one-finger drags. Going back to your
>> example, the natural interpretation is that when the three-finger gesture
>> starts, the two single-finger drags end. 
> 
> [citation needed]


This is actually an implication of the preceding paragraph. If gestures are
defined as a partition of the available contacts into a set of disjoint groups,
then it follows that by changing partitioning, some gestures are created whereas
some are destroyed. If two single fingers are combined into a common group, the
two separate fingers are destroyed.

> I'm actually being serious here. "natural" is quite tricky to define and I'd

> love to see the research that confirms this statement.


Feel free to come up with another gesture definition which changes the
implication above.

>> Perhaps if XI2.1 had the ability to
>> chop a touch up into pieces during replay, the problem could be solved.
>>
>> This thread, as well as talking some more with Peter, makes me think we are
>> pretty close. The things I see we need to do is:
>>
>> 1. Add the ability to limit finger grouping to areas in grail.
>>
>> The separation into finger groups is already there, but it is only based on the
>> incoming data. Adding the ability to split the fingers into groups based on
>> domains could be achieved by an api callback.
>>
>> The visible simplifications during natty would be more expressive power to the
>> application. In particular, the ability to have a dedicated scroll area. It
>> would also enable the possibility to perform all event propagation from within
>> the same process, although we would not push this scenario at all.
>>
>> 2. Add the ability to split touches in XI2.1
>>
>> The passive grab mechanism needs to be able to gracefully handle consumption of
>> touches, such that touch-up and touch-down events are inserted appropriately if
>> the consumer of a touch changes.
> 
> urgh. wouldn't you then get random touch down/up events on the screen,
> depending on which application is currently listened to, and completely
> disconnected from the user's interaction?


Well, if fingers combine into gestures that span more than one application, it
will look weird because of the starting point, i.e., the local perspective that
fingers belong to a single application.

Cheers,
Henrik



References