RFC: multitouch support

Tiago Vignatti vignatti at freedesktop.org
Fri Dec 16 07:59:36 PST 2011

From: Tiago Vignatti <tiago.vignatti at intel.com>


The RFC comprehends four parts:
- evdev multitouch support for direct devices
- compositor multitouch events notification 
- libtoytoolkit gesture recognizer for pinch and zoom
- app cairo image example

The compositor doesn't keep any touch information and just forwards all to the
picked surface i.e. client. That being said, multiple client support is not in
place yet and I believe we would have to change the protocol a bit in a way
that grabs are mapped for each touch point (currently we have only one grab
per device). Also, the whole multitouch mechanism inside the compositor is not
reliable in setting the correct pointer focus and picking the according
surface. I rather not touch this side as well due we'll be changing the
enter/leave events semantics a bit in input rework.

But at this point it doesn't require any protocol changes, which is rather
cool. You can check the work here as well:



Tiago Vignatti (6):
  evdev: add ABS_MT_* support for direct touch devices
  compositor: emulates button touches and notifies surfaces accordingly
  toytoolkit: add multitouch support with sample gesture mechanism
  clients: image: pick random image when no arguments are passed
  clients: image: use cairo for getting image
  clients: image: add touch handler support for resizing

 clients/image.c         |  286 ++++++++++++++++++++++++++++++----------------
 clients/window.c        |  253 +++++++++++++++++++++++++++++++++++++++++
 clients/window.h        |    8 ++
 compositor/compositor.c |  109 ++++++++++++++++++
 compositor/compositor.h |    4 +
 compositor/evdev.c      |  158 ++++++++++++++++++++++----
 6 files changed, 695 insertions(+), 123 deletions(-)


More information about the wayland-devel mailing list