]> git.baikalelectronics.ru Git - kernel.git/commit
hid: topre: Add driver fixing report descriptor
authorHarry Stern <harry@harrystern.net>
Sun, 11 Sep 2022 00:36:13 +0000 (20:36 -0400)
committerBenjamin Tissoires <benjamin.tissoires@redhat.com>
Tue, 20 Sep 2022 11:16:25 +0000 (12:16 +0100)
commit72c0bdcfd5aecbb29d5e6818248f44b3d26d94b4
treed17e024db9f3c8c9386b2c1154da94e71c48936f
parent4989f120fa9b5673f95dc6de48fb1365324de5ca
hid: topre: Add driver fixing report descriptor

The Topre REALFORCE R2 firmware incorrectly reports that interface
descriptor number 1, input report descriptor 2's events are array events
rather than variable events. That particular report descriptor is used
to report keypresses when there are more than 6 keys held at a time.
This bug prevents events from this interface from being registered
properly, so only 6 keypresses (from a different interface) can be
registered at once, rather than full n-key rollover.

This commit fixes the bug by setting the correct value in a report_fixup
function.

The original bug report can be found here:
Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/804
Thanks to Benjamin Tissoires for diagnosing the issue with the report
descriptor.

Signed-off-by: Harry Stern <harry@harrystern.net>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Link: https://lore.kernel.org/r/20220911003614.297613-1-harry@harrystern.net
drivers/hid/Kconfig
drivers/hid/Makefile
drivers/hid/hid-ids.h
drivers/hid/hid-topre.c [new file with mode: 0644]