On Wed, Aug 24, 2011 at 06:39:20PM -0700, Chase Douglas wrote: > Touch grabs are not really synchronous nor asynchronous. Use a separate > grab mode value for touch grabs, just to make the protocol seem more > sane. > > Signed-off-by: Chase Douglas <[email protected]> > --- > XI2.h | 1 + > specs/XI2proto.txt | 11 +++++++++-- > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/XI2.h b/XI2.h > index f6bdbb2..2aea35e 100644 > --- a/XI2.h > +++ b/XI2.h > @@ -72,6 +72,7 @@ > /* Grab modes */ > #define XIGrabModeSync 0 > #define XIGrabModeAsync 1 > +#define XIGrabModeTouch 2 > > /* Grab reply status codes */ > #define XIGrabSuccess 0 > diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt > index 4650997..82f2b42 100644 > --- a/specs/XI2proto.txt > +++ b/specs/XI2proto.txt > @@ -1382,7 +1382,7 @@ you pass to the event-mode argument: > grab_window: Window > cursor: Cursor > owner_events: Bool > - grab_mode: { Synchronous, Asynchronous } > + grab_mode: { Synchronous, Asynchronous, Touch* } > paired_device_mode: { Synchronous, Asynchronous } > num_modifiers: INT16 > mask_len: CARD16 > @@ -1399,6 +1399,8 @@ you pass to the event-mode argument: > GRABMODIFIERINFO { status: Access > modifiers: CARD32 } > > +* since XI 2.1 > + > Establish an explicit passive grab for a button or keycode > on the specified input device. > > @@ -1425,7 +1427,9 @@ on the specified input device. > generated by the server until the grabbing client issues a > releasing XIAllowEvents request or until the device grab is > released. Actual device input events are not lost while the > device > - is frozen; they are simply queued for later processing. > + is frozen; they are simply queued for later processing. If > grab_type > + is GrabtypeTouchBegin, grab_mode must be set to Touch. > + grabs, grab
this seems to be a stray line. Reviewed-by: Peter Hutterer <[email protected]> otherwise, for the whitespace patch too Cheers, Peter > mask_len > Length of mask in 4 byte units. > mask > @@ -1549,6 +1553,9 @@ grab deactivates, addional LeaveNotify events with mode > XIPassiveUngrabNotify are generated and sent to the grabbing client > before the grab deactivates. > > +For GrabtypeTouchBegin, grab_mode must be Touch or a BadValue error > +is generated. > + > See section 4.4 for additional notes on touch grabs, as they do not > behave like traditional grabs: in particular, they do not freeze the > device, and delivery of touch events continues even if the device is > -- > 1.7.4.1 > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
