Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Chapter 16. Hardware Configuration

16.1. Tablets

16.1.1. Adding Support for a New Tablet

libwacom is a tablet information client library storing data about Wacom models. This library is used by both the gnome-settings-daemon component and the Wacom Tablet settings panel in GNOME.
To add support for a new tablet into libwacom, a new tablet definition file must be created. Tablet definition files are included in the libwacom-data package. If this package is installed, the tablet definition files are then locally available in the /usr/share/libwacom/ directory.
To use the screen mapping correctly, support for your tablet must be included in the libwacom database and udev rules file.

Important

A 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.

Procedure 16.1. How to add tablet descriptions

  1. Use the libwacom-list-local-devices tool to list all local devices recognized by libwacom.
    If your device is not listed, but it is available as an event device in the kernel (see /proc/bus/input/devices) and in the X session (see xinput list), the device is missing from libwacom's database.
  2. Create a new tablet definition file. Use data/wacom.example below and edit the respective lines.

    Note

    The new .tablet file may already be available, so check the upstream repository first at https://sourceforge.net/p/linuxwacom/libwacom/ci/master/tree/. If you find your tablet model on the list, it is sufficient to copy the file to the local machine.
    # Example model file description for a tablet
    [Device]
    
    # The product is the product name announced by the kernel
    Product=Intuos 4 WL 6x9
    
    # Vendor name of this tablet
    Vendor=Wacom
    
    # DeviceMatch includes the bus (usb, serial), the vendor ID and the actual
    # product ID 
    DeviceMatch=usb:056a:00bc
    
    # Class of the tablet. Valid classes include Intuos3, Intuos4, Graphire, Bamboo, Cintiq
    Class=Intuos4
    
    # Exact model of the tablet, not including the size.
    Model=Intuos 4 Wireless
    
    # Width in inches, as advertised by the manufacturer
    Width=9
    
    # Height in inches, as advertised by the manufacturer
    Height=6
    
    # Optional features that this tablet supports
    # Some features are dependent on the actual tool used, e.g. not all styli
    # have an eraser and some styli have additional custom axes (e.g. the
    # airbrush pen). These features describe those available on the tablet.
    #
    # Features not set in a file default to false/0
    
    [Features]
    # This tablet supports styli (and erasers, if present on the actual stylus)
    Stylus=true
    
    # This tablet supports touch.
    Touch=false
    
    # This tablet has a touch ring (Intuos4 and Cintiq 24HD)
    Ring=true
    # This tablet has a second touch ring (Cintiq 24HD)
    Ring2=false
    
    # This tablet has a vertical/horizontal scroll strip
    VStrip=false
    HStrip=false
    
    # Number of buttons on the tablet
    Buttons=9
    
    # This tablet is built-in (most serial tablets, Cintiqs) 
    BuiltIn=false
  3. Add and install the new file with the .tablet suffix:
    cp the-new-file.tablet /usr/share/libwacom/
    Once installed, the tablet is part of libwacom's database. The tablet is then available through libwacom-list-local-devices.
  4. Create a new file /etc/udev/rules/99-libwacom-override.rules with the following content so that your settings are not overwritten:
    ACTION!="add|change", GOTO="libwacom_end"
    KERNEL!="event[0-9]*", GOTO="libwacom_end"
    
    [new tablet match entries go here]
    
    LABEL="libwacom_end"
    
  5. Reboot your system.

16.1.2. Where Is the Wacom Tablet Configuration Stored?

Configuration for your Wacom tablet is stored in GSettings in the /org/gnome/settings-daemon/peripherals/wacom/machine-id-device-id key, where machine-id is a D-Bus machine ID, and device-id is a tablet device ID. The configuration schema for the tablet is org.gnome.settings-daemon.peripherals.wacom.
Similarly, stylus configuration is stored in the /org/gnome/settings-daemon/peripherals/wacom/device-id/tool-id key, where tool-id is the identifier for the stylus used for professional ranges. For the consumer ranges with no support for tool-id, a generic identifier is used instead. The configuration schema for the stylus is org.gnome.settings-daemon.peripherals.wacom.stylus, and for the eraser org.gnome.settings-daemon.peripherals.wacom.eraser.
To get the full list of tablet configuration paths used on a particular machine, you can use the gsd-list-wacom tool, which is provided by the gnome-settings-daemon-devel package.
To verify that the gnome-settings-daemon-devel package is installed on the system, make sure that the system is subscribed to the Optional channel, and run the following command:
# yum install gnome-settings-daemon-devel
To learn how to subscribe the system to the Optional channel, read the following resource:
After verifying that the package is installed, run the following command:
$ /usr/libexec/gsd-list-wacom
Note that using machine-id, device-id, and tool-id in configuration paths allows for shared home directories with independent tablet configuration per machine.

16.1.3.  When Sharing Home Directories Between Machines, the Wacom Settings Only Apply to One Machine

This is because the D-Bus machine ID (machine-id) for your Wacom tablet is included in the configuration path of the /org/gnome/settings-daemon/peripherals/wacom/machine-id-device-id GSettings key, which stores your tablet settings.