Chapter 5. Tablets
You can manage Wacom tablets connected to your system from the Wacom Tablet settings panel in the GNOME environment.
The Wacom Tablet settings panel
The Wacom Tablet settings panel and the libinput
stack use the libwacom
tablet client library, which stores additional data about Wacom tablets that the system cannot obtain by querying the device directly.
If your tablet is listed in the libwacom
library, it is visible in the Wacom Tablet settings panel.
If the Wacom Tablet settings panel displays “This device is unknown and may present wrong capabilities”, the tablet is supported by the underlying input stack but some functionality might be missing. In that case, you can perform the Adding support for the new tablet procedure.
If the Wacom Tablet settings panel is empty, the tablet is not exposed by the kernel. In that case, contact Red Hat support.
5.1. Adding support for a new tablet
If the Wacom Tablet settings panel displays “This device is unknown and may present wrong capabilities”, the tablet is supported by the underlying input stack but some functionality might be missing. You can resolve this by adding a definition file for the tablet into the libwacom
tablet information client library.
Prerequisites
-
The
libwacom
package is installed on your system.
Procedure
List all local devices recognized by the
libwacom
database:libwacom-list-local-devices
$ libwacom-list-local-devices
Copy to Clipboard Copied! Make sure that your device is recognized in the output.
If your device is not listed, the device is missing from the
libwacom
database. However, the device might still be supported by the kernel if it is listed in the/proc/bus/input/devices
file.-
Optional: Check whether the device is supported at all by entering the
libwacom-list-devices
command, provided in thelibwacom-utils
package. This command lists all devices supported by your installed version oflibwacom
. Check whether the definition file is available in the
/usr/share/libwacom/
directory.To use screen mapping correctly, support for your tablet must be included in the
libwacom
database.ImportantA common indicator that a device is not supported by
libwacom
is that it works normally in a GNOME session, but the device is not correctly mapped to the screen.If the definition file for your device is not available in
/usr/share/libwacom/
, you have these options:- Find the definition file in the linuxwacom/libwacom upstream repository and copy the file to your system.
- Find a similar device in the linuxwacom/libwacom upstream repository and modify the definition file accordingly.
Add and install the definition file with the
.tablet
suffix:cp <tablet_definition_file>.tablet /etc/libwacom
# cp <tablet_definition_file>.tablet /etc/libwacom
Copy to Clipboard Copied! After the file is installed, the device is part of the
libwacom
database. The device is then available throughlibwacom-list-local-devices
.
5.2. Setting Wacom tablet configuration values in the CLI
Instead of changing the settings in the Wacom Tablet settings panel, you can change the settings on the command line. Wacom tablet and stylus configuration files are saved in the following locations by default:
- Tablet configuration
-
org.gnome.desktop.peripherals.tablet:/org/gnome/desktop/peripherals/tablets/<vid>:<pid>/
- Stylus configuration
-
org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/<serial number>/
By using <vid>
, <pid>
, and <serial_number>
in configuration paths, you can configure tablets and styli independently.
Prerequisites
-
The
libwacom
package is installed on your system.
Procedure
List local devices to display their IDs:
libwacom-list-local-devices
$ libwacom-list-local-devices devices: - name: 'Wacom Intuos Pro M' bus: 'usb' vid: '0x056a' pid: '0x0357' nodes: - /dev/input/event6: 'Wacom Co.,Ltd. Wacom Intuos Pro M Pen' - /dev/input/event7: 'Wacom Co.,Ltd. Wacom Intuos Pro M Pad' styli: - id: 0x100802
Copy to Clipboard Copied! If a device does not support unique serial numbers, the stylus is identified with a generic identifier based on the tablet’s VID and PID:
org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/default-<vid>:<pid>/
Determine the serial number for the particular device:
libwacom-show-stylus /dev/input/event6
# libwacom-show-stylus /dev/input/event6 Please put tool in proximity Tool id 0x100802 serial 0x2380369c in-proximity: False
Copy to Clipboard Copied! List the available settings for the selected device:
For a tablet:
gsettings list-recursively org.gnome.desktop.peripherals.tablet:/org/gnome/desktop/peripherals/tablet/<vid>:<pid>/
$ gsettings list-recursively org.gnome.desktop.peripherals.tablet:/org/gnome/desktop/peripherals/tablet/<vid>:<pid>/ org.gnome.desktop.peripherals.tablet area [0.0, 0.0, 0.0, 0.0] org.gnome.desktop.peripherals.tablet keep-aspect false org.gnome.desktop.peripherals.tablet left-handed false org.gnome.desktop.peripherals.tablet mapping 'absolute' org.gnome.desktop.peripherals.tablet output ['', '', '']
Copy to Clipboard Copied! Replace
<vid>
and<pid>
with the IDs of your device.For a stylus:
gsettings list-recursively org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/<serial_number>/
$ gsettings list-recursively org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/<serial_number>/ org.gnome.desktop.peripherals.tablet.stylus button-action 'default' org.gnome.desktop.peripherals.tablet.stylus button-keybinding '' org.gnome.desktop.peripherals.tablet.stylus eraser-pressure-curve [0, 0, 100, 100] org.gnome.desktop.peripherals.tablet.stylus eraser-pressure-range [0, 100] org.gnome.desktop.peripherals.tablet.stylus pressure-curve [0, 0, 100, 100] org.gnome.desktop.peripherals.tablet.stylus pressure-range [0, 100] org.gnome.desktop.peripherals.tablet.stylus secondary-button-action 'default' org.gnome.desktop.peripherals.tablet.stylus secondary-button-keybinding '' org.gnome.desktop.peripherals.tablet.stylus tertiary-button-action 'default' org.gnome.desktop.peripherals.tablet.stylus tertiary-button-keybinding ''
Copy to Clipboard Copied! Replace
<serial_number>
with the ID of your device.
Set an option to the value that you want:
gsettings set <schema_name>:<path> <key> <value>
$ gsettings set <schema_name>:<path> <key> <value>
Copy to Clipboard Copied! Replace:
-
<schema_name>:<path>
with the schema and path to your device. -
<key>
with the option you want to change. -
<value>
with the value you want to set.
For example:
gsettings set org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/0x2380369c pressure-range "[0, 75]"
$ gsettings set org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/0x2380369c pressure-range "[0, 75]"
Copy to Clipboard Copied! -