[PATCHES] Multitouch v3 - please review/test

Chase Douglas chase.douglas at canonical.com
Fri Dec 17 12:59:30 PST 2010

On 12/17/2010 12:09 PM, Daniel Stone wrote:
> Hi all,
> I've now got multitouch to a stage I'm pretty happy with: grabs and the
> 'not-for-you' events are implemented basically as discussed and seem to
> be working fine, and it's good with both indirect (a Magic Mouse) and
> direct (a Lenovo IdeaPad S10-3t) touch devices.
> The major difference here is obviously the event delivery: instead of
> delivering only to the first applicable target, we now deliver to all
> grabbing clients, and the first selecting client.  An 'owner' flag
> denotes whether or not the client currently owns the stream: grabbing
> clients may accept the touch (which ceases delivery to all other
> clients), or reject it (removing them from the delivery list and passing
> ownership on to the next client).
> Note that adding a grab or a selection does not result in starting to
> receive touch events mid-stream: if you did not receive the TouchBegin,
> you will never receive any events for that touch stream.
> At the moment, the spec wording could definitely use some cleaning up,
> and ProcessTouchEvents gets a bit hairy in places[0], which could
> definitely be improved by some more pretty macros, or further
> refactoring of EventIsDeliverable and friends.
> But at this stage, it really just needs some active review and testing -
> if you guys could please have a look over it, it'd be much appreciated.
> I'll send the patches as followups to this, and they're also in the
> 'multitouch' branches of the following repos:
>     git://people.freedesktop.org/~daniels/inputproto[1]
>     git://people.freedesktop.org/~daniels/xserver
>     git://people.freedesktop.org/~daniels/libXi
>     git://people.freedesktop.org/~daniels/xinput[2]

Awesome work!

I haven't reviewed the protocol specification changes yet, nor have I
performed any code review. I built some test packages, but I found that
touches sometimes do not come through. I believe I saw some touches from
my magic trackpad on the first run of xinput test-xi2, but I can't get
any more now. Seems like it gets stuck. I think I may have seen the same
issue during one test of my touchscreen too.

I won't really have time to debug this myself until I get back after new
years, but I hope that's enough information for you to try to reproduce.
My testing base is my 1.9 server backport, but I didn't come across any
odd conflicts that make me wonder if they were a cause of this, but of
course there could be rebase bugs even without conflicts. You can find
the code at:

git://anongit.freedesktop.org/~cndougla/xserver multitouch-stable.

Denis, you've been the primary user of my backport PPA. Would you like
me to upload this update into the PPA now, or wait until this touch bug
is fixed?

Thanks again Daniel!

-- Chase

More information about the xorg-devel mailing list