← Back to team overview

multi-touch-dev team mailing list archive

Re: New Multitouch Games

 

> > How can a pointer grab stop a touch? A touch origins at a slave
> > device, and I can imagine grabbing the pointer of a master device fed
> > from that slave device. However, I cannot imagine that grab stopping
> > the slave device touches from being delivered to someone listening to
> > that device.
> 
> What you've described is correct for pointer devices, but not for touch
> devices. A device grab is intended to yield exclusive access to the
> stream of events from that device. Continuing to send touch events when
> the stream of events has been pointer grabbed breaks this exclusivity. I
> will think more about this though.

I can see exlusivity working for the master device, but I am
questioning whether this really needs to propagate back to the slave
device. If the master is detached from the slave, and the master is
grabbed, it makes a lot of sense that events are still
available. Similarly, it makes no sense to pointer-grab a slave
device, which does not event have to be a pointer in the first
place. I wonder if one cannot continue to loosely couple master and
slave devices, by not propagating pointer grabs across the
master/slave boundary.

> >> Another way would be to take the pointer events and translate them to
> >> touch events internally if they are pointer emulated. To determine
> >> whether they are pointer emulated would require converting them to XI
> >> 2.1 grabs again, though. But if you don't mind people trying to use a
> >> mouse, you could just translate all the mouse events.
> > 
> > Really, this sounds more complicated than it needs to be.
> 
> No one would disagree :). Again, we're caught having to work within a
> window system that forces us to integrate pointers and touches when that
> should never be the case. And SDL is actively pointer grabbing all the
> time, and whenever you do that things invariably get more complicated.

The touch interface is brand new, so we are not forced to couple
things tighter than absolutely necessary - what ever that means.

Thanks,
Henrik



References