On Fri, Sep 14, 2012 at 5:04 PM, Jason Gerecke <[email protected]> wrote: > Like in recent versions of xf86-input-evdev, grabbing the input device > with EVIOCGRAB should be optional. This would enable for example > indicator applets, and would improve dynamic handling of different input > devices. > > Proposed patch extended to document new GrabDevice driver option. > > https://sourceforge.net/tracker/?func=detail&aid=3509828&group_id=69596&atid=525124 > > Reported-by: H Sundelin > --- > man/wacom.man | 6 ++++++ > src/wcmUSB.c | 17 +++++++++-------- > 2 files changed, 15 insertions(+), 8 deletions(-) > > diff --git a/man/wacom.man b/man/wacom.man > index e938cf5..0502860 100644 > --- a/man/wacom.man > +++ b/man/wacom.man > @@ -197,6 +197,12 @@ paths on the tablet. There are 12 levels, specified by > the integers between > "number" will be logged into the Xorg log file. This option is only > available if the driver was built with debugging support. > .TP 4 > +.B Option \fI"GrabDevice"\fP \fI"bool"\fP > +sets whether the underlying event device will be grabbed by the driver to > +prevent the data from leaking to /dev/input/mice. When enabled, while the > +X server is running, no other programs will be able to read the event > +stream. Default: "false". > +.TP 4 > .B Option \fI"CursorProx"\fP \fI"number"\fP > sets the max distance from tablet to stop reporting movement for cursor in > relative mode. > Default for Intuos series is 10, for Graphire series (including Volitos) is > diff --git a/src/wcmUSB.c b/src/wcmUSB.c > index f25116b..b970e1c 100644 > --- a/src/wcmUSB.c > +++ b/src/wcmUSB.c > @@ -138,16 +138,17 @@ usbStart(InputInfoPtr pInfo) > { > int err; > > -#ifdef EVIOCGRAB > - /* Try to grab the event device so that data don't leak to > /dev/input/mice */ > - SYSCALL(err = ioctl(pInfo->fd, EVIOCGRAB, (pointer)1)); > - > - /* this is called for all tools, so all but the first one fails with > - * EBUSY */ > - if (err < 0 && errno != EBUSY) > + if (xf86CheckBoolOption(pInfo->options, "GrabDevice", 0)) > + { > + /* Try to grab the event device so that data don't leak to > /dev/input/mice */ > + SYSCALL(err = ioctl(pInfo->fd, EVIOCGRAB, (pointer)1)); > + > + /* this is called for all tools, so all but the first one fails > with > + * EBUSY */ > + if (err < 0 && errno != EBUSY) > xf86Msg(X_ERROR, "%s: Wacom X driver can't grab event device > (%s)\n", > pInfo->name, strerror(errno)); > -#endif > + } > return Success; > } > > -- > 1.7.12 >
Seemed like a reasonable enough request, and I'm getting tired of having to drop to a TTY just to run evtest (or disable xf86-input-wacom to run mtview). :D Jason --- When you're rife with devastation / There's a simple explanation: You're a toymaker's creation / Trapped inside a crystal ball. And whichever way he tilts it / Know that we must be resilient We won't let them break our spirits / As we sing our silly song. ------------------------------------------------------------------------------ How fast is your code? 3 out of 4 devs don\\\'t know how their code performs in production. Find out how slow your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219672;13503038;z? http://info.appdynamics.com/FreeJavaPerformanceDownload.html _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
