]> git.baikalelectronics.ru Git - kernel.git/commit
HID: rmi: Use SET_REPORT request on control endpoint for Acer Switch 3 and 5
authorTobias Auerochs <tobi291019@gmail.com>
Sat, 20 Apr 2019 19:19:51 +0000 (21:19 +0200)
committerJiri Kosina <jkosina@suse.cz>
Thu, 9 May 2019 19:36:22 +0000 (21:36 +0200)
commit4db68816a4857e24ee1a729d5132560832a85969
treed12d922f6ad21acf436b1b8a72d874534b0aab35
parent6d5c2134a7eb9ff359df986afa76211973128b3c
HID: rmi: Use SET_REPORT request on control endpoint for Acer Switch 3 and 5

The touchpad on the cover keyboard for the Acer Switch 3 and 5 does not
work as-is under Linux. Both devices have the same usb id for the cover
keyboard.

The kernel correctly assigns the hid-rmi driver to the device using usbhid
for transport.
Any attempts of hid-rmi to talk to the device using hid_hw_output_report
fail however as usbhid does not have a working urbout due to the lack of
any out endpoints.

Looking through Wireshark usbmon recordings from the Windows Synaptics
driver for this computer running inside of QEMU shows that it should be
using SET_REPORT requests instead.

This replaces the hid_hw_output_report in hid-rmi with a
hid_hw_raw_request for this device, which is at least enough to enable
the kernel to get working multi-touch input.

Signed-off-by: Tobias Auerochs <tobi291019@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-ids.h
drivers/hid/hid-rmi.c