aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/hid.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2017-11-22 12:57:10 +0100
committerJiri Kosina <jkosina@suse.cz>2017-11-22 16:01:06 +0100
commit127e71bd462b87301f5ff1d1fd686515b4a4af9c (patch)
treecc5fe72c76a542799f614d96688881bde6d491c1 /include/linux/hid.h
parentHID: multitouch: Only look at non touch fields in first packet of a frame (diff)
downloadlinux-dev-127e71bd462b87301f5ff1d1fd686515b4a4af9c.tar.xz
linux-dev-127e71bd462b87301f5ff1d1fd686515b4a4af9c.zip
HID: multitouch: Combine all left-button events in a frame
According to the Win8 Precision Touchpad spec, inside the HID_UP_BUTTON usage-page usage 1 is for a clickpad getting clicked, 2 for an external left button and 3 for an external right button. Since Linux uses BTN_LEFT for a clickpad being clicked we end up mapping both usage 1 and 2 to BTN_LEFT and if a single report contains both then we ended up always reporting the value of both in a single SYN, e.g. : BTN_LEFT 1, BTN_LEFT 0, SYN. This happens for example with Hantick HTT5288 i2c mt touchpads. This commit fixes this by not immediately reporting left button when we parse the report, but instead storing or-ing together the values and reporting the result from mt_sync_frame() when we've a complete frame. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions