aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>2013-01-31 11:22:30 -0500
committerJiri Kosina <jkosina@suse.cz>2013-02-05 06:07:41 -0500
commite325905c6c28331772dcd3218a690af744a1a564 (patch)
treeef17ec8f21ba0f6877a010a42971697651455d1d
parentefc16787cf92de4906adae8e451c10c6189b4ca8 (diff)
HID: multitouch: fix protocol for Elo panels
The previous protocol was nearly working, but when several fingers were present on the sensor, those that were not moving were not updated in the next report, introducing a lot of releases. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Conflicts: drivers/hid/hid-multitouch.c Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-multitouch.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index e2fc1211f130..a3d4f0fbc4be 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -116,6 +116,7 @@ struct mt_device {
116#define MT_CLS_INRANGE_CONTACTNUMBER 0x0009 116#define MT_CLS_INRANGE_CONTACTNUMBER 0x0009
117#define MT_CLS_ALWAYS_TRUE 0x000a 117#define MT_CLS_ALWAYS_TRUE 0x000a
118#define MT_CLS_DUAL_CONTACT_NUMBER 0x0010 118#define MT_CLS_DUAL_CONTACT_NUMBER 0x0010
119#define MT_CLS_DUAL_CONTACT_ID 0x0011
119 120
120/* vendor specific classes */ 121/* vendor specific classes */
121#define MT_CLS_3M 0x0101 122#define MT_CLS_3M 0x0101
@@ -183,6 +184,11 @@ static struct mt_class mt_classes[] = {
183 MT_QUIRK_CONTACT_CNT_ACCURATE | 184 MT_QUIRK_CONTACT_CNT_ACCURATE |
184 MT_QUIRK_SLOT_IS_CONTACTNUMBER, 185 MT_QUIRK_SLOT_IS_CONTACTNUMBER,
185 .maxcontacts = 2 }, 186 .maxcontacts = 2 },
187 { .name = MT_CLS_DUAL_CONTACT_ID,
188 .quirks = MT_QUIRK_ALWAYS_VALID |
189 MT_QUIRK_CONTACT_CNT_ACCURATE |
190 MT_QUIRK_SLOT_IS_CONTACTID,
191 .maxcontacts = 2 },
186 192
187 /* 193 /*
188 * vendor specific classes 194 * vendor specific classes
@@ -1040,7 +1046,7 @@ static const struct hid_device_id mt_devices[] = {
1040 USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72C4) }, 1046 USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_72C4) },
1041 1047
1042 /* Elo TouchSystems IntelliTouch Plus panel */ 1048 /* Elo TouchSystems IntelliTouch Plus panel */
1043 { .driver_data = MT_CLS_DUAL_NSMU_CONTACTID, 1049 { .driver_data = MT_CLS_DUAL_CONTACT_ID,
1044 MT_USB_DEVICE(USB_VENDOR_ID_ELO, 1050 MT_USB_DEVICE(USB_VENDOR_ID_ELO,
1045 USB_DEVICE_ID_ELO_TS2515) }, 1051 USB_DEVICE_ID_ELO_TS2515) },
1046 1052