pad: implement strip support for the Huion Kamvas 24
Draft until there's a decision on merging this event node together with the buttons.
This device sends the strip via ABS_WHEEL, not ABS_RX like Wacom does. Fixed, see !989 (comment 2380674)
And the value is a normal value in the range 0-7 as opposed to the log value Wacom's strips send.
The old behavior for strips is now behind a Wacom vendor ID check, the
new behavior is hardcoded to the Huion vendor ID. We may want to set
this via a quirk eventually but Huions re-use the USB IDs so the quirk
is going to be tricky anyway.
The new behavior simply remaps ABS_WHEEL into the strip and done.
Related #989
Note that just like the possible event node merge we could hack the kernel driver to map this into ABS_RX
instead of ABS_WHEEL
. Not opposed to that but the quirky wacom strip behaviour requires us to have a separate code path anyway (and I don't want the kernel to emulate that weird log(2) behaviour).
@AesaraB For now, you'll need
$ cat /etc/udev/hwdb.d/99-huion.hwdb
libwacom:name:* Touch Strip:input:b0003v256Cp006D*
ID_INPUT_TABLET_PAD=1
$ sudo systemd-hwdb update
Then re-plug your device and libinput record
should list ID_INPUT_TABLET_PAD
for the device now. Then libinput debug-events
should show the strip events correctly within 0
and 1
with -1
as "finger lifted" event.