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

hid-uclogic should set Pen or Digitizer, depending on usage #697

Open
whot opened this issue Jun 19, 2024 · 3 comments
Open

hid-uclogic should set Pen or Digitizer, depending on usage #697

whot opened this issue Jun 19, 2024 · 3 comments

Comments

@whot
Copy link
Contributor

whot commented Jun 19, 2024

Filing this mostly so there's a record somehere.

The report descriptor fixup uclogic_rdesc_v1_pen_template_arr sets Usage (Digitizer) but the kernel differs between "Digitizer" (for external tablets, INPUT_PROP_POINTER) and "Pen" for display tablets (INPUT_PROP_DIRECT). Userspace somewhat relies on INPUT_PROP_DIRECT to know if we're dealing with a direct-input device (see libinput!1019 for a workaround).

Ideally uclogic would set pen vs depending on the device, though I understand that's not exactly trivial in the current implementation.

@JoseExposito
Copy link
Collaborator

As far as I know, there is no information in the tablet or pen descriptor (uclogic_params_pen_init_v2) to differentiate them. Here are a couple of examples of INPUT_PROP_DIRECT devices:

The only way to differentiate them is creating a list of devices with screen in the kernel... But that's already done in libwacom, so your solution works pretty well.
If a kernel fix is really needed, I can work on one, but I don't think it is worth it.

Leaving this bug open, as it is not fixed here, but most likely, we won't see a fix in the kernel any time soon.

@whot
Copy link
Contributor Author

whot commented Jun 19, 2024

we already map the firmware to the uniq here, right? so it would be relatively trivial to generate a firmware id to internal/external mapping from libwacom and add that here. But yeah, ETIME and EMOTIVATION :)

@JoseExposito
Copy link
Collaborator

Class=Cintiq and IntegratedIn=Display is already set in libwacom for Kanvas devices. The privative driver exposes that information, so I think that no further changes are required :D

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

No branches or pull requests

2 participants