diff options
author | alyptik | 2017-08-23 10:38:11 -1000 |
---|---|---|
committer | alyptik | 2017-08-23 10:38:11 -1000 |
commit | 388121bf9bac019d2caccb38af705feed138c259 (patch) | |
tree | b9b5c7e585f39d2a03dc20963a5c005dfe605101 /touchscreen_multitouch_fixes1.patch | |
download | aur-388121bf9bac019d2caccb38af705feed138c259.tar.gz |
addpkg: linux-surfacepro3-git 4.13rc6.r65.g2acf097f16ab-1
Diffstat (limited to 'touchscreen_multitouch_fixes1.patch')
-rw-r--r-- | touchscreen_multitouch_fixes1.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/touchscreen_multitouch_fixes1.patch b/touchscreen_multitouch_fixes1.patch new file mode 100644 index 000000000000..30205fa16cb8 --- /dev/null +++ b/touchscreen_multitouch_fixes1.patch @@ -0,0 +1,43 @@ +From 909b254eb818f63ba0e541abbbe829d923c19234 Mon Sep 17 00:00:00 2001 +From: Daniel Martin <consume.noise@gmail.com> +Date: Fri, 2 Oct 2015 10:07:15 +0200 +Subject: [PATCH 2/4] HID: multitouch: Add MT_QUIRK_NOT_SEEN_MEANS_UP to + MT_CLS_WIN_8 + +The firmware found in the touch screen of an SP3 is buggy and may miss +to send lift off reports for contacts. Try to work around that issue by +using MT_QUIRK_NOT_SEEN_MEANS_UP. + +Signed-off-by: Daniel Martin <consume.noise@gmail.com> +--- + drivers/hid/hid-multitouch.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c +index 1cc1108..625f1ee 100644 +--- a/drivers/hid/hid-multitouch.c ++++ b/drivers/hid/hid-multitouch.c +@@ -206,7 +206,8 @@ static struct mt_class mt_classes[] = { + .quirks = MT_QUIRK_ALWAYS_VALID | + MT_QUIRK_IGNORE_DUPLICATES | + MT_QUIRK_HOVERING | +- MT_QUIRK_CONTACT_CNT_ACCURATE }, ++ MT_QUIRK_CONTACT_CNT_ACCURATE | ++ MT_QUIRK_NOT_SEEN_MEANS_UP }, + { .name = MT_CLS_EXPORT_ALL_INPUTS, + .quirks = MT_QUIRK_ALWAYS_VALID | + MT_QUIRK_CONTACT_CNT_ACCURATE, +@@ -1054,7 +1055,8 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) + return -ENOMEM; + } + +- if (id->vendor == HID_ANY_ID && id->product == HID_ANY_ID) ++ if (id->vendor == HID_ANY_ID && id->product == HID_ANY_ID && ++ id->group != HID_GROUP_MULTITOUCH_WIN_8) + td->serial_maybe = true; + + ret = hid_parse(hdev); +-- +2.1.4 + + |