Re: [PATCH] hid: Add support for the xp-pen deco mini7 tablet
From: José Expósito <hidden>
Date: 2022-06-25 15:30:39
Also in:
lkml
On Fri, Jun 24, 2022 at 12:24:09AM +0200, Stefan Berzl wrote:
On 23/06/2022 19:51, José Expósito wrote:quoted
At the moment, there are only HID descriptors for the frame and the pen so, if your tablet is creating a touch ring device, something is not working as expected. Running "sudo libinput record" should display only the frame and the pen. Does it show something different in your case? $ sudo libinput record [...] /dev/input/event21: Hanvon Ugee Technology Co.,Ltd Deco L /dev/input/event22: Hanvon Ugee Technology Co.,Ltd Deco L PadThis is certainly true for the newer xppen devices we are working on. However, while waiting for the xppen stuff to gain support, I bought a tablet that's already supported, the Gaomon S620. Executing libinput record or any other command that lists the devices, like evemu-describe, gives: /dev/input/event15: GAOMON Gaomon Tablet /dev/input/event16: GAOMON Gaomon Tablet Pad /dev/input/event17: GAOMON Gaomon Tablet Touch Strip /dev/input/event18: GAOMON Gaomon Tablet Dial
Ah OK, I though you were talking about the XP-PEN device. I don't know why those extra event nodes are created, sorry.
quoted
quoted
There is however one caveat that seems to be unique to the mini7, which is the ack packet that is sent when switching to the vendor defined usage. It doesn't do much though, as currently it gets interpreted as a pen report and since it doesn't have useful values, causes the cursor to go to the top left screen position. Since the ack packet is only sent once, it ought to be of little consequence. I would of course fix this, but I don't really know what's the preferred way. One can obviously simply set up an urb to catch this, but it would have to be a special corner case for the mini 7, as José assures me that none of his tablets display similar behavior. Is this acceptable?My tablets also send an ACK packet, but in my case it does not have any visible effects. Maybe it is related to the DE environment used. I tested it on elementary OS (Ubuntu) and Fedora 36, in both cases the ACK is ignored... But catching it is fine, we can include the code you suggest.Can the contents maybe differ? This is the ack the mini 7 gives me: 02 b1 04 00 00 00 00 00 00 00 00 00 While this is a button: 02 f0 00 00 00 00 00 00 00 00 00 00 And here we have pen movement: 02 a1 59 23 ef 32 b8 0e 00 00 00 00
Yes, the contents are different. My ACK does not contain the last 2 bytes. As mentioned in my previous email, I think that because the ACK of your tablet matches the size of a pen report and starts with 02 it is handled as a pen report. Jose