tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Driver for Wacom Intuos pen devices
Dear Ryo,
On 2019-10-29, Ryo ONODERA wrote:
> Hi,
>
> Yorick Hardy <yorickhardy%gmail.com@localhost> writes:
>
> > Dear tech-kern,
> >
> > Please find a patch below for a new uintuos driver for two Wacom
> > Intuos tablets (the Art CTH490 and Intuos M). The Intuos M also
> > has a bluetooth mode which I have not looked at.
> >
> > Linux has extensive support for the Wacom devices, but (in my
> > opinion) the code is so tangled that it was much easier to work
> > back from the reports and watching how they changed in response to
> > physical events.
> >
> > This means that the Wacom tablet features are not all supported,
> > but all of the pen features are supported (so it is actually a "pen
> > driver", rather than a "tablet driver").
> >
> > I am quite confident that the larger CTH690 should also work,
> > but I have no device to test with.
>
> Your uintuos(4) driver is very attractive.
>
> Does your uintuos(4) support pen pressure and tilt?
It supports pressure, but does not support tilt (I am not sure that the
supported devices report tilt - but I can look into it).
We have a problem that wscons only supports x, y, z and w so to support
tilt might require changes to wscons (we need more "axes"). I am
willing to work on this if it is the best way forward.
> I am using Wacom pen tablets with Oshima-san's xf86-input-usbtablet.
>
> https://github.com/oshimaya/xf86-input-usbtablet
This looks great! Can we import the driver into xsrc? The only
limitation I see is that the /dev/uhid? node needs to be known before
X starts (no dynamic connection of the device).
With wscons, we can have a wsmux dedicated to the tablet and X does
not need devices to be connected before starting.
The exact node can be determined by iterating through all of the /dev/uhid?
nodes looking for the right report id (for Art CTH490 and Intuos M), something
like
for (i=0, uhid=-1; i<50 && uhid==-1; ++i) {
sprintf(devname, "/dev/uhid%d", i);
j = open(devname, O_RDONLY);
if (j != -1) {
if(ioctl(j, USB_GET_DEVICEINFO, &udi) != -1 &&
udi.udi_vendorNo == 0x056a &&
udi.udi_productNo == 0x033c) {
if(ioctl(j, USB_GET_REPORT_ID, &rid) != -1 && rid == 16) {
uhid = j;
}
}
if (uhid == -1) {
close(j);
} else {
fprintf(stderr, "opened %s\n", devname);
}
}
}
So the "Device" option in xorg.conf could be made optional?
> I need pressure and tilt support for pkgsrc/graphics/gimp.
>
> Thank you.
Understood! Based on the xf86-input-usbtablet, I can have a look
at extending wscons and xf86-input-ws to support tilt also,
do you have an XD-0912-U to test with?
(I take a very long time to do the driver work, so it might
take quite a while before it is ready.)
> --
> Ryo ONODERA // ryo%tetera.org@localhost
> PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
--
Kind regards,
Yorick Hardy
Home |
Main Index |
Thread Index |
Old Index