On Wed, Dec 21, 2011 at 12:34 PM, Tiago Vignatti
<vigna...@freedesktop.org> wrote:
> From: Tiago Vignatti <tiago.vigna...@intel.com>
>
> Hi,
>
> Following Kristian suggestions, I updated the patchset with the following:
> - driver now accumulates input coordinates to send along touch_down
> - updated the protocol touch_down event with surface field, meaning the focus
>  surface of a touch device
> - compositor now uses a touch_focus pointer (self explicative), where it's
>  picked when the first finger is down; all further events go there until it
>  gets released
> - not doing pointer emulation for now; that will come next.
>
> I still using the cairo image as PoC. So the client surfaces now are picked
> correctly, giving a quite smooth effect for pinch/zoom gesture introduced on
> the last patches. My tree rebased with latest master branch is here:
>
>    http://cgit.freedesktop.org/~vignatti/wayland-demos/log/?h=multitouch-v2
>
> I'll be in vacation for two weeks, starting from tomorrow. See y'all in the
> next year and enjoy the holiday. Peace!

There are still a lot of problems with these patches, but I want to
move forward on this.  I picked the first two patches and edited them
to get the basics into shape, then added a few fixes on top.   The
evdev part was mostly fine, but the event delivery had a number of
problems:

 - we can't overwrite device->x,y, that's the pointer position
 - we have to deliver the surfaces relative coordinates, not the
global coordinates to clients
 - touch_up was never delivered since you clear touch_focus_resource
just before testing it for NULL

Moreover, we need to track each touchpoint position in the evdev part
so that when we get only ABS_MT_POSITION_X (or Y), we have the other
coordinate.  Finally, we need to handle losing both the touch focus
surface or the input device client resource without crashing.

Most of these issues are obvious if you look at the event stream (use
WAYLAND_DEBUG=1) and the missing transformation to surface coordinates
would have been clear with a simple multi-touch-paint test client,
like the one I added.

Kristian
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to