Subject: Re: Wacom USB tablet and XF86 4.3.0?
To: None <matthieu.herrb@laas.fr>
From: Dave Huang <khym@azeotrope.org>
List: tech-x11
Date: 01/03/2004 03:24:40
On Fri, Jan 02, 2004 at 01:57:53PM -0600, Dave Huang wrote:
> I wonder if there's any chance that NetBSD is parsing the descriptor
> incorrectly... I didn't look too closely, but it doesn't seem like the
> Linux driver does anything different between a Graphire2 and a
> Graphire3. I'll look around some more and see what I can find :)

It looks like the tablet does have a vendor-specific page for report
ID 2... However, I read the input reports from Windows, and the data
looks to be formatted the same as the Graphire/Graphire2. So, I put
together an override like the one in sys/dev/usb/ugraphire_rdesc.h,
which got rid of the "no X, Y, or In_Range report" message. However,
it still didn't work, and reading from /dev/uhid0 returned nothing.
Then I noticed that the kernel module portion of the Linux wacom
driver was writing 0x0202 to the feature report in report ID 2; I
used the USB_SET_REPORT ioctl to do the same thing, and now reading
/dev/uhid0 returns data and the usbtablet driver works :) GIMP doesn't
seem to be noticing the stylus pressure, but perhaps that's a
configuration problem in GIMP...

So, I guess now the question is: where should I set that feature? If
in the usbtablet driver, how do I tell if the tablet is a Graphire3? I
don't see any way of getting the USB vendor and product IDs given the
uhid device. Doing it in uhidev.c would be easy, but it seems a bit
messy to be changing a device's configuration in there. On the other
hand, it's already overriding the report descriptor.
-- 
Name: Dave Huang         |  Mammal, mammal / their names are called /
INet: khym@azeotrope.org |  they raise a paw / the bat, the cat /
FurryMUCK: Dahan         |  dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 28 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++