summaryrefslogtreecommitdiff
path: root/drivers/hid
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>2011-11-23 13:54:34 +0400
committerJiri Kosina <jkosina@suse.cz>2011-11-23 17:50:39 +0400
commit1b723e8dc81b23141bfb8991e002073b17fd0199 (patch)
tree4ae5e481d6a605245ed25218fde9d6858155a7fd /drivers/hid
parent66f06127f34ad6e8a1b24a2c03144b694d19f99f (diff)
downloadlinux-1b723e8dc81b23141bfb8991e002073b17fd0199.tar.xz
HID: multitouch: correct eGalax a001 protocol
This device use another protocol while sending the events. It's the same as the one described as "serial" by Microsoft. We are keeping here the sn_move and sn_pressure parameters for egalax devices. CC: Cedric Sodhi <manday@gmx.net> CC: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-multitouch.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index fd2fa5977831..26e9706eedf5 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -97,6 +97,7 @@ struct mt_device {
#define MT_CLS_3M 0x0101
#define MT_CLS_CYPRESS 0x0102
#define MT_CLS_EGALAX 0x0103
+#define MT_CLS_EGALAX_SERIAL 0x0104
#define MT_DEFAULT_MAXCONTACT 10
@@ -174,6 +175,12 @@ struct mt_class mt_classes[] = {
.sn_move = 4096,
.sn_pressure = 32,
},
+ { .name = MT_CLS_EGALAX_SERIAL,
+ .quirks = MT_QUIRK_SLOT_IS_CONTACTID |
+ MT_QUIRK_ALWAYS_VALID,
+ .sn_move = 4096,
+ .sn_pressure = 32,
+ },
{ }
};
@@ -705,7 +712,7 @@ static const struct hid_device_id mt_devices[] = {
{ .driver_data = MT_CLS_EGALAX,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7302) },
- { .driver_data = MT_CLS_EGALAX,
+ { .driver_data = MT_CLS_EGALAX_SERIAL,
HID_USB_DEVICE(USB_VENDOR_ID_DWAV,
USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001) },