Thread (1 message) 1 message, 1 author, 2017-08-22

Re: HID: core: assign usbhid to handle EETI PID=0x0001 HID device

From: Kirill Esipov <hidden>
Date: 2017-08-22 16:13:26
Also in: lkml

Hi

On 08/11/2017 10:42 AM, JamChen wrote:
quoted hunk
From: Jam Chen <redacted>

The vendor used the same PID(0x0001) for multiple touch IC controllers.
The newer ICs can support HID class and report the multitouch collection
in the descriptor. So they were handled by the hid-multitouch driver.
But some customized firmwares don't support multitouch protocol even if
driver have got the Win8 blob data.

Actually, those ICs only support the single touch function, and report
the mouse protocol by default. We can assign usbhid to handle them all.

Signed-off-by: Jam Chen <redacted>
---
  drivers/hid/hid-core.c | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 9017dcc14502..df4696022488 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -828,6 +828,10 @@ static int hid_scan_report(struct hid_device *hid)
  */
  hid->group = HID_GROUP_RMI;
  break;
+ case USB_VENDOR_ID_DWAV:
+ if (hid->product == USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER)
+ hid->group = HID_GROUP_GENERIC;
+ break;
  }

  /* fall back to generic driver in case specific driver doesn't exist */
I've tested this patch and got the same problem as Zoltán Böszörményi did:
- on finger touch: pointer doesn't change its position;
- on finger move: pointer is moving and it's behavior looks like
touchscreen is working as touchpad;

My test environments:
linux kernel 4.1.18 (armv7 ti am335x)
weston - 1.9.0
libinput - 1.1.4
libevdev - 1.2.99.901

Also I've tested this patch
https://patchwork.kernel.org/patch/9876649/ - and it works fine.



-- 
Kirill Esipov
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help