kernel/hid-multitouch-add-support-...

81 lines
3.2 KiB
Diff

From: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Date: Thu, 19 May 2011 09:37:29 +0000 (+0200)
Subject: HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fjikos%2Fhid.git;a=commitdiff_plain;h=c04abeeff9d76a703cac1e6d312853b0fc8136f5
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>
--- linux-2.6.39.x86_64/drivers/hid/Kconfig 2011-05-19 00:06:34.000000000 -0400
+++ linux-2.6.39.x86_64/drivers/hid/Kconfig 2011-05-24 10:17:13.007752208 -0400
@@ -321,6 +321,7 @@
Say Y here if you have one of the following devices:
- Cypress TrueTouch panels
+ - Elo TouchSystems IntelliTouch Plus panels
- Hanvon dual touch panels
- IrTouch Infrared USB panels
- Pixcir dual touch panels
--- linux-2.6.39.x86_64/drivers/hid/hid-core.c 2011-05-24 10:14:17.000000000 -0400
+++ linux-2.6.39.x86_64/drivers/hid/hid-core.c 2011-05-24 10:17:47.418905357 -0400
@@ -1367,6 +1367,7 @@
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH3) },
{ HID_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH4) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
{ HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
{ HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) },
{ HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) },
--- linux-2.6.39.x86_64/drivers/hid/hid-ids.h 2011-05-24 10:14:17.000000000 -0400
+++ linux-2.6.39.x86_64/drivers/hid/hid-ids.h 2011-05-24 10:19:25.946345418 -0400
@@ -223,6 +223,7 @@
#define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34
#define USB_VENDOR_ID_ELO 0x04E7
+#define USB_DEVICE_ID_ELO_TS2515 0x0022
#define USB_DEVICE_ID_ELO_TS2700 0x0020
#define USB_VENDOR_ID_EMS 0x2006
--- linux-2.6.39.x86_64/drivers/hid/hid-multitouch.c 2011-05-19 00:06:34.000000000 -0400
+++ linux-2.6.39.x86_64/drivers/hid/hid-multitouch.c 2011-05-24 10:22:32.505183658 -0400
@@ -78,6 +78,7 @@
#define MT_CLS_DUAL_INRANGE_CONTACTNUMBER 3
#define MT_CLS_CYPRESS 4
#define MT_CLS_EGALAX 5
+#define MT_CLS_DUAL_NSMU_CONTACTID 6
/*
* these device-dependent functions determine what slot corresponds
@@ -136,6 +137,13 @@
.sn_move = 4096,
.sn_pressure = 32,
},
+
+ { .name = MT_CLS_DUAL_NSMU_CONTACTID,
+ .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
+ MT_QUIRK_SLOT_IS_CONTACTID,
+ .maxcontacts = 2
+ },
+
{ }
};
@@ -493,6 +501,11 @@
HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS,
USB_DEVICE_ID_CYPRESS_TRUETOUCH) },
+ /* Elo TouchSystems IntelliTouch Plus panel */
+ { .driver_data = MT_CLS_DUAL_NSMU_CONTACTID,
+ HID_USB_DEVICE(USB_VENDOR_ID_ELO,
+ USB_DEVICE_ID_ELO_TS2515) },
+
/* GeneralTouch panel */
{ .driver_data = MT_CLS_DUAL_INRANGE_CONTACTNUMBER,
HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,