]> 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)
commitc3e2a481a253c3fdb8222ee0c34d90d1e2a22dbd
treed17e024db9f3c8c9386b2c1154da94e71c48936f
parentb1e62f7e2a92a34095ac8ab481238211acf10ded
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]