diff options
author | Benjamin Tissoires <benjamin.tissoires@enac.fr> | 2011-05-19 05:37:29 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-05-19 05:54:55 -0400 |
commit | c04abeeff9d76a703cac1e6d312853b0fc8136f5 (patch) | |
tree | 3b840d56e04330ccfbabb554109d8243316d4401 | |
parent | df167c4a0d68a9dbde044a39a77f255ac666f93e (diff) |
HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus
This patch adds support for Elo TouchSystems 2515 IntelliTouch Plus
that can be found in Lenovo A700 all-in-one.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/Kconfig | 1 | ||||
-rw-r--r-- | drivers/hid/hid-core.c | 1 | ||||
-rw-r--r-- | drivers/hid/hid-ids.h | 1 | ||||
-rw-r--r-- | drivers/hid/hid-multitouch.c | 10 |
4 files changed, 13 insertions, 0 deletions
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index 5a54b1312abf..1572ff13f348 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig | |||
@@ -305,6 +305,7 @@ config HID_MULTITOUCH | |||
305 | - 3M PCT touch screens | 305 | - 3M PCT touch screens |
306 | - Cando dual touch panel | 306 | - Cando dual touch panel |
307 | - Cypress TrueTouch panels | 307 | - Cypress TrueTouch panels |
308 | - Elo TouchSystems IntelliTouch Plus panels | ||
308 | - Hanvon dual touch panels | 309 | - Hanvon dual touch panels |
309 | - Ilitek dual touch panel | 310 | - Ilitek dual touch panel |
310 | - IrTouch Infrared USB panels | 311 | - IrTouch Infrared USB panels |
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 3dad069e142a..053fc08a270d 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c | |||
@@ -1366,6 +1366,7 @@ static const struct hid_device_id hid_have_special_driver[] = { | |||
1366 | { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) }, | 1366 | { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) }, |
1367 | { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) }, | 1367 | { HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) }, |
1368 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, | 1368 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, |
1369 | { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) }, | ||
1369 | { HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) }, | 1370 | { HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) }, |
1370 | { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, | 1371 | { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, |
1371 | { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) }, | 1372 | { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) }, |
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index bfbc0d258851..6c19d1a66cf2 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h | |||
@@ -216,6 +216,7 @@ | |||
216 | #define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34 | 216 | #define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34 |
217 | 217 | ||
218 | #define USB_VENDOR_ID_ELO 0x04E7 | 218 | #define USB_VENDOR_ID_ELO 0x04E7 |
219 | #define USB_DEVICE_ID_ELO_TS2515 0x0022 | ||
219 | #define USB_DEVICE_ID_ELO_TS2700 0x0020 | 220 | #define USB_DEVICE_ID_ELO_TS2700 0x0020 |
220 | 221 | ||
221 | #define USB_VENDOR_ID_EMS 0x2006 | 222 | #define USB_VENDOR_ID_EMS 0x2006 |
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index ef33e2d5af87..3bc8de6074f7 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c | |||
@@ -92,6 +92,7 @@ struct mt_class { | |||
92 | #define MT_CLS_3M 7 | 92 | #define MT_CLS_3M 7 |
93 | #define MT_CLS_CONFIDENCE 8 | 93 | #define MT_CLS_CONFIDENCE 8 |
94 | #define MT_CLS_CONFIDENCE_MINUS_ONE 9 | 94 | #define MT_CLS_CONFIDENCE_MINUS_ONE 9 |
95 | #define MT_CLS_DUAL_NSMU_CONTACTID 10 | ||
95 | 96 | ||
96 | #define MT_DEFAULT_MAXCONTACT 10 | 97 | #define MT_DEFAULT_MAXCONTACT 10 |
97 | 98 | ||
@@ -163,6 +164,10 @@ struct mt_class mt_classes[] = { | |||
163 | .sn_height = 128 }, | 164 | .sn_height = 128 }, |
164 | { .name = MT_CLS_CONFIDENCE, | 165 | { .name = MT_CLS_CONFIDENCE, |
165 | .quirks = MT_QUIRK_VALID_IS_CONFIDENCE }, | 166 | .quirks = MT_QUIRK_VALID_IS_CONFIDENCE }, |
167 | { .name = MT_CLS_DUAL_NSMU_CONTACTID, | ||
168 | .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP | | ||
169 | MT_QUIRK_SLOT_IS_CONTACTID, | ||
170 | .maxcontacts = 2 }, | ||
166 | 171 | ||
167 | { } | 172 | { } |
168 | }; | 173 | }; |
@@ -584,6 +589,11 @@ static const struct hid_device_id mt_devices[] = { | |||
584 | HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, | 589 | HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, |
585 | USB_DEVICE_ID_CYPRESS_TRUETOUCH) }, | 590 | USB_DEVICE_ID_CYPRESS_TRUETOUCH) }, |
586 | 591 | ||
592 | /* Elo TouchSystems IntelliTouch Plus panel */ | ||
593 | { .driver_data = MT_CLS_DUAL_NSMU_CONTACTID, | ||
594 | HID_USB_DEVICE(USB_VENDOR_ID_ELO, | ||
595 | USB_DEVICE_ID_ELO_TS2515) }, | ||
596 | |||
587 | /* GeneralTouch panel */ | 597 | /* GeneralTouch panel */ |
588 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, | 598 | { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER, |
589 | HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, | 599 | HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, |