]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
HID: multitouch: new device class fix Lenovo X12 trackpad sticky
authorTao Jin <tao-j@outlook.com>
Fri, 20 May 2022 03:51:32 +0000 (23:51 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:45:39 +0000 (11:45 +0200)
commitccb19dba9ded8d0059cd4e4bdcc9e8c3462bfba1
treedf960d22f2bf4ec1305a170b7e48931953384057
parent2d419ac1f3336fd2ee89a6472ef73cdb9339c0d4
HID: multitouch: new device class fix Lenovo X12 trackpad sticky

[ Upstream commit 54eed5c7b938dc4ef6b14d4ee048bbdafdbce352 ]

The trackpad of the given device sends continuous report of pointers
status as per wxn8 spec. However, the spec did not clarify when the
fingers are lifted so fast that between the interval of two report
frames fingers on pad reduced from >=2 to 0. The second last report
contains >=2 fingers with tip state 1 and the last report contains only
1 finger with tip state 0. Although this can happen unfrequently, a
  quick fix will be improve the consistency to 100%. A quick fix is to
disable MT_QUIRK_ALWAYS_VALID and enable MT_QUIRK_NOT_SEEN_MEANS_UP.

Test for hid-tools is added in [1]

In addition to this, I2C device 04CA:00B1 may also need similar class
but with MT_QUIRK_FORCE_MULTI_INPUT disabled (but it does not harm to
 enable it on non-multi-input device either). The respective owner has
been notified and a patch may coming soon after test.

[1]: https://gitlab.freedesktop.org/libevdev/hid-tools/-/merge_requests/130

Signed-off-by: Tao Jin <tao-j@outlook.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hid/hid-multitouch.c