Bug 398747 - Wacom Intuos (2015) button 2 not working
Summary: Wacom Intuos (2015) button 2 not working
Status: RESOLVED FIXED
Alias: None
Product: wacomtablet
Classification: Unmaintained
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Valerii Malov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-17 07:58 UTC by nostalgia.ninja
Modified: 2018-12-09 17:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
left hand side shows configuration set up. right hand side shows test results. (107.25 KB, image/png)
2018-09-17 07:58 UTC, nostalgia.ninja
Details

Note You need to log in before you can comment on or make changes to this bug.
Description nostalgia.ninja 2018-09-17 07:58:51 UTC
Created attachment 115029 [details]
left hand side shows configuration set up.  right hand side shows test results.

Tablet:
Device: CTL-490 (light blue Wacom Intuos Draw small tablet)
xinput device name: "Wacom Intuos S 2 Pad pad"
System settings module name: Intuos Pen Small [033B]

OS:
KDE Neon 5.13
Plasma version: 5.13.5
Qt version: 5.11.1
KDE Frameworks Version: 5.50.0

Expected action: when pressing express button 2 (in button position C as shown in image) the button does the specified action (in this case, presses the 2 button on the keyboard)

What I get: button does not do the express button action, despite it registering on the tablet.

Steps to reproduce:
1) Open System Settings
2) Go to Input Devices, Graphic Tablet
3) Go to express Buttons
4) Click buttons 1 to 4 assign button actions, assign numbers respectively
5) Click Apply
6) Open Kwrite and press the four buttons (top left, bottom left, bottom right, top right)
7) output should be 314.

Test results: xinput express button press test, top right of screenshot.

xinput test "Wacom Intuos S 2 Pad pad"

(pressed top left button)
key press   12 
key release 12 
motion a[3]=0 a[4]=0 a[5]=0 
3

(pressed bottom left button)
key press   10 
key release 10 
motion a[3]=0 a[4]=0 a[5]=0 
1

(pressed bottom right button)
key press   13 
key release 13 
motion a[3]=0 a[4]=0 a[5]=0 
4

(pressed top right button)
button press   9 a[3]=0 a[4]=0 a[5]=0 
motion a[3]=0 a[4]=0 a[5]=0 
button release 9 a[3]=0 a[4]=0 a[5]=0
Comment 1 Valerii Malov 2018-09-20 16:46:09 UTC
Hi, can you please share output of 

$ xsetwacom -s --get "Wacom Intuos S 2 Pad pad" all
Comment 2 nostalgia.ninja 2018-09-21 01:44:37 UTC
Hi, the output is as follows:

xsetwacom -s --get "Wacom Intuos S 2 Pad pad" all

Property 'Wacom Tablet Area' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "1" "button +1 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "2" "button +2 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "3" "button +3 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "8" "button +8 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "9" "button +9 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "ToolDebugLevel" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "TabletDebugLevel" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "Suppress" "2"
xsetwacom set "Wacom Intuos S 2 Pad pad" "RawSample" "4"
Property 'Wacom Pressurecurve' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Mode" "Absolute"
Property 'Wacom Hover Click' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Touch" "off"
Property 'Wacom Hardware Touch Switch' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Gesture" "off"
xsetwacom set "Wacom Intuos S 2 Pad pad" "ZoomDistance" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "ScrollDistance" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "TapTime" "250"
Property 'Wacom Proximity Threshold' does not exist on device.
Property 'Wacom Rotation' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "RelWheelUp" "1" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "RelWheelDown" "2" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheelUp" "3" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheelDown" "4" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheel2Up" "5" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheel2Down" "6" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripLeftUp" "1" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripLeftDown" "2" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripRightUp" "3" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripRightDown" "4" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Threshold" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "BindToSerial" "0"
Property 'Wacom Pressure Recalibration' does not exist on device.
Comment 3 Valerii Malov 2018-09-22 17:50:20 UTC
For some reason, xsetwacom shows that all buttons are mapped to "mouse" buttons instead of keys.
It also reports 5 buttons instead of 4, which actually might be causing the problem.

A) Do you have a file ~/.config/tabletdblocalrc? If you have it, can you delete it, re-login and see if this fixes the issue?

B) If you don't have it, I can suggest as a workaround to try the following:

1) Make sure your pad buttons aren't mapped to anything (e.g. like they were when you posted xsetwacom output where buttons are set to button +1, button +2 etc.). If they are mapped to something that's not a mouse button, run

xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "1"
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "2"
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "3"
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "8"
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "9"

to unmap them. 

2) Run kde_wacom_tabletfinder (Wacom Tablet Finder), run "Map Hardware Buttons" and click your 4 buttons while the cursor is inside the dialog. This should register 4 different button clicks, each with one of the numbers: 1,2,3,8,9. Click save.
3) Re-attach the tablet or re-login and see if this fixed the issue. Buttons might be out of order depending on which order you've clicked them but in the end all 4 should be accessible.

For some reason driver seems to report that the device has 5 buttons and not 4, I'll need some time to look into how libwacom reports button mapping fro this USB ID.
Comment 4 nostalgia.ninja 2018-09-23 07:56:25 UTC
So from what I can tell, I attempted case A (I had the tabletdblocalrc file) and the case persisted.  Then I attempted case B and the hardware buttons got mapped correctly however buttons 1 and 2 responded like mouse clicks.

If there is anything that I can provide to you to help, please let me know.
Comment 5 Valerii Malov 2018-09-23 12:27:20 UTC
1) Run kdebugsettings, search for wacom, set all 3 components to "All"
2) Make sure express buttons in tablet settings are set to something e.g. keys 1/2/3/4 like you did initially
2) Re-login, share the output of the following commands

$ xsetwacom -s --get "Wacom Intuos S 2 Pad pad" all
$ grep Button ~/.local/share/sddm/xorg-session.log | grep pad
(if ~/.local/share/sddm/xorg-session.log does not exist, then try ~/.xsession-errors instead)

and contents of your new ~/.config/tabletdblocalrc
Comment 6 nostalgia.ninja 2018-09-23 15:21:10 UTC
Hi.

Output of: xsetwacom -s --get "Wacom Intuos S 2 Pad pad" all

Property 'Wacom Tablet Area' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "1" "key +1 -1 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "2" "key +2 -2 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "3" "key +3 -3 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "8" "key +4 -4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Button" "9" "button +9 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "ToolDebugLevel" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "TabletDebugLevel" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "Suppress" "2"
xsetwacom set "Wacom Intuos S 2 Pad pad" "RawSample" "4"
Property 'Wacom Pressurecurve' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Mode" "Absolute"
Property 'Wacom Hover Click' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Touch" "off"
Property 'Wacom Hardware Touch Switch' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "Gesture" "off"
xsetwacom set "Wacom Intuos S 2 Pad pad" "ZoomDistance" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "ScrollDistance" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "TapTime" "250"
Property 'Wacom Proximity Threshold' does not exist on device.
Property 'Wacom Rotation' does not exist on device.
xsetwacom set "Wacom Intuos S 2 Pad pad" "RelWheelUp" "1" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "RelWheelDown" "2" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheelUp" "3" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheelDown" "4" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheel2Up" "5" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "AbsWheel2Down" "6" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripLeftUp" "1" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripLeftDown" "2" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripRightUp" "3" "button +4 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "StripRightDown" "4" "button +5 "
xsetwacom set "Wacom Intuos S 2 Pad pad" "Threshold" "0"
xsetwacom set "Wacom Intuos S 2 Pad pad" "BindToSerial" "0"
Property 'Wacom Pressure Recalibration' does not exist on device.

the ~/.local/share/sddm/xorg-session.log file exists but is empty.

Output of: grep Button ~/.xsession-errors | grep pad

org.kde.wacomtablet.kded: "Setting property 'Button1' to 'key 1' on device 'Wacom Intuos S 2 Pad pad'."
org.kde.wacomtablet.kded: "Setting property 'Button2' to 'key 2' on device 'Wacom Intuos S 2 Pad pad'."
org.kde.wacomtablet.kded: "Setting property 'Button3' to 'key 3' on device 'Wacom Intuos S 2 Pad pad'."
org.kde.wacomtablet.kded: "Setting property 'Button4' to 'key 4' on device 'Wacom Intuos S 2 Pad pad'."
Comment 7 Valerii Malov 2018-09-25 15:26:52 UTC
Quirky Wacom tablets *usually* use buttons 1,3,8,9 but I don't know what is true for your tablet.
Seems like the result of manual mapping is buttons was 1,2,3,8 (that's why I wanted to see tabletdblocalrc file) for some reason and it's probably wrong.

For now I can only suggest the following:
1) Move ~/.config/tabletdblocalrc elsewhere and re-connect the tablet, see if the issue still persists. This should pull button mapping from libwacom.
2) If this didn't help, restore tabletdblocalrc and edit it with a text editor, ensuring that the button mapping is 1,3,8,9, e.g. the file should have lines:

hwbutton1=1
hwbutton2=3
hwbutton3=8
hwbutton4=9

for [033B]. Re-connect the tablet again, see if the issue is gone. xsetwacom should show that the button settings are applied to buttons 1,3,8,9.

If xsetwacom reports that settings are applied correctly and some of the buttons still misbehave, this is a driver issue, and you should report it to https://linuxwacom.github.io/
Comment 8 nostalgia.ninja 2018-11-29 19:38:20 UTC
Seems like it no longer is an issue in KDE Neon 18.04.  Thank you very much for the help you provided.

Can we please get this closed?