HID: bpf: add in-tree HID-BPF fix for the Huion Kamvas Pro 19
authorBenjamin Tissoires <bentiss@kernel.org>
Wed, 10 Apr 2024 17:19:28 +0000 (19:19 +0200)
committerBenjamin Tissoires <bentiss@kernel.org>
Tue, 7 May 2024 13:39:16 +0000 (15:39 +0200)
commit9f1bf4c225329d27e85fc1c5b5af9e6ebf4a8ff3
tree8766e103998a9d4c235eb8386cd42f63196ff0b9
parent1c046d09c6ba4ff5fb959b2d195cacadb2ae6977
HID: bpf: add in-tree HID-BPF fix for the Huion Kamvas Pro 19

This tablets gets a lot of things wrong:
- the secondary button is reported through Secondary Tip Switch
- the third button is reported through Invert

Fortunately, before entering eraser mode, (so Invert = 1),
the tablet always sends an out-of-proximity event.
So we can detect that single event and:
- if there was none but the invert bit was toggled: this is the
  third button
- if there was this out-of-proximity event, we are entering
  eraser mode, and we will until the next out-of-proximity.

Link: https://lore.kernel.org/r/20240410-bpf_sources-v1-8-a8bf16033ef8@kernel.org
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
drivers/hid/bpf/progs/Huion__Kamvas-Pro-19.bpf.c [new file with mode: 0644]