Chapter 16. Tablets

To manage Wacom tablets connected to your system, use the following tools:

  • The gnome-settings-daemon service
  • The Wacom Tablet settings panel in the GNOME environment

    The Wacom Tablet settings panel for a tablet

    Wacon tablet settings

    The Wacom Tablet settings panel for a grip pen

    Wacom tablet grip pen

Both these tools, as well as the libinput stack, use the libwacom tablet client library, which stores the data about Wacom tablets.

If you want to add support for a new tablet into the libwacom library, you must ensure that a definition file for this new tablet exists.

16.1. Preparing a tablet definition file

The libwacom tablet client library needs a definiton file for the tablet that you want to add.

To ensure that the tablet definition file exists, follow this procedure.

Prerequisites

  • Make sure that your device is recognized by libwacom:

    libwacom-list-local-devices

    The libwacom-list-local-devices tool lists all local devices recognized by libwacom.

    If your device is not listed, the device is missing from libwacom’s database. However, the device might still be visible as an event device in the kernel under /proc/bus/input/devices, and if you use the X.Org display server, in the X session on the xinput list.

Procedure

  1. Make sure that the libwacom-data package is installed.

    Most tablet definition files are included in this package. If the package is installed, the tablet definition files are locally available in the /usr/share/libwacom/ directory.

  2. Check whether the definition file is 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 in the 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.

  3. If the definition file for your device is not available in /usr/share/libwacom/, you have these options:

    • The required definition file may already be available in the linuxwacom/libwacom upstream repository. So you can try to find the definition file there. If you find your tablet model in the list, it is sufficient to copy the file to the local machine.
    • You can create a new tablet definition file. Use the data/wacom.example file below, and edit particular lines based on the characteristics of your device.

      # 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

16.2. Adding support for a new tablet

To add support for a new tablet into the libwacom tablet information client library, follow this procedure.

Prerequisites

Procedure

  1. Add and install the definition 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.

  2. Create a new /etc/udev/rules/99-libwacom-override.rules file 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"
  3. Reboot your system.

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

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. The configuration schema for the eraser is org.gnome.settings-daemon.peripherals.wacom.eraser.

16.4. Listing available Wacom tablet configuration paths

To get the full list of tablet configuration paths used on a particular machine, use the gsd-list-wacom tool, which is provided by the gnome-settings-daemon package.

Prerequisites

  • Make sure that the gnome-settings-daemon package is installed on your system.

    # yum install gnome-settings-daemon

Procedure

  • To get the full list of tablet configuration paths used on your machine, run the following command:

    $ /usr/libexec/gsd-list-wacom
Important

Using machine-id, device-id, and tool-id in configuration paths allows for shared home directories with independent tablet configuration per machine. However, when sharing home directories between Machines, the Wacom settings apply only to one machine. This is because the 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.