Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds XP Pen Artist 13.3 tablet with fixed stylus button #320

Open
wants to merge 63 commits into
base: master
Choose a base branch
from

Conversation

fahrstuhl
Copy link

Hi,
this adds support for the XP Pen Artist 13.3 tablet, which had everything but one stylus button working. The stylus button was remapped from eraser to tablet pick.

The code might fit better into the existing uclogic driver structure, but I couldn't quite figure out where to put what, so for now it has its own file. If you'd rather have it integrated into the uclogic structure, I'd need some help please :D

gonX and others added 28 commits January 6, 2020 15:46
Since the 006d Huion PID is used by multiple tablets (at least HS64 and
HS610), rename its constant to a more general
"USB_DEVICE_ID_HUION_TABLET2".
Support reporting 13th frame button for Huion tablets. This supports
reporting the button in the center of the dial for Huion HS610.
Remove the fake fields from hid-uclogic pad reports, which were used for
compatibility with older versions of the Wacom user-space driver.
Remove support for pen usage masking from hid-uclogic. Disable whole
interfaces instead. Most of those interfaces are useless, and if there's
one which has an unused pen usage (ha-ha), but also has useful reports,
its report descriptor should be rewritten instead.

This simplifies the code and the data structures.
Debian stable still seems to be using the version of Wacom drivers which
require this, so let's bring it back.

This reverts commit 42a8a35.
Replace a single pen_frame_flag in struct uclogic_params with
subreport_list in struct uclogic_params_pen to prepare for handling more
subreports in Huion HS610.
Switch from matching UC-Logic subreport with a mask to a full value to
support detecting Huion HS610 touch dial reports. Those would match the
button mask otherwise.
Use the term "frame" instead of "buttonpad" for consistency, in UC-Logic
driver.
Put general hardware version before everything else in uclogic_rdesc_
namespace.
Add support for multiple frame input devices and their parameters to
the UC-Logic driver. This prepares for creating a separate input device
for Huion HS610 virtual touch ring reports.
Add support for touch ring to UC-Logic driver. The touch ring reports
can be flipped around a specific point to match the orientation and
direction reported by the Wacom drivers. The proximity will also be
reported similar to the Wacom drivers.
Support assigning custom device name suffixes to frame input devices
instead of just "Pad". This allows distinguishing multiple frame input
devices, e.g. for Huion HS610.
spbnick and others added 29 commits March 15, 2020 17:51
Allow keyboard reports from interface DIGImend#1 of Huion tablets to pass
unmodified, and stop the Wacom X.org driver from handling them.

The method for the latter is rather crude and also take the Dial reports
from the Wacom driver, but it's expected that libinput will be able to
handle them (still to be tested).

This enables Huion HS611 media and desktop keys.
Restore the ability to disable pen usage in hid-uclogic to support e.g.
keyboard interfaces which also have pen usages for some reason, but
which we don't want to rewrite report descriptors for.
Disable pen usage inputs for Huion interfaces reporting on-the-frame
buttons. We don't want to change those, as they mostly work, but we want
to avoid creation of a mute pen interface, confusing to users.
Move parameter printing from a format string/argument list to a function
to allow printing the full parameters, which now wouldn't fit into a
single print call.
Return the raw parameters buffer from uclogic_params_pen_init_v2(), if
requested, as a way to identify the tablet.
Accommodate both touch ring and touch strip in naming throughout
hid-uclogic by talking about abstract "touch" instead of "touch ring",
wherever possible.
Always decrement touch report values to have the range start with zero,
regardless if flipped or not. This fixes the future non-flipped touch
strip reports.
@Deevad Deevad mentioned this pull request May 12, 2021
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.

3 participants