Open DanielJoyce opened 6 years ago
Release info:
daniel@Durandal:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
daniel@Durandal:~$ uname -a
Linux Durandal 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
uc-logic tools:
daniel@Durandal:~$ sudo uclogic-probe 3 3
[sudo] password for daniel:
M 58 00 50 00 2D 00 50 00 45 00 4E 00
P 41 00 52 00 54 00 49 00 53 00 54 00 20 00 31 00 33 00 2E 00 33 00
S 64 0C 03 C0 72 8C 40 06 00 FF 1F EC 09
S 65 04 03 00 74
S 6E 04 03 30 00
S 79 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
S 7A 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
S 7B 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
daniel@Durandal:~$ sudo uclogic-probe 3 3 | uclogic-decode
Manufacturer: XP-PEN
Product: ARTIST 13.3
Max X: 29376
Max Y: 16524
Max pressure: 8191
Resolution: 2540
Internal model: F60 _UG_VAR13_R0713
Buttons status: F60 _UG_VAR13_R0713
X11 Device mapping
daniel@Durandal:~$ cat /etc/X11/xorg.conf.d/50-xp-pen-13.3V2.conf
# XP-Pen 13.3V2 config
#Section "InputClass"
# Identifier "XP-Pen 13.3 V2 keyboard"
# Driver "evdev"
# MatchDevicePath "/dev/input/event*"
# MatchIsKeyboard "on"
# MatchUSBID "28bd:000b"
#EndSection
#Section "InputClass"
# Identifier "XP-Pen 13.3 V2 pointer"
# Driver "evdev"
# MatchDevicePath "/dev/input/event*"
# MatchIsPointer "on"
# MatchUSBID "28bd:000b"
#EndSection
Section "InputClass"
Identifier "XP-Pen 13.3v2"
Driver "wacom"
MatchDevicePath "/dev/input/event*"
MatchIsTablet "on"
MatchUSBID "28bd:000b"
EndSection
xinput
daniel@Durandal:~$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN24EE:00 04F3:24EE id=12 [slave pointer (2)]
⎜ ↳ DELL07E6:00 06CB:76AF Touchpad id=13 [slave pointer (2)]
⎜ ↳ XP-PEN ARTIST 13.3 id=14 [slave pointer (2)]
⎜ ↳ XP-PEN ARTIST 13.3 stylus id=15 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=20 [slave pointer (2)]
⎜ ↳ XP-PEN ARTIST 13.3 pad id=21 [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)]
↳ Integrated_Webcam_HD: Integrate id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD: Integrate id=11 [slave keyboard (3)]
↳ Intel HID events id=16 [slave keyboard (3)]
↳ Intel HID 5 button array id=17 [slave keyboard (3)]
↳ Dell WMI hotkeys id=18 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=19 [slave keyboard (3)]
What I see when clicking what should be button 3:
Event: time 1539317779.526757, -------------- SYN_REPORT ------------
Event: time 1539317779.530752, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0045
Event: time 1539317779.530752, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1539317779.530752, -------------- SYN_REPORT ------------
Event: time 1539317779.644894, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0045
Event: time 1539317779.644894, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
This is what is produced the nib is tapped on the tablet.
Event: time 1539317866.368031, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1
Event: time 1539317866.368031, type 3 (EV_ABS), code 0 (ABS_X), value 7425
Event: time 1539317866.368031, type 3 (EV_ABS), code 1 (ABS_Y), value 10348
Event: time 1539317866.368031, -------------- SYN_REPORT ------------
Event: time 1539317866.381998, type 3 (EV_ABS), code 0 (ABS_X), value 7433
Event: time 1539317866.381998, type 3 (EV_ABS), code 1 (ABS_Y), value 10332
Event: time 1539317866.381998, -------------- SYN_REPORT ------------
Event: time 1539317866.391887, type 3 (EV_ABS), code 0 (ABS_X), value 7434
Event: time 1539317866.391887, type 3 (EV_ABS), code 1 (ABS_Y), value 10315
Event: time 1539317866.391887, -------------- SYN_REPORT ------------
Event: time 1539317866.401913, type 3 (EV_ABS), code 0 (ABS_X), value 7418
Event: time 1539317866.401913, type 3 (EV_ABS), code 1 (ABS_Y), value 10302
Event: time 1539317866.401913, -------------- SYN_REPORT ------------
Event: time 1539317866.407930, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1539317866.407930, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1539317866.407930, type 3 (EV_ABS), code 0 (ABS_X), value 7398
Event: time 1539317866.407930, type 3 (EV_ABS), code 1 (ABS_Y), value 10296
Event: time 1539317866.407930, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 4401
Event: time 1539317866.407930, -------------- SYN_REPORT ------------
Event: time 1539317866.411922, type 3 (EV_ABS), code 0 (ABS_X), value 7377
Event: time 1539317866.411922, type 3 (EV_ABS), code 1 (ABS_Y), value 10294
Event: time 1539317866.411922, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 4085
Event: time 1539317866.411922, -------------- SYN_REPORT ------------
Event: time 1539317866.417990, type 3 (EV_ABS), code 0 (ABS_X), value 7354
Event: time 1539317866.417990, type 3 (EV_ABS), code 1 (ABS_Y), value 10297
Event: time 1539317866.417990, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3624
Event: time 1539317866.417990, -------------- SYN_REPORT ------------
Event: time 1539317866.421889, type 3 (EV_ABS), code 0 (ABS_X), value 7333
Event: time 1539317866.421889, type 3 (EV_ABS), code 1 (ABS_Y), value 10301
Event: time 1539317866.421889, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 2935
Event: time 1539317866.421889, -------------- SYN_REPORT ------------
Event: time 1539317866.427886, type 3 (EV_ABS), code 0 (ABS_X), value 7315
Event: time 1539317866.427886, type 3 (EV_ABS), code 1 (ABS_Y), value 10307
Event: time 1539317866.427886, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 2347
Event: time 1539317866.427886, -------------- SYN_REPORT ------------
Event: time 1539317866.431897, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 1338
Event: time 1539317866.431897, -------------- SYN_REPORT ------------
Event: time 1539317866.435995, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1539317866.435995, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Whats weird is right before each BTN_TOUCH event, the button 3 click produces a MSC_SCAN with value d0042, while an actual tablet touch producs d0045
Otherwise working great!
Also, stylus does not show up in ubuntu desktop Wacom Settings. Works, but I have to set it up manually via xsetwacom. And i can only set up the 'middle' button.
I'll get some raw low-level captures later. I suspect its something with the driver and what the tablet sends.
The desktop Wacom settings won't work with those tablets unless support for them is added to libwacom, and then it probably won't that well, because Huion reuses VID:PID pairs.
By "Button 3" do you mean the top side button on the pen?
Yes, top half of rocker-button on stylus. I have most everything else working via a libwacom tablet-definition file, including the side express-keys. The only thing not working is the top part of the rocker button on the stylus and stylus recognition. It's sending a weird code.
Capture of button clicks, button 0 ( nib ) messages start with 07 A1, button two ( lower half of stylus rocker ) sends 07 A2, and button 3 ( upper half of stylus rocker ) sends 07 A4.
It comes up as UGEE brand, 0x28bd 0x000b
hid-dump:
daniel@Durandal:~$ sudo usbhid-dump
003:006:002:DESCRIPTOR 1539645817.698192
06 0A FF 09 01 A1 01 85 02 09 02 75 08 95 07 15
00 26 FF 00 81 02 09 03 75 08 95 07 15 00 26 FF
00 91 02 C0 06 01 FF 09 00 A1 01 85 08 15 00 26
FF 00 09 00 75 08 95 05 B1 02 C0
003:006:001:DESCRIPTOR 1539645817.699325
05 0D 09 02 A1 01 85 07 09 20 A1 00 09 42 09 44
09 45 15 00 25 01 75 01 95 03 81 02 95 02 81 03
09 32 95 01 81 02 95 02 81 03 75 10 95 01 35 00
A4 05 01 09 30 65 13 55 0D 46 2D 2D 27 C0 72 00
00 81 02 09 31 46 69 19 27 8C 40 00 00 81 02 B4
09 30 45 00 26 FF 1F 81 02 C0 C0 09 0E A1 01 85
05 09 23 A1 02 09 52 09 53 25 0A 75 08 95 02 B1
02 C0 C0 05 0C 09 36 A1 00 85 06 05 09 19 01 29
20 15 00 25 01 95 20 75 01 81 02 C0
003:006:000:DESCRIPTOR 1539645817.701310
05 01 09 02 A1 01 85 08 09 01 A1 00 05 09 19 01
29 03 15 00 25 01 95 03 75 01 81 02 95 05 81 01
05 01 09 30 09 31 09 38 09 00 15 81 25 7F 75 08
95 04 81 06 C0 C0 05 01 09 02 A1 01 85 09 09 01
A1 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01
81 02 95 05 81 01 05 01 09 30 09 31 26 FF 7F 95
02 75 10 81 02 05 0D 09 30 26 FF 1F 95 01 75 10
81 02 C0 C0 05 01 09 00 A1 01 85 04 A1 00 26 FF
00 09 00 75 08 95 07 B1 02 C0 C0
The product page for the XP-PEN 13.3 mentions easy one-click erasing. I'm thinking they have their tablet firmware send something non-standard for third-button click, or they provide a wonky HID descriptor and then their driver handles it special. So it might be something as trivial as providing a HID override map in the driver, or special casing the button handling.
Analyzing the second hid dump, I get
0x05, 0x0D, // Usage Page (Digitizer)
0x09, 0x02, // Usage (Pen)
0xA1, 0x01, // Collection (Application)
0x85, 0x07, // Report ID (7)
0x09, 0x20, // Usage (Stylus)
0xA1, 0x00, // Collection (Physical)
0x09, 0x42, // Usage (Tip Switch)
0x09, 0x44, // Usage (Barrel Switch)
0x09, 0x45, // Usage (Eraser)
So its saying it has an eraser but thats the second barrel button ( upper half of rocker ).
So I may be able to improve my xorg mapping, and get it working as an eraser ( as it reports eraser ), or I can submit a patch to digimend and have it remap the hid descriptor I think...
Looking at stream.txt. I see absolutely normal button reports. If the driver initializes correctly, normal button clicks should be reported. However, I see that your tablet has a VID:PID pair that the driver doesn't know about and that is the problem, most likely.
I threw together a basic patch to try to support your tablet. Could you please try to download, install, and use this version of the driver to verify: https://github.com/spbnick/digimend-kernel-drivers/archive/add_xp_pen_13_3_v2.zip
Also, could you please post the output of lsusb -v
for your tablet, and, please download, build, and run the fresh version of uclogic-probe from https://github.com/DIGImend/uclogic-tools/archive/master.zip Please post the output here.
Thank you.
Will do. I'll check it out in a bit.
It does still seem that the second rocker button is reported as eraser in the HID profile, which fits with what the website says, but may not be what people want.
@DanielJoyce well, what's in HID report descriptor is entirely to the kernel to interpret, and AFAIK, there's not much, if anything, to handle buttons like that in the kernel.
I know, which I was wondering if the driver can remap the behavior.
$ sudo lsusb -v -d 28bd:000b
Bus 003 Device 003: ID 28bd:000b
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x28bd
idProduct 0x000b
bcdDevice 0.00
iManufacturer 5 XP-PEN
iProduct 6 ARTIST 13.3
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 91
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 70mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 139
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 140
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 59
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
$ sudo ./uclogic-probe 003 003
M 58 00 50 00 2D 00 50 00 45 00 4E 00
P 41 00 52 00 54 00 49 00 53 00 54 00 20 00 31 00 33 00 2E 00 33 00
S 64 0C 03 C0 72 8C 40 06 00 FF 1F EC 09
S 65 04 03 00 74
S 6E 04 03 30 00
S 79 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
S 7A 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
S 7B 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
S C8 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
S C9 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
S CA 28 03 46 00 36 00 30 00 20 00 5F 00 55 00 47 00 5F 00 56 00 41 00 52 00 31 00 33 00 5F 00 52 00 30 00 37 00 31 00 33 00
Okay, so second-button right click works now, but now the xorg conf / wacom driver support doesn't get set up. lsub also looks the same.
$ lsusb
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp.
Bus 004 Device 002: ID 2109:0813 VIA Labs, Inc.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 2109:0100 VIA Labs, Inc.
Bus 003 Device 005: ID 05e3:0752 Genesys Logic, Inc.
Bus 003 Device 004: ID 05e3:0618 Genesys Logic, Inc.
Bus 003 Device 003: ID 28bd:000b
Bus 003 Device 002: ID 2109:2813 VIA Labs, Inc.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0489:e0a2 Foxconn / Hon Hai
Bus 001 Device 002: ID 0bda:58f4 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The device usb ids look the same, so the previous tablet config should work. xsetwacom list-devices no longer lists anything though.
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN24EE:00 04F3:24EE id=12 [slave pointer (2)]
⎜ ↳ DELL07E6:00 06CB:76AF Touchpad id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=18 [slave pointer (2)]
⎜ ↳ XP-PEN ARTIST 13.3 Pen Pen (0) id=20 [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)]
↳ Integrated_Webcam_HD: Integrate id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD: Integrate id=11 [slave keyboard (3)]
↳ Intel HID events id=14 [slave keyboard (3)]
↳ Intel HID 5 button array id=15 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=17 [slave keyboard (3)]
↳ XP-PEN ARTIST 13.3 Pen id=19 [slave keyboard (3)]
It appears something has subtly changed because the old x config to set the wacom driver for the device no longer seems to work.
[ 2104.427558] input: XP-PEN ARTIST 13.3 as /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-2/3-2.1/3-2.1:1.0/0003:28BD:000B.0003/input/input32
[ 2104.489908] hid-generic 0003:28BD:000B.0003: input,hidraw2: USB HID v1.00 Mouse [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input0
[ 2104.490564] input: XP-PEN ARTIST 13.3 as /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-2/3-2.1/3-2.1:1.1/0003:28BD:000B.0004/input/input33
[ 2104.491427] hid-generic 0003:28BD:000B.0004: input,hiddev0,hidraw3: USB HID v1.00 Device [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input1
[ 2104.492073] hid-generic 0003:28BD:000B.0005: hiddev1,hidraw4: USB HID v1.00 Device [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input2
[ 2104.494060] PKCS#7 signature not signed with a trusted key
[ 2104.494490] PKCS#7 signature not signed with a trusted key
[ 2104.494585] PKCS#7 signature not signed with a trusted key
[ 2104.537068] uclogic 0003:28BD:000B.0005: interface is invalid, ignoring
[ 2104.594337] input: XP-PEN ARTIST 13.3 Pen as /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-2/3-2.1/3-2.1:1.1/0003:28BD:000B.0004/input/input34
[ 2104.662077] uclogic 0003:28BD:000B.0004: input,hidraw2: USB HID v1.00 Device [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input1
[ 2104.665856] uclogic 0003:28BD:000B.0003: interface is invalid, ignoring
Okay, I think its a secureboot issue maybe?
No dice,Signing error went away, but uclogic still says interface invalid
[ 53.907340] input: XP-PEN ARTIST 13.3 as /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-2/3-2.1/3-2.1:1.0/0003:28BD:000B.0003/input/input30
[ 53.907559] hid-generic 0003:28BD:000B.0003: input,hidraw2: USB HID v1.00 Mouse [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input0
[ 53.907887] input: XP-PEN ARTIST 13.3 as /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-2/3-2.1/3-2.1:1.1/0003:28BD:000B.0004/input/input31
[ 53.908182] hid-generic 0003:28BD:000B.0004: input,hiddev0,hidraw3: USB HID v1.00 Device [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input1
[ 53.908415] hid-generic 0003:28BD:000B.0005: hiddev1,hidraw4: USB HID v1.00 Device [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input2
[ 53.936966] uclogic 0003:28BD:000B.0005: interface is invalid, ignoring
[ 54.002811] input: XP-PEN ARTIST 13.3 Pen as /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/0000:04:02.0/0000:39:00.0/usb3/3-2/3-2.1/3-2.1:1.1/0003:28BD:000B.0004/input/input32
[ 54.044440] uclogic 0003:28BD:000B.0004: input,hidraw2: USB HID v1.00 Device [XP-PEN ARTIST 13.3] on usb-0000:39:00.0-2.1/input1
[ 54.045951] uclogic 0003:28BD:000B.0003: interface is invalid, ignoring
Hmm, tablet 'works' in a generic sense. But xsetwacom still not seeing it...
Okay, it seems the tablet buttons are no longer working or seen by libinput at all. Would that be something done by the driver patch?
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN24EE:00 04F3:24EE id=12 [slave pointer (2)]
⎜ ↳ DELL07E6:00 06CB:76AF Touchpad id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=18 [slave pointer (2)]
⎜ ↳ XP-PEN ARTIST 13.3 Pen stylus id=19 [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)]
↳ Integrated_Webcam_HD: Integrate id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD: Integrate id=11 [slave keyboard (3)]
↳ Intel HID events id=14 [slave keyboard (3)]
↳ Intel HID 5 button array id=15 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=17 [slave keyboard (3)]
$ cat /etc/X11/xorg.conf.d/52-xp-pen-13.3V2.conf
# XP-Pen 13.3 config
#Section "InputClass"
# Identifier "XP-Pen 13.3 keyboard"
# Driver "wacom"
#MatchProduct: "ARTIST 13.3"
#MatchVendor: "XP-PEN"
# MatchDevicePath "/dev/input/event*"
# MatchIsKeyboard "on"
# MatchUSBID "28bd:000b"
#EndSection
#Section "InputClass"
# Identifier "XP-Pen 13.3v2 pointer"
# Driver "wacom"
# MatchDevicePath "/dev/input/event*"
# #MatchIsPointer "on"
# MatchUSBID "28bd:000b"
#EndSection
Section "InputClass"
Identifier "XP-Pen 13.3"
Driver "wacom"
# MatchProduct: "ARTIST 13.3"
# MatchVendor: "XP-PEN"
MatchDevicePath "/dev/input/event*"
# MatchIsTablet "on"
MatchUSBID "28bd:000b"
EndSection
Pad and pad buttons no longer appear or work.
@DanielJoyce, thank you for the detailed information, but it's a bit hard for me to follow what comes after what. Let's try to back-track a little.
I see that the driver is loading, which is good. The "interface is invalid, ignoring" message simply says that some of the USB interfaces the tablet provides don't make sense to the driver, so it doesn't add them to the system. That should be OK so far, but let's see what the pad buttons actually do.
Did I get it right, that you have the pen working with the wacom driver and everything is fine with it, but the buttons on the side of the tablet don't work? Is there anything else that doesn't work?
Regarding the buttons, please run sudo usbhid-dump -m 28bd:000b -es
with your tablet connected, and press the buttons one by one, top-to-bottom, with the tablet oriented to have the buttons on the left. Post the output here.
Everything was working with the stock drivers that came with ubuntu 18.04 except the 'right mouse click' button on the stylus ( top half of rocker button on the stylus ). It was all picked up by the wacom drivers and working except for that part of the rocker. I just had to create the proper xorg conf file to load the wacom driver, and the wacom config file.
With the patched drivers you gave me, the tablet and pen still work in a default manner, and the right click using the top half of the rocker works now, but I can't get the wacom driver config to work anymore. None of screen buttons work either ( since wacom can no longer find the devices ). Xsetwacom list devices now only sees the pen.
digimend drivers installed via dkms
$ cat out.txt
003:006:001:STREAM 1541997436.641599
06 01 00 00 00
003:006:001:STREAM 1541997436.857522
06 00 00 00 00
003:006:001:STREAM 1541997437.475545
06 02 00 00 00
003:006:001:STREAM 1541997437.659706
06 00 00 00 00
003:006:001:STREAM 1541997438.305575
06 04 00 00 00
003:006:001:STREAM 1541997438.511588
06 00 00 00 00
003:006:001:STREAM 1541997438.977734
06 08 00 00 00
003:006:001:STREAM 1541997439.155773
06 00 00 00 00
003:006:001:STREAM 1541997439.499721
06 10 00 00 00
003:006:001:STREAM 1541997439.673697
06 00 00 00 00
003:006:001:STREAM 1541997440.035659
06 20 00 00 00
003:006:001:STREAM 1541997440.167804
06 00 00 00 00
Digimend drivers installed via dkms
sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Power Button
/dev/input/event2: Sleep Button
/dev/input/event3: Power Button
/dev/input/event4: AT Translated Set 2 keyboard
/dev/input/event5: Video Bus
/dev/input/event6: SynPS/2 Synaptics TouchPad
/dev/input/event7: Intel HID events
/dev/input/event8: Intel HID 5 button array
/dev/input/event9: Dell WMI hotkeys
/dev/input/event10: ELAN24EE:00 04F3:24EE
/dev/input/event11: DELL07E6:00 06CB:76AF Touchpad
/dev/input/event12: HDA Intel PCH Headphone Mic
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event16: HDA Intel PCH HDMI/DP,pcm=9
/dev/input/event17: HDA Intel PCH HDMI/DP,pcm=10
/dev/input/event18: Integrated_Webcam_HD: Integrate
/dev/input/event19: Integrated_Webcam_HD: Integrate
/dev/input/event20: XP-PEN ARTIST 13.3
/dev/input/event21: XP-PEN ARTIST 13.3 Pen
/dev/input/event22: XP-PEN ARTIST 13.3 Mouse
/dev/input/event23: XP-PEN ARTIST 13.3 Mouse
Uninstalling and using kernel drivers that come with 18.04:
sudo evtest
[sudo] password for daniel:
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Power Button
/dev/input/event2: Sleep Button
/dev/input/event3: Power Button
/dev/input/event4: AT Translated Set 2 keyboard
/dev/input/event5: XP-PEN ARTIST 13.3
/dev/input/event6: XP-PEN ARTIST 13.3
/dev/input/event7: Video Bus
/dev/input/event8: SynPS/2 Synaptics TouchPad
/dev/input/event9: Intel HID events
/dev/input/event10: Intel HID 5 button array
/dev/input/event11: Dell WMI hotkeys
/dev/input/event12: HDA Intel PCH Headphone Mic
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event16: HDA Intel PCH HDMI/DP,pcm=9
/dev/input/event17: HDA Intel PCH HDMI/DP,pcm=10
/dev/input/event18: ELAN24EE:00 04F3:24EE
/dev/input/event19: DELL07E6:00 06CB:76AF Touchpad
/dev/input/event20: Integrated_Webcam_HD: Integrate
/dev/input/event21: Integrated_Webcam_HD: Integrate
Wacom mappings work again.
Uninstalled digimend, grepping for 'hid', i see the following:
hid_multitouch 20480 0
intel_hid 16384 0
sparse_keymap 16384 2 intel_hid,dell_wmi
mac_hid 16384 0
hid_generic 16384 0
usbhid 49152 0
i2c_hid 20480 0
hid 118784 4 i2c_hid,usbhid,hid_multitouch,hid_generic
Doesn't appear to use uc-logic drivers at all. Or is it because they are compiled into the kernel? If only I could get right-click working... Is there some other maintainer I should contact?
@DanielJoyce What command do you run to get this? Event: time 1539317779.526757, -------------- SYN_REPORT ------------ Event: time 1539317779.530752, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0045 Event: time 1539317779.530752, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1539317779.530752, -------------- SYN_REPORT ------------ Event: time 1539317779.644894, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0045 Event: time 1539317779.644894, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
@DanielJoyce Did you manage to resolve this? I have the Artist 22E pro and facing the same issue.
No, I'm just gonna make do with the rocker switch being slightly 'broken' for right now. The Digimend drivers provide worse support for this tablet than the kernel drivers which seem to work fine except for part of the rocker switch.
@DanielJoyce I managed to fix it. I am on Ubuntu 18.04 LTS I am using evdev drivers. also, I am using a udev .hwdb file to remap my tablet buttons as described here. except my scan codes are slightly different and most probably yours will be too. https://gist.github.com/loentar/1aa83e9e76fa34735133dc4d07eeb529
and to that file, I just added a command to remap that rocker as a right click. KEYBOARD_KEY_d0045=273
Edit: from your logs, I see that your rocker has the same scan code. so this line should work for you too.
Ahhh, awesome!!!!!! :D :D
You can add templates then to the xwacom to get gnome wacom mapping working too...
I'll dig around on that half.
Is there an upstream place to submit the evdev mappings?
@DanielJoyce Interested to know more about the xwacom templates. update me please with that. as for a place to submit evdev mappings am still looking.
/usr/share/libwacom/layouts/
This where the templates are kept, stored as svgs.
https://github.com/linuxwacom/libwacom/tree/master/data/layouts
Following the above, just create a new file, add the mappings, and put in /usr/share/libwacom/layouts/
You just need to remap the rocker switch in your evdev hwdb entry, then once you add a libwacom config file you can remap the buttons there if you want, providing a bit more flexibillity...
Would be nice if we could remap buttons per-application, outside of said application ( some don't support it inside )...
I think if you get the libwacom driver working, you'll be able to really override the ctrl-shift behavior of the keys and not have to the multi-keycode remapping you're doing in hwdb, ie crippling ctrl & shift.
Hmm, that right-click remapping isn't working. Even after sudo systemd-hwdb update and udevadm trigger
Hmm, I can get d0045 to emit 273 but x doesn't pick it up.
Apparently its bound to the keyboard and not the device and not the mouse, while the nib and lower rocker switch is bound to the mouse.
Yeah, its reported on the wrong 'channel'
YAY!
$ cat /etc/udev/hwdb.d/10-xp-pen-keyboard.hwdb
evdev:input:b0003v28BDp000B*
KEYBOARD_KEY_d0045=332
Works!
332 is BTN_STYLUS2, which is 'right-click' for tablets. The events are seperate but unified by X. This works!
I noticed the lower half of the rocker sent 331, or 0x14b
#define BTN_STYLUS 0x14b
#define BTN_STYLUS2 0x14c
So I had the upper rocker button send 332 and it works! :)
@DanielJoyce Great you made it work. Very strange as I tried 332 first and it didnt work. so I used the same code the mouse is producing and it did. obviously, each model is a little bit different.
What is are you using? I have Ubuntu using xfree86 with libinput and systemd.
Also I only override one code in hwdb. And I use libwacom to map everything else. Are you looking for support in one particular program?
@DanielJoyce I am on Ubuntu 18.04 LTS Gnome using evdev drivers. I am overriding all the keys with hwdb. but it is not optimum. When I first connected the tablet to my system I had it running by libinput but it didnt work. very interested in how you use libwacom to map the rest. I mainly use Blender and 3D coat for sculpting and I use Krita occasionally for some quick sketching and rough paints.
@DanielJoyce I tried to run it using the Wacom driver but the Gnome UI didn't recognize it. it worked but I couldn't remap any keys using the ui tool as it didn't see it. although xsetwacom list did list it.
That button appears to be sending BTN_TOUCH events along with button 1 ( the nib ). Could be a driver issue, or maybe a bad pen.
Hmm, going from the XP-Pen site, this might be intentional?
Everything else seems to work just fine.