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

HUION: Add auto generated description files #659

Merged

Conversation

JoseExposito
Copy link
Contributor

@JoseExposito JoseExposito commented Apr 21, 2024

This PR adds a bunch of HUION tablet description files and SVGs generated with this tool:
https://github.com/JoseExposito/uclogic-libwacom-tablet-descriptions

While incomplete, basic information like the number of buttons, number of touch strips and the device class (bamboo/cintiq) is correct.

whot added a commit to whot/libwacom that referenced this pull request Apr 21, 2024
Previously we required a layout file for any tablet with pad
buttons. This somewhat prevents us from adding tablet files for unknown
tablets where we can get most of the information from external sources,
e.g. see linuxwacom#659. As a result we're missing support for these tablets
altogether when we could have at least partial support.

Let's drop this requirement in our tests, users who want their tablet
working properly can submit layout files.
Copy link
Member

@whot whot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM and is obviously a massive boon in tablet files, so thanks heaps for that.

I'm wondering what the overlap is between these new devices and the ones we already have. IOW I think some of these new devices were already matched by existing files and may break/change now but then again that should bring the users out of the woodwork to fix the layout files :)

data/huion-gc610-710.tablet Show resolved Hide resolved
data/huion-gc610-710.tablet Outdated Show resolved Hide resolved
data/huion-gc610-710.tablet Outdated Show resolved Hide resolved
whot added a commit to whot/libwacom that referenced this pull request Apr 22, 2024
Previously we required a layout file for any tablet with pad
buttons. This somewhat prevents us from adding tablet files for unknown
tablets where we can get most of the information from external sources,
e.g. see linuxwacom#659. As a result we're missing support for these tablets
altogether when we could have at least partial support.

Let's drop this requirement in our tests, users who want their tablet
working properly can submit layout files.
@JoseExposito
Copy link
Contributor Author

I'm wondering what the overlap is between these new devices and the ones we already have. IOW I think some of these new devices were already matched by existing files and may break/change now but then again that should bring the users out of the woodwork to fix the layout files :)

I deleted manually the description files already present in libwacom to avoid clashes. Have I override any accidentally?

@JoseExposito JoseExposito marked this pull request as draft April 22, 2024 09:52
whot added a commit that referenced this pull request Apr 22, 2024
Previously we required a layout file for any tablet with pad
buttons. This somewhat prevents us from adding tablet files for unknown
tablets where we can get most of the information from external sources,
e.g. see #659. As a result we're missing support for these tablets
altogether when we could have at least partial support.

Let's drop this requirement in our tests, users who want their tablet
working properly can submit layout files.
@whot
Copy link
Member

whot commented Apr 23, 2024

I deleted manually the description files already present in libwacom to avoid clashes. Have I override any accidentally?

I don't see any deleted files in this MR so I'm not sure what you meant there? My comment was related to: huion re-uses the USB IDs and the names so we have .tablet files that match tablets they weren't intended to. With this MR this should be fixed but it may cause a change in a previously overmatched tablet. Again, it may happen but I'm not sure we need to worry about it...

@whot
Copy link
Member

whot commented May 2, 2024

To illustrate my comment above: the only .tablet file that is overwritten by the autogenerated results in JoseExposito/uclogic-libwacom-tablet-descriptions#1 is the HS611 and that shows the issue quite nicely:

- DeviceMatch=usb|256c|006d|HUION Huion Tablet_HS611 Pad;usb|256c|006d|HUION Huion Tablet_HS611 Touch Strip;usb|256c|006d|HUION Huion Tablet_HS611 Pen
+ DeviceMatch=usb|256c|006e||HUION_T19c;usb|256c|006d||HUION_T19c;

This device would indeed break if we were to replace the tablet file - anyone with older digimend patches won't get the uniq set and because we have no fallback match we won't match this device anymore.

This means we need to add the autogenerated patches in addition to the existing ones until we can reasonably expect users to carry the updated kernel patches. Our match system goes name+uniq first, then uniq, then name so for tablets where we have both uniq and old-style name match defined we should match correctly either way.

So it's just a bit more messy and on older systems we still get overmatching where the vid/pid/name are shared but overall it Should Just Worktm :)

@JoseExposito JoseExposito force-pushed the huion-autogenerated-descriptors branch from 6dfe4d8 to 3e99bae Compare May 7, 2024 06:43
@JoseExposito JoseExposito marked this pull request as ready for review May 7, 2024 06:50
@JoseExposito
Copy link
Contributor Author

To illustrate my comment above: the only .tablet file that is overwritten by the autogenerated results in JoseExposito/uclogic-libwacom-tablet-descriptions#1 is the HS611

Ops, I didn't automate the removal of devices already present in libwacom and instead I manually deleted them... And manual processes tend to have errors. That file shouldn't be there, I removed it in the latest revision.

This PR should contain only new tablets. If the tablet was already present in libwacom, we should use them.

@JoseExposito JoseExposito force-pushed the huion-autogenerated-descriptors branch from 7e2fee3 to be9f55e Compare May 7, 2024 07:51
@JoseExposito
Copy link
Contributor Author

Added an extra commit with 70 tablets (that should be all tablets) from GAOMON.

@JoseExposito JoseExposito force-pushed the huion-autogenerated-descriptors branch 5 times, most recently from 2715307 to 0a51ab6 Compare May 7, 2024 08:20
@whot
Copy link
Member

whot commented May 8, 2024

Alrighty, I've merged all the other PRs with the groundwork which means you should be able to rebase and get a) good enough testing and b) useful error messages for the SVG validity tester.

Added an extra commit with 70 tablets (that should be all tablets) from GAOMON.

awesome, thanks. I'm not looking forward to adding all those to the NEWS file :)

@jexposit jexposit force-pushed the huion-autogenerated-descriptors branch from 0a51ab6 to ab2782d Compare May 8, 2024 09:46
@JoseExposito
Copy link
Contributor Author

Thanks a lot Peter, after rebasing on top of master CI is happy 🎉

@whot
Copy link
Member

whot commented May 8, 2024

In that case, let's get this merged! Thanks heaps for all the effort, this is certainly the biggest commit enabling new tablets ever :)

@whot whot merged commit c80bd7f into linuxwacom:master May 8, 2024
14 checks passed
@whot whot mentioned this pull request May 20, 2024
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.

2 participants