I bought a second hand wacom tablet to try a different way of drawing, but the default configuration was not what I wanted. This is a log of how I configured it to work under the Hyprland window manager in Linux.
The tablet I bought was a used CTH-480, but I imagine the process is similar for anything compatible with the linux wacom driver. This particular tablet works with both a stylus and finger ‘touch’ input, and can distinguish between these input methods. Also it’s a nice size for sitting between the two halves of my split keyboard.
If you’re using a single monitor, the tablet probably works fine without any additional configuration. Touching the top left of the tablet registers an input at the top left of the screen, and touching the bottom right of the tablet registers as the bottom right of the screen. However, if you have two or more monitors, then the tablet input will be scaled to match the total display space of your screens. So for me using a three monitor setup, the tablet input corresponded to three screens width, making any kind of precise control very difficult.
Trying an alternate driver: OpenTabletDriver
Briefly I experimented with an alternative to the wacom driver, OpenTabletDriver. This had the advantage of having a straightforward gui to configure the various options, but without a lot of extra configuration didn’t detect whether I was using the stylus drawing-tip or the style eraser. Plus it uses dotnet which felt like overkill for an option that didn’t automagically solve all my problems.
The Hyprland documentation lists some options for configuring tablet input peripherals. Instead, I want only the tablet stylus input to be mapped to a single screen, ignoring the extra space the other two provide. By setting the ‘output’ variable to the name of one of the monitors, the ‘output space’ of the tablet would be mapped to that display.
So first we identify the monitors
$ hyprctl monitors | grep Monitor
Monitor DP-3 (ID 0):
Monitor DVI-D-1 (ID 1):
Monitor HDMI-A-1 (ID 2):
Also the identifier for the tablet
$ hyprctl devices
Tablet Pad at 544c238492d0 (belongs to 0 -> )
Tablet at 544c40ffcea0:
In my case HDMI-A-1 is the monitor I want to use for drawing, so we edit the Hyprland config file
vim ~/.config/hypr/hyprland.conf, adding the following per-device input configuration:
This configuration takes effect immediately upon
hyprland.conf being saved.