~/.config/wayfire.ini
), which is read by the wm whenever you write to it, so the changes are always reflected. This is cool because it lets you automate things, but also means that change something manually you have to dig through the file, and hope your changes were the right ones. In what is particularly relevent is that I have my three monitors listed in the config file:
[output:DP-2]
mode = 3840x2160@60000
position = 3200, 0
scale = 1.500000
transform = normal
[output:DP-3]
mode = 1920x1080@75000
position = 1280, 0
scale = 1.000000
transform = normal:q
[output:HDMI-A-1]
mode = 1280x1024@60000
position = 0, 0
scale = 1.000000
transform = normal
sudo libinput list-devices
would list the virtual tablet, no input would ever come through. It took so much work to get it to even detect the tablet at all, as I had to make a custom tablet configuration file, and even then add a kernel module to blacklist (modprobe.d), and figure out udev rules, that I just gave up and reverted when it didn't work. At this point I was back with it sort of working, and I decided to scour over the wayland docs, because theoretically this should all be handeled by the wm/compositor now in the first place (just how wayland does it). What I discovered was that there was an obscure setting under the config section on the github wiki for wayfire, under "Input device-specific options", which said to limit a tablet to a specific output (screen) it should look something like this:
[input-device:Wacom Pen and multitouch sensor Finger (or whatever device name)]
output = eDP-1 (or whatever display)
lsusb
to be HUION Huion Tablet_H580X
. looks great, so I put it in for the device name, and DP-2
(the 4k one) for the output and...no change. To save you the story of hours of internet searching, I eventually discovered the problem by running libinput list-devices
to get the following entries (yes s, multiple):
Device: HUION Huion Tablet_H580X Pen
Kernel: /dev/input/event9
Group: 4
Seat: seat0, default
Size: 203x127mm
Capabilities: tablet
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: none
Rotation: n/a
Device: HUION Huion Tablet_H580X Pad
Kernel: /dev/input/event10
Group: 4
Seat: seat0, default
Capabilities: tablet-pad
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: n/a
Pad:
Rings: 0
Strips: 0
Buttons: 8
Mode groups: 1 (1 modes)
[input-device:HUION Huion Tablet_H580X Pen]
output = DP-2
[input]
section of the config file with an option called tablet_motion_mode
, which when looking through the source code, shows that the only options are absolute
- the default for absolute positioning, and relative
- for relative positioning (never would have guessed by the names), but I have not tested relative mode to see if it works as I would expect (presuming that it is there means it works though). The moral of the story, wayland (and by extension wayfire) like things done their way, which makes things work, but requires some tinkering.