Re: [DIGImend-users] DIGImend: Need frame button diagnostics
Brought to you by:
spb_nick
From: Benjamin T. <ben...@re...> - 2015-03-17 02:13:49
|
On Mar 17 2015 or thereabouts, Sergey Jin' Bostandzhyan wrote: > OK, you gave me some pointers, I know what was wrong. > > On Mon, Mar 16, 2015 at 09:15:15PM -0400, Benjamin Tissoires wrote: > > If your distribution enabled src checksum, you can compare: > > the SRCVERSION field of modinfo ./hid-uclogic.ko in the > > digimend-kernel-driver tree and the output of > > cat /sys/module/hid_uclogic/srcversion > > The problem I had was: I still had the hid-huion module around and > somehow it got loaded first, instead of hid-uclogic. > > After removing the old hid-huion module and modprobing hid-uclogic > things started to look as expected, I see only one device now: > > xsetwacom --list devices > HUION PenTablet Pen stylus id: 15 type: STYLUS > > > (giving that out of my head, I don't have it enabled ATM). > > > > Also, xinput should show at least: > > That's what I have, so looks good: > > ⎡ Virtual core pointer id=2 [master pointer (3)] > ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] > ⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)] > ⎜ ↳ MCE IR Keyboard/Mouse (ite-cir) id=13 [slave pointer (2)] > ⎜ ↳ HUION PenTablet Pen stylus id=15 [slave pointer (2)] > ⎜ ↳ HUION PenTablet Mouse id=16 [slave pointer (2)] > ⎜ ↳ HUION PenTablet Consumer Control id=17 [slave pointer (2)] > ⎣ Virtual core keyboard id=3 [master keyboard (2)] > ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] > ↳ Power Button id=6 [slave keyboard (3)] > ↳ Video Bus id=7 [slave keyboard (3)] > ↳ Power Button id=8 [slave keyboard (3)] > ↳ Sleep Button id=9 [slave keyboard (3)] > ↳ CNF7017 id=10 [slave keyboard (3)] > ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)] > ↳ ITE8708 CIR transceiver id=14 [slave keyboard (3)] > ↳ HUION PenTablet Keyboard id=18 [slave keyboard (3)] > ↳ HUION PenTablet System Control id=19 [slave keyboard (3)] You are missing the "HUION PenTablet Pad pad" interface... > > > Here's also the updated dmesg log with the uclogic module: > > [49913.355176] usb 6-2: new full-speed USB device number 4 using > uhci_hcd > [49913.500176] usb 6-2: New USB device found, idVendor=256c, > idProduct=006e > [49913.500182] usb 6-2: New USB device strings: Mfr=5, Product=6, > SerialNumber=0 > [49913.500186] usb 6-2: Product: PenTablet > [49913.500189] usb 6-2: Manufacturer: HUION > [49913.509671] input: HUION PenTablet Pen as > /devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/0003:256C:006E.0007/input/input41 > [49913.509928] input: HUION PenTablet Pad as > /devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/0003:256C:006E.0007/input/input42 ... which is created here. [edit: keeping this part for documenting purpose, this is not required right now, we would have to update the xf86-input-wacom driver first. See below] So actually, you are just missing a udev rule to properly tag the device as a ID_INPUT_TABLET: [bentiss@plouf ~]$ cat /etc/udev/rules.d/65-digimend.rules # udev rules for digimend devices ACTION!="add|change", GOTO="digimend_end" KERNEL!="event[0-9]*", GOTO="digimend_end" ENV{ID_BUS}=="usb", ENV{ID_VENDOR_ID}=="256c", ENV{ID_MODEL_ID}=="006e", ENV{ID_INPUT}="1", ENV{ID_INPUT_JOYSTICK}="", ENV{ID_INPUT_TABLET}="1" ATTRS{name}=="* Pad", ENV{ID_BUS}=="usb", ENV{ID_VENDOR_ID}=="256c", ENV{ID_MODEL_ID}=="006e", ENV{ID_INPUT_TABLET_PAD}="1" LABEL="digimend_end" [bentiss@plouf ~]$ Then run "sudo udevadm control --reload " With this rule, "udevadm info --exportdb" should show the event node "HUION PenTablet Pad" tagged with ID_INPUT_TABLET_PAD=1. Then, xinput should show up the "HUION PenTablet Pad pad" device. If it does not, then you will have to send me the Xorg.log when you plug the tablet. [end of the useless though documenting garbage :) ] > > > Unless they sent me something else without me knowing - I bought a regular > > > H610, not the "pro" one. The stickers also say H610, so I guess it's > > > indeed not the "pro" version. > > > > That's interesting and frustrating. I thought that the name would be > > enough the discriminate, but it doesn't look like it. > > > > The two tablets are close enough the share the same user-space > > configuration, but I hope that they do not always have the name "HUION > > PenTablet" or the other tablet will get the layout of the H610* when > > configuring the pads buttons :( > > Well, if they can not be reliably autodetected, please add some fallback > parameter for the kernel module (or maybe it's already there, I'll have to > check), it's still better than nothing. No, the kernel will be fine. It's the userspace which will consider all "HUION PenTablet" as H610 Pro and will show the same UI for configuring the tablet. It's not a problem for the stylus part, but it will be one for the buttons of the tablet (what we refer to pad). > > > So, back to xsetwacom: > > xsetwacom set 15 button 3 key + > -> OK > > xsetwacom set 15 button 4 key + > Invalid offset into Wacom Button Actions property. > > So despite the new driver it still does not let me map the other buttons. > What am I missing? The pad interface :) Oh. Actually, you also need to add a patch in xf86-input-wacom :( Without it, the pad will be rejected by the driver while it could work just fine. I'll send a patch to digimend-kernel-tree to make the pad interface looks like an old legacy Wacom pad so that you will be able to continue the tests. Sorry for that. > > Btw, Gimp gives me three input devices: > > HUION PenTablet Consumer Control > HUION PenTablet Mouse > HUION PenTablet Pen stylus > > I enabled all three of them, I could see that only the last one is > used as real input; btw drawing etc. worked just fine. You can definitively ignore Mouse and Consumer Control. We keep them in the kernel because we don't know if they are used by any tablet, given that it looks like there is no reliable way to know which tablet is which. > > > If you have something to test for the remaining keys or need me to try > something out - just let me know. > OK. So it's best to wait for the update on the driver first. With this update, you won't even need the udev rule. I'll do that tomorrow. Cheers, Benjamin |