On Tue, Nov 18, 2014 at 04:42:22PM -0800, Ping Cheng wrote: > Wacom kernel driver has been merged to HID subsystem. As a bonus, > we also allow PAD to report its data on its own interface. To declare > the exact event types, we should not set EV_ABS or EV_X/Y for PADs > on most tablets. > > However, xf86-input-wacom is not designed to handle this case. This > patch makes future PAD-only, or even expresskey-only, tablets work > properly. > > Signed-off-by: Ping Cheng <pi...@wacom.com> > --- > src/wcmUSB.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/src/wcmUSB.c b/src/wcmUSB.c > index 638ffb8..bac3c66 100644 > --- a/src/wcmUSB.c > +++ b/src/wcmUSB.c > @@ -546,6 +546,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo) > > if (!ISBITSET(ev,EV_ABS)) > { > + /* may be an expresskey only interface */ > + if (ISBITSET(common->wcmKeys, BTN_FORWARD) || > + ISBITSET(common->wcmKeys, BTN_0)) > + return Success; > + > xf86Msg(X_ERROR, "%s: no abs bits.\n", pInfo->name); > return !Success; > } > @@ -560,6 +565,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo) > /* max x */ > if (ioctl(pInfo->fd, EVIOCGABS(ABS_X), &absinfo) < 0) > { > + /* may be a PAD only interface */ > + if (ISBITSET(common->wcmKeys, BTN_FORWARD) || > + ISBITSET(common->wcmKeys, BTN_0)) > + return Success; > + > xf86Msg(X_ERROR, "%s: unable to ioctl xmax value.\n", > pInfo->name); > return !Success; > }
Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> for this bit > @@ -755,8 +765,7 @@ int usbWcmGetRanges(InputInfoPtr pInfo) > > if (ioctl(pInfo->fd, EVIOCGBIT(EV_SW, sizeof(sw)), sw) < 0) > { > - xf86Msg(X_ERROR, "%s: usbProbeKeys unable to ioctl " > - "sw bits.\n", pInfo->name); > + xf86Msg(X_ERROR, "%s: unable to ioctl sw bits.\n", pInfo->name); > return 0; > } > else if (ISBITSET(sw, SW_MUTE_DEVICE)) Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net>, if it's split to a separate patch. fwiw, in the future we should use __func__ instead of harcoding function names. Cheers, Peter ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel