Dear Ryo, On 2019-10-29, Ryo ONODERA wrote: > Hi, > > Yorick Hardy <yorickha...@gmail.com> 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 // r...@tetera.org > PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3 -- Kind regards, Yorick Hardy