Skip to content

Add a generic 3 button + eraser pen#984

Merged
whot merged 2 commits into
linuxwacom:masterfrom
whot:wip/general-3btn-pen
May 27, 2026
Merged

Add a generic 3 button + eraser pen#984
whot merged 2 commits into
linuxwacom:masterfrom
whot:wip/general-3btn-pen

Conversation

@whot

@whot whot commented May 25, 2026

Copy link
Copy Markdown
Member

This sits on top of #983

This covers the Huion PW600 device which is the most flexible device
that huion devices can support - it's a three-button pen with a tail-end
eraser. But so far we cannot know which pen is being used so we need to
implement this as a generic pen and hope that it doesn't confuse the
user too much.

The order (and fake tool ID) of pen and eraser shouldn't matter but we
give the pen a lower tool ID than the eraser. This means during typical
listing the pen comes first which helps implementations that don't
correctly check whether the tool is an eraser (e.g. GNOME Settings
as of GNOME 50).
edit: this is #985

The tablets switch to the new pen are the ones listed on Huion's website 1:

Compatible with Kamvas Pro 19 and Kamvas Pro 27, Kamvas 16 (Gen 3) and Kamvas 13 (Gen 3)

This produces false positives if a user doesn't have that tool - we
still cannot identify Huion pens at runtime. But better to have
configuration for buttons that don't exist than lacking configurations
for buttons that do exist.

Footnotes

  1. https://store.huion.com/au/products/battery-free-pen-pw600

@whot whot force-pushed the wip/general-3btn-pen branch 2 times, most recently from 11d883c to 42e3adb Compare May 25, 2026 04:56
@whot

whot commented May 27, 2026

Copy link
Copy Markdown
Member Author

Probably noteworthy here: I did get tempted to make this a huion-specific pen (i.e. 256c vendor id) but the amount of work required here, in libinput, in the wayland protocol, in the compositor and the clients (e.g. GNOME Settings) for what ends up being zero benefit is simply not worth it.

whot added 2 commits May 27, 2026 15:10
This covers the Huion PW600 device which is the most flexible device
that huion devices can support - it's a three-button pen with a tail-end
eraser. But so far we cannot know which pen is being used so we need to
implement this as a generic pen and hope that it doesn't confuse the
user too much.

The order (and fake tool ID) of pen and eraser shouldn't matter but we
give the pen a lower tool ID than the eraser. This means during typical
listing the pen comes first which helps implementations that don't
correctly check whether the tool is an eraser.
From Huion's website [1]: Compatible with Kamvas Pro 19 and Kamvas Pro
27, Kamvas 16 (Gen 3) and Kamvas 13 (Gen 3)

This produces false positives if a user doesn't have that tool - we
still cannot identify Huion pens at runtime. But better to have
configuration for buttons that don't exist than lacking configurations
for buttons that do exist.

[1] https://store.huion.com/au/products/battery-free-pen-pw600

Assisted-by: Claude:claude-opus-4-6
@whot whot force-pushed the wip/general-3btn-pen branch from 42e3adb to e7d9d07 Compare May 27, 2026 05:10
@whot whot added this pull request to the merge queue May 27, 2026
Merged via the queue into linuxwacom:master with commit 59c84aa May 27, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant