[RFC] Multitouch support, step one

Carsten Haitzler (The Rasterman) raster at rasterman.com
Tue Mar 16 18:46:00 PDT 2010

On Wed, 17 Mar 2010 03:22:20 +0200 Daniel Stone <daniel at fooishbar.org> said:

> Hi,
> On Mon, Mar 15, 2010 at 04:56:05PM +1000, Peter Hutterer wrote:
> > Core requires us to always send x/y
> Er, I don't think it does _always_ require it.
> > hence for core emulation we should
> > always include _some_ coordinates that are easily translated. While the
> > server does caching of absolute values, I think it would be worthwile to
> > always have an x/y coordinate _independent of the touchpoints_ in the event.
> > The driver can decide which x/y coordinates are chosen if the first
> > touchpoint becomes invalid.
> Why not just use the first touchpoint for x/y, and when it goes away, no
> more core x/y is sent? Principle of least surprise and all that.

that's what i'd expect. first touchpoint == core emulation. even if apps are
listening to both core and xi2 - they will "expect" core emulation and can
either choose to ignore core events OR ignore first touch point and let core
events work for that (this is the least surprising for toolkits and apps as
they all already handle core events etc.)

> > Hence, the example with 4 valuators above becomes a device with 6 valuators
> > instead. x/y and the two coordinate pairs as mentioned above. If extra data
> > is provided by the kernel driver, these pairs are simple extended into
> > tuples of values, appropriately labeled.
> Yep.
> This all looks fine, really, and doesn't require terribly much work.
> Multi-focus multi-touch is a bit further off, but hey, none of us can
> even particularly describe how it should work, so I don't think it's
> such a pressing issue. :)

agreed. right now we have a definite use case and requirement for mt for "1
client". first touch sets window grab for all mt input and that window gets
delivered the xi2 events for all the mt input - regardless where extra touches
happen. that works for me at any rate. i'm happy with that.

------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com

More information about the xorg-devel mailing list