Wiki Table of Contents

Wacom

Introduction

Wacom is a Japanese company that produces graphics tablets  that enables a user to hand-draw images, animations and graphics, with a special pen-like stylus. 

Installation

[Debian Wiki] Wacom tablets are auto-detected and natively supported on Debian. Check if the device is detected correctly:

xsetwacom --list dev

You should get something like this:

Wacom Co.,Ltd. Cintiq Pro 13 Touch Finger touch id: 13  type: TOUCH     
Wacom Co.,Ltd. Cintiq Pro 13 Pen stylus id: 14  type: STYLUS    
Wacom Co.,Ltd. Cintiq Pro 13 Pen eraser id: 15  type: ERASER 

Configuration

<t/h to timkb4q on the Forum>

Debian ships a udev rules file for wacom that needs a line commented out if systemd isn’t present.

/lib/udev/rules.d/69-wacom.rules

ACTION!="add|change", GOTO="wacom_end"

# Match all serial wacom tablets with a serial ID starting with WACf
# Notes: We assign NAME though we shouldn't, but currently the server requires it
#        We assign the lot to subsystem pnp too because server reads NAME from
#        the parent device. Once all that's fixed, as simple SUBSYSTEM="tty"
#        will do and the ENV{NAME} can be removed.
SUBSYSTEM=="tty|pnp", SUBSYSTEMS=="pnp", ATTRS{id}=="WACf*", ENV{ID_MODEL}="Serial Wacom Tablet $attr{id}", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{NAME}="Serial Wacom Tablet $attr{id}"
SUBSYSTEM=="tty|pnp", SUBSYSTEMS=="pnp", ATTRS{id}=="FUJ*", ENV{ID_MODEL}="Serial Wacom Tablet $attr{id}", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{NAME}="Serial Wacom Tablet $attr{id}"

# comment out the next line if your distribution does not provide systemd
# If a /dev/ttySx device with the WACf name is detected, start the
# wacom-inputattach service with the kernel name as parameter
SUBSYSTEM=="tty|pnp", KERNEL=="ttyS[0-9]*", ATTRS{id}=="WACf*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="[email protected]%k.service"

LABEL="wacom_end"

Edit file as root, put a # in front of that last SUBSYSTEM== line, save, log out & back in.

Troubleshooting

Here are the steps to check on whether a tablet is supported:

1. Plug it in, press the key F4 (or open a terminal) and run the command dmesg | tail. Here is the result for the test tablet:

$ dmesg | tail
[  438.358705] usb 1-2: new full-speed USB device number 7 using xhci_hcd
[  438.508030] usb 1-2: New USB device found, idVendor=056a, idProduct=0374, bcdDevice= 1.07
[  438.508035] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  438.508038] usb 1-2: Product: Intuos S
[  438.508041] usb 1-2: Manufacturer: Wacom Co.,Ltd.
[  438.508043] usb 1-2: SerialNumber: 8LH00R2000397
[  438.513869] input: Wacom Intuos S Pen as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:056A:0374.0006/input/input26
[  438.514102] input: Wacom Intuos S Pad as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:056A:0374.0006/input/input28
[  438.514454] wacom 0003:056A:0374.0006: hidraw0: USB HID v1.10 Device [Wacom Co.,Ltd. Intuos S] on usb-0000:00:14.0-2/input0

The device ID (line 2) would be 056a:0374 (Vendor:Product)

2. Navigate to /usr/share/libwacom/ and check whether the tablet is listed there. For the test tablet, the correct entry was labeled “intuos-s-p3.tablet” which was found from the dmesg output line 4 (Intuos S) and then checking to match the device ID. The file looks like this:

libwacom.png

3. Open Gimp, and click Edit > Input Devices. I used the current one available in MX Linux (2.10.12), so the location may be slightly different for other versions (try Edit > Prefences and look for Input Devices). As seen below, the test tablet shows up for pad and pen, and when those are selected various traits can be examined. Similar results should show up for similar apps such as Krita.

WacomGimp.png
GIMP detecting elements of a Wacom tablet

Krita works by default. Some details appear available under Settings > Configure Krita > Tablet Settings

krita.png
Using a Wacom tablet to write on Krita

Details

The help file (man xsetwacom) makes it seem like all sorts of stuff is possible, but it doesn’t seem to work when trying to fill in even the generic command:

--get "device name" parameter [param...]  - get current device parameter(s) value by name

No matter what device name is used, the response is “can not find device.” At the bottom of the Arch Wiki entry is the casual suggestion that the ID number could be used for unknown tablets. The test tablet is “known,” but not obeying the traditional command.

Now ID number works in MX with the test tablet in 2 steps:

$ xsetwacom list devices
Wacom Intuos S Pad pad          	id: 15	type: PAD       
Wacom Intuos S Pen stylus       	id: 16	type: STYLUS    
Wacom Intuos S Pen eraser       	id: 17	type: ERASER    
Wacom Intuos S Pen cursor       	id: 18	type: CURSOR 

There are the ID numbers you need. Using those numbers, NOT the “device name” as the man file says and is repeated all over the web, just works. For instance, to find out the properties (=parameters) of the eraser–though not sure why somebody would really want to do that–just need to enter the ID number

$ xsetwacom get 17 all
Option "Area" "0 0 15200 9500"
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Button: Actions are not supported by xorg.conf. Try shell format (-s) instead.
Option "DebugLevel" "0"
Option "CommonDBG" "0"
Option "Suppress" "2"
Option "RawSample" "4"
Option "PressCurve" "0 0 100 100"
Option "Mode" "Absolute"
Property 'Wacom Hover Click' does not exist on device.
Option "Touch" "off"
Property 'Wacom Hardware Touch Switch' does not exist on device.
Option "Gesture" "off"
Option "ZoomDistance" "0"
Option "ScrollDistance" "0"
Option "TapTime" "250"
Property 'Wacom Proximity Threshold' does not exist on device.
Option "Rotate" "none"
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Wheel Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Property 'Wacom Strip Buttons' does not exist on device.
Option "Threshold" "26"
Option "Serial" "0"
Option "PressureRecalibration" "on"

This is an important step, b/c up until now the command was of almost no use following existing directions. The man file can be rewritten for us by substituting “ID number” for “device name” all the way through.

Links

v. 20191007

Leave a Comment

Do NOT follow this link or you will be banned from the site!