Based on upstream commit 180623f1e7b5ca681f0c18405b503cf3afe53061 Older kernels like these don't have the complete multitouch support provided in 2.6.38 and later. As with the corresponding input-wacom patch, we avoid bringing up the touch interface. If/when (complete) multitouch support is backported, we can enable the touch interface.
Signed-off-by: Jason Gerecke <killert...@gmail.com> --- src/2.6.16/wacom_sys.c | 12 +++++++++++- src/2.6.16/wacom_wac.h | 1 + src/2.6.30/wacom_sys.c | 12 +++++++++++- src/2.6.30/wacom_wac.h | 1 + 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/2.6.16/wacom_sys.c b/src/2.6.16/wacom_sys.c index 9d58c84..f22e923 100644 --- a/src/2.6.16/wacom_sys.c +++ b/src/2.6.16/wacom_sys.c @@ -648,10 +648,20 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i if (error) goto fail3; + /* Ignore Intuos5 touch interface until BPT3 touch support backported */ + if (features->type >= INTUOS5S && features->type <= INTUOS5L) { + if (endpoint->wMaxPacketSize == WACOM_PKGLEN_BBTOUCH3) { + error = -ENODEV; + goto fail2; + } else { + features->device_type = BTN_TOOL_PEN; + } + } + strlcpy(wacom_wac->name, features->name, sizeof(wacom_wac->name)); if (features->type == TABLETPC || features->type == TABLETPC2FG || - features->type == BAMBOO_PT) { + features->type == BAMBOO_PT || (features->type >= INTUOS5S && features->type <= INTUOS5L)) { /* Append the device type to the name */ strlcat(wacom_wac->name, features->device_type == BTN_TOOL_PEN ? diff --git a/src/2.6.16/wacom_wac.h b/src/2.6.16/wacom_wac.h index 8d81186..b0726a7 100644 --- a/src/2.6.16/wacom_wac.h +++ b/src/2.6.16/wacom_wac.h @@ -23,6 +23,7 @@ #define WACOM_PKGLEN_TPC1FG 5 #define WACOM_PKGLEN_TPC2FG 14 #define WACOM_PKGLEN_BBTOUCH 20 +#define WACOM_PKGLEN_BBTOUCH3 64 /* device IDs */ #define STYLUS_DEVICE_ID 0x02 diff --git a/src/2.6.30/wacom_sys.c b/src/2.6.30/wacom_sys.c index ef19b03..7ba8bba 100755 --- a/src/2.6.30/wacom_sys.c +++ b/src/2.6.30/wacom_sys.c @@ -731,10 +731,20 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i if (error) goto fail3; + /* Ignore Intuos5 touch interface until BPT3 touch support backported */ + if (features->type >= INTUOS5S && features->type <= INTUOS5L) { + if (endpoint->wMaxPacketSize == WACOM_PKGLEN_BBTOUCH3) { + error = -ENODEV; + goto fail2; + } else { + features->device_type = BTN_TOOL_PEN; + } + } + strlcpy(wacom_wac->name, features->name, sizeof(wacom_wac->name)); if (features->type == TABLETPC || features->type == TABLETPC2FG || - features->type == BAMBOO_PT) { + features->type == BAMBOO_PT || (features->type >= INTUOS5S && features->type <= INTUOS5L)) { /* Append the device type to the name */ strlcat(wacom_wac->name, features->device_type == BTN_TOOL_PEN ? diff --git a/src/2.6.30/wacom_wac.h b/src/2.6.30/wacom_wac.h index 0d6c659..8427600 100755 --- a/src/2.6.30/wacom_wac.h +++ b/src/2.6.30/wacom_wac.h @@ -22,6 +22,7 @@ #define WACOM_PKGLEN_TPC1FG 5 #define WACOM_PKGLEN_TPC2FG 14 #define WACOM_PKGLEN_BBTOUCH 20 +#define WACOM_PKGLEN_BBTOUCH3 64 /* device IDs */ #define STYLUS_DEVICE_ID 0x02 -- 1.7.9.5 ------------------------------------------------------------------------------ Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring today. Free. http://p.sf.net/sfu/Boundary-dev2dev _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel