#StackBounty: #ubuntu #touchpad #xinput #wacom Ubuntu 18.04 LTS / libwacom: Wacom Bamboo stylus buttons no longer work

Bounty: 50

Just updated my PC from the last LTS Ubuntu distro to 18.04LTS, and the stylus on my Wacom Wireless Bamboo tablet immediately lost all button function.

The system seems to be tracking the stylus itself, as moving it over the pad causes the cursor to move around the screen, but touching the stylus to the pad and/or clicking the button on the stylus body gets no response.

The touchpad function on the tablet itself, on the other hand, responds to finger drags and taps as cursor movement and clicks, respectively. The A/B buttons at the foot of the tablet do not respond, same as the stylus buttons. Deets as follows:

Tablet Model: Wacom Bamboo Pad (Wireless), CTH-300/K
System: Ubuntu 18.04.1 LTS, 64-bit

Devices > Wacom Tablet: Displays “No stylus found / Please move your stylus to the proximity of the tablet to configure it” and doesn’t respond to stylus cursor movement in that area. Tablet > Wacom Bamboo Pad Wireless > Tracking Mode is “Tablet (absolute)”. Trying to use “Map Buttons…” to set the A/B tablet buttons doesn’t work; they display on screen for mapping but don’t respond to being pressed.

libwacom-list-local-devices:
One point I noticed: Libwacom lists the tablet stylus as 0xfffff;0xffffe, which are the codes for a default standard stylus and a stylus with an eraser. The stylus for the Bamboo Pad doesn’t have an eraser or a rocker button, and should be set as type 0xffffd. Not sure if this means it’s related to this bug or not.

[Device]
Name=Wacom Bamboo Pad Wireless
DeviceMatch=usb:056a:0319;
Class=Bamboo
Width=4
Height=3
IntegratedIn=
Layout=bamboo-pad.svg
Styli=0xfffff;0xffffe;

[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
Touch=true
TouchSwitch=false
StatusLEDs=
NumStrips=0
Buttons=2
[Buttons]
Left=
Right=
Top=
Bottom=A;B;
Touchstrip=
Touchstrip2=
OLEDs=
Ring=
Ring2=
EvdevCodes=0x110;0x111;
RingNumModes=0
Ring2NumModes=0
StripsNumModes=0

---------------------------------------------------------------
[Device]
Name=Wacom Bamboo Pad Wireless
DeviceMatch=usb:056a:0319;
Class=Bamboo
Width=4
Height=3
IntegratedIn=
Layout=bamboo-pad.svg
Styli=0xfffff;0xffffe;

[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
Touch=true
TouchSwitch=false
StatusLEDs=
NumStrips=0
Buttons=2
[Buttons]
Left=
Right=
Top=
Bottom=A;B;
Touchstrip=
Touchstrip2=
OLEDs=
Ring=
Ring2=
EvdevCodes=0x110;0x111;
RingNumModes=0
Ring2NumModes=0
StripsNumModes=0

---------------------------------------------------------------

xinput –list:
Also lists an eraser that isn’t there

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0  id=9    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0  id=10   [slave  pointer  (2)]
⎜   ↳ Wacom Wireless Bamboo PAD Pen stylus      id=11   [slave  pointer  (2)]
⎜   ↳ Wacom Wireless Bamboo PAD Finger touch    id=15   [slave  pointer  (2)]
⎜   ↳ Wacom Wireless Bamboo PAD Pen eraser      id=12   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0  id=8    [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0  id=13   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0  id=14   [slave  keyboard (3)]

xinput props:
Noted that there are far more buttons listed than the stylus actually has.

    /usr/share/libwacom$ xinput --list-props "Wacom Wireless Bamboo PAD Pen stylus"
Device 'Wacom Wireless Bamboo PAD Pen stylus':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (270): 0
    Device Accel Constant Deceleration (271):   1.000000
    Device Accel Adaptive Deceleration (272):   1.000000
    Device Accel Velocity Scaling (273):    10.000000
    Device Node (262):  "/dev/input/event5"
    Wacom Tablet Area (299):    0, 0, 10690, 6680
    Wacom Rotation (300):   0
    Wacom Pressurecurve (301):  0, 0, 100, 100
    Wacom Serial IDs (302): 793, 1, 2, 0, 0
    Wacom Serial ID binding (303):  0
    Wacom Pressure Threshold (304): 26
    Wacom Sample and Suppress (305):    2, 4
    Wacom Enable Touch (306):   1
    Wacom Hover Click (307):    1
    Wacom Enable Touch Gesture (308):   0
    Wacom Touch Gesture Parameters (309):   0, 0, 250
    Wacom Tool Type (310):  "STYLUS" (292)
    Wacom Button Actions (311): "Wacom button action 0" (312), "Wacom button action 1" (313), "Wacom button action 2" (314), "None" (0), "None" (0), "None" (0), "None" (0), "Wacom button action 3" (315)
    Wacom button action 0 (312):    1572865
    Wacom button action 1 (313):    1572866
    Wacom button action 2 (314):    1572867
    Wacom button action 3 (315):    1572872
    Wacom Pressure Recalibration (316): 1
    Wacom Panscroll Threshold (317):    1209
    Device Product ID (263):    1386, 793
    Wacom Debug Levels (318):   0, 0

xinput test “Wacom Wireless Bamboo PAD Pen stylus”:

Pen movement:

motion a[0]=7676 a[1]=3667 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7663 a[1]=3660 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7656 a[1]=3650 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7657 a[1]=3642 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7669 a[1]=3637 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7688 a[1]=3635 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
(etc.)

Pen “click”/touch:

motion a[0]=7658 a[1]=3641 a[2]=31164 a[3]=0 a[4]=0 a[5]=-900 

Pen button click: No noticeable response


If anyone has any ideas on how to proceed, I’d appreciate it. I’d like to try to remove the extra button mapping, reassign libwacom’s styli code for the tablet, and/or find out exactly what the button action codes correspond to, but I’m having difficulty finding information on how to do any of that. (And I’d rather not kill what little functionality I still have.)

I’ve also had issues with assigning persistent settings to this tablet in the past, though I’m not sure if that has anything to do with what’s going on now.


Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.