HID: multitouch: fix protocol for Cando 2087:0a02
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>
Thu, 31 Jan 2013 16:22:29 +0000 (17:22 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 5 Feb 2013 11:07:41 +0000 (12:07 +0100)
Cando 2087:0a02 was broken, this fixes it.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-multitouch.c

index 4ea28de33d0a4eae1980022ba9e5336445b36afc..e2fc1211f130015fe55f23470b71b271e3bdeef8 100644 (file)
@@ -115,6 +115,7 @@ struct mt_device {
 #define MT_CLS_DUAL_NSMU_CONTACTID             0x0008
 #define MT_CLS_INRANGE_CONTACTNUMBER           0x0009
 #define MT_CLS_ALWAYS_TRUE                     0x000a
+#define MT_CLS_DUAL_CONTACT_NUMBER             0x0010
 
 /* vendor specific classes */
 #define MT_CLS_3M                              0x0101
@@ -177,6 +178,11 @@ static struct mt_class mt_classes[] = {
        { .name = MT_CLS_ALWAYS_TRUE,
                .quirks = MT_QUIRK_ALWAYS_VALID |
                        MT_QUIRK_CONTACT_CNT_ACCURATE },
+       { .name = MT_CLS_DUAL_CONTACT_NUMBER,
+               .quirks = MT_QUIRK_ALWAYS_VALID |
+                       MT_QUIRK_CONTACT_CNT_ACCURATE |
+                       MT_QUIRK_SLOT_IS_CONTACTNUMBER,
+               .maxcontacts = 2 },
 
        /*
         * vendor specific classes
@@ -947,7 +953,7 @@ static const struct hid_device_id mt_devices[] = {
        { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
                MT_USB_DEVICE(USB_VENDOR_ID_CANDO,
                        USB_DEVICE_ID_CANDO_MULTI_TOUCH) },
-       { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
+       { .driver_data = MT_CLS_DUAL_CONTACT_NUMBER,
                MT_USB_DEVICE(USB_VENDOR_ID_CANDO,
                        USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1) },
        { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,