Hi Daniel, Daniel Stone <[email protected]> (19/01/2011): > + > + if (event->evtype == XI_TouchBegin && event->event != event->child) > + touch_events_received = 0; > + else if (event->evtype == XI_TouchMotion && event->event != event->child > && > + ++touch_events_received == 5) > + XIAllowTouchEvents(event->display, event->sourceid, event->detail, > + (thong ^= 1) ? XITouchOwnerAccept : > + XITouchOwnerReject);
XIAllowTouchEvents is introduced in your libxi patch, so that needs
HAVE_XI2_1 ifdef around.
> }
>
> static void print_devicechangedevent(Display *dpy, XIDeviceChangedEvent
> *event)
> @@ -213,6 +241,16 @@ static void print_propertyevent(Display *display,
> XIPropertyEvent* event)
>
> XFree(name);
> }
> +
> +static void print_touchownershipevent(Display *display,
> + XITouchOwnershipEvent *event)
Ditto for XITouchOwnershipEvent.
> +{
> + printf(" device: %d (%d)\n", event->deviceid, event->sourceid);
> + printf(" touch id: %lx\n", event->touchid);
> + printf(" reason: %x\n", event->reason);
> + printf(" flags: %lx\n", event->flags);
> +}
[…]
> +#else
> + {
> + XIGrabModifiers mods = { XIAnyModifier, 0 };
> + mask.deviceid = XIAllMasterDevices;
> + memset(mask.mask, 0, mask.mask_len);
> + XISetMask(mask.mask, XI_TouchBegin);
> + XISetMask(mask.mask, XI_TouchMotion);
> + XISetMask(mask.mask, XI_TouchMotionUnowned);
> + XISetMask(mask.mask, XI_TouchOwnership);
> + XISetMask(mask.mask, XI_TouchEnd);
> + XIGrabTouchBegin(display, XIAllMasterDevices, win, False, &mask,
> + 1, &mods);
Ditto.
> + }
> +#endif
KiBi.
signature.asc
Description: Digital signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
