[PATCH v6 inputproto 1/1] Multitouch updates for pointer emulation

Daniel Stone daniel at fooishbar.org
Tue Feb 8 10:24:47 PST 2011


Hi,

On Tue, Feb 08, 2011 at 10:12:19AM -0800, Keith Packard wrote:
> On Tue, 8 Feb 2011 10:53:19 +0000, Daniel Stone <daniel at fooishbar.org> wrote:
> > This
> > means that one touch event may be simultaneously sending touch events
> > through to touch clients, and enqueuing emulated pointer events as the
> > device is frozen for a grab.  Fun times.
> 
> Does this mean the WM cannot consume the 'click to raise' event and that
> the client will always see a touch event at that time? So we essentially
> have two completely independent devices, one pointer and one touch that
> happen to get events from the same underlying hardware?

Yes and no.  I should've been more explicit here.  The activated pointer
grab counts as the owner of the touch, so if you have the WM grabbing
for pointer events on a frame window and the app listening for touch
events on the child, the app will get TouchUpdateUnowned until the WM
decides what to do with it.

If the WM consumes the event and indicates so to the server with
Sync{Pointer,Both}, this is treated the same as a client calling
XIAllowTouchEvents with XITouchOwnerAccept: the app gets a TouchEnd
event indicating that the owner accepted the event.

If, however, the WM is disinterested and punts down the stack with
Replay{Pointer,Both}, this is treated the same as a client calling
XIAllowTouchEvents with XITouchOwnerReject: the app gets a
TouchOwnership event indicating that it is now the owner of the touch.

Either way, the end result is (should be?) indistinguishable from the WM
having a touch grab instead of a pointer grab, to everyone else in the
stack.

Should probably clarify that in the spec ...

Cheers,
Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110208/41c6b508/attachment.pgp>


More information about the xorg-devel mailing list