Based on upstream commit 80c3def25c8c45407ff56684955e6ac752d5e55e
Signed-off-by: Jason Gerecke <[email protected]>
---
src/2.6.16/wacom_wac.c | 30 +++++++++++++++++++++++++++---
src/2.6.16/wacom_wac.h | 3 +++
src/2.6.30/wacom_wac.c | 30 +++++++++++++++++++++++++++---
src/2.6.30/wacom_wac.h | 3 +++
4 files changed, 60 insertions(+), 6 deletions(-)
diff --git a/src/2.6.16/wacom_wac.c b/src/2.6.16/wacom_wac.c
index 55b0825..ca3e4f4 100644
--- a/src/2.6.16/wacom_wac.c
+++ b/src/2.6.16/wacom_wac.c
@@ -827,7 +827,9 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
(features->type == INTUOS3 ||
features->type == INTUOS3S ||
features->type == INTUOS4 ||
- features->type == INTUOS4S)) {
+ features->type == INTUOS4S ||
+ features->type == INTUOS5 ||
+ features->type == INTUOS5S)) {
return 0;
}
@@ -880,7 +882,8 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
} else if (wacom->tool[idx] == BTN_TOOL_MOUSE) {
/* I4 mouse */
- if (features->type >= INTUOS4S && features->type <=
INTUOS4L) {
+ if ((features->type >= INTUOS4S && features->type <=
INTUOS4L) ||
+ (features->type >= INTUOS5S && features->type <=
INTUOS5L)) {
input_report_key(input, BTN_LEFT, data[6] &
0x01);
input_report_key(input, BTN_MIDDLE, data[6] &
0x02);
input_report_key(input, BTN_RIGHT, data[6] &
0x04);
@@ -907,7 +910,7 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
}
}
} else if ((features->type < INTUOS3S || features->type ==
INTUOS3L ||
- features->type == INTUOS4L) &&
+ features->type == INTUOS4L || features->type ==
INTUOS5L) &&
wacom->tool[idx] == BTN_TOOL_LENS) {
/* Lens cursor packets */
input_report_key(input, BTN_LEFT, data[8] & 0x01);
@@ -1145,6 +1148,9 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t
len)
case INTUOS4S:
case INTUOS4:
case INTUOS4L:
+ case INTUOS5S:
+ case INTUOS5:
+ case INTUOS5L:
case CINTIQ:
case WACOM_BEE:
case WACOM_21UX2:
@@ -1318,11 +1324,14 @@ void wacom_setup_input_capabilities(struct input_dev
*input_dev,
wacom_setup_intuos(wacom_wac);
break;
+ case INTUOS5:
+ case INTUOS5L:
case INTUOS4:
case INTUOS4L:
input_dev->keybit[LONG(BTN_MISC)] |= BIT(BTN_7) | BIT(BTN_8);
/* fall through */
+ case INTUOS5S:
case INTUOS4S:
for (i = 0; i < 7; i++)
input_dev->keybit[LONG(BTN_MISC)] |= BIT(BTN_0 + i);
@@ -1482,6 +1491,16 @@ static const struct wacom_features wacom_features_0xBB =
{ "Wacom Intuos4 12x19", WACOM_PKGLEN_INTUOS, 97536, 60960, 2047,
63, INTUOS4L };
static const struct wacom_features wacom_features_0xBC =
{ "Wacom Intuos4 WL", WACOM_PKGLEN_INTUOS, 40840, 25400, 2047,
63, INTUOS4 };
+static const struct wacom_features wacom_features_0x26 =
+ { "Wacom Intuos5 touch S", WACOM_PKGLEN_INTUOS, 31496, 19685, 2047,
63, INTUOS5S };
+static const struct wacom_features wacom_features_0x27 =
+ { "Wacom Intuos5 touch M", WACOM_PKGLEN_INTUOS, 44704, 27940, 2047,
63, INTUOS5 };
+static const struct wacom_features wacom_features_0x28 =
+ { "Wacom Intuos5 touch L", WACOM_PKGLEN_INTUOS, 65024, 40640, 2047,
63, INTUOS5L };
+static const struct wacom_features wacom_features_0x29 =
+ { "Wacom Intuos5 S", WACOM_PKGLEN_INTUOS, 31496, 19685, 2047, 63,
INTUOS5S };
+static const struct wacom_features wacom_features_0x2A =
+ { "Wacom Intuos5 M", WACOM_PKGLEN_INTUOS, 44704, 27940, 2047, 63,
INTUOS5 };
static const struct wacom_features wacom_features_0x3F =
{ "Wacom Cintiq 21UX", WACOM_PKGLEN_INTUOS, 87200, 65600, 1023,
63, CINTIQ };
static const struct wacom_features wacom_features_0xC5 =
@@ -1576,6 +1595,11 @@ const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_WACOM(0xBA) },
{ USB_DEVICE_WACOM(0xBB) },
{ USB_DEVICE_WACOM(0xBC) },
+ { USB_DEVICE_WACOM(0x26) },
+ { USB_DEVICE_WACOM(0x27) },
+ { USB_DEVICE_WACOM(0x28) },
+ { USB_DEVICE_WACOM(0x29) },
+ { USB_DEVICE_WACOM(0x2A) },
{ USB_DEVICE_WACOM(0x3F) },
{ USB_DEVICE_WACOM(0xC5) },
{ USB_DEVICE_WACOM(0xC6) },
diff --git a/src/2.6.16/wacom_wac.h b/src/2.6.16/wacom_wac.h
index b90263d..a7fd32c 100644
--- a/src/2.6.16/wacom_wac.h
+++ b/src/2.6.16/wacom_wac.h
@@ -54,6 +54,9 @@ enum {
INTUOS4S,
INTUOS4,
INTUOS4L,
+ INTUOS5S,
+ INTUOS5,
+ INTUOS5L,
WACOM_24HD,
WACOM_21UX2,
CINTIQ,
diff --git a/src/2.6.30/wacom_wac.c b/src/2.6.30/wacom_wac.c
index 82afb17..b18c5ba 100755
--- a/src/2.6.30/wacom_wac.c
+++ b/src/2.6.30/wacom_wac.c
@@ -801,7 +801,9 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
(features->type == INTUOS3 ||
features->type == INTUOS3S ||
features->type == INTUOS4 ||
- features->type == INTUOS4S)) {
+ features->type == INTUOS4S ||
+ features->type == INTUOS5 ||
+ features->type == INTUOS5S)) {
return 0;
}
@@ -854,7 +856,8 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
} else if (wacom->tool[idx] == BTN_TOOL_MOUSE) {
/* I4 mouse */
- if (features->type >= INTUOS4S && features->type <=
INTUOS4L) {
+ if ((features->type >= INTUOS4S && features->type <=
INTUOS4L) ||
+ (features->type >= INTUOS5S && features->type <=
INTUOS5L)) {
input_report_key(input, BTN_LEFT, data[6] &
0x01);
input_report_key(input, BTN_MIDDLE, data[6] &
0x02);
input_report_key(input, BTN_RIGHT, data[6] &
0x04);
@@ -881,7 +884,7 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
}
}
} else if ((features->type < INTUOS3S || features->type ==
INTUOS3L ||
- features->type == INTUOS4L) &&
+ features->type == INTUOS4L || features->type ==
INTUOS5L) &&
wacom->tool[idx] == BTN_TOOL_LENS) {
/* Lens cursor packets */
input_report_key(input, BTN_LEFT, data[8] & 0x01);
@@ -1116,6 +1119,9 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t
len)
case INTUOS4S:
case INTUOS4:
case INTUOS4L:
+ case INTUOS5S:
+ case INTUOS5:
+ case INTUOS5L:
case CINTIQ:
case WACOM_BEE:
case WACOM_21UX2:
@@ -1318,12 +1324,15 @@ void wacom_setup_input_capabilities(struct input_dev
*input_dev,
wacom_setup_intuos(wacom_wac);
break;
+ case INTUOS5:
+ case INTUOS5L:
case INTUOS4:
case INTUOS4L:
__set_bit(BTN_7, input_dev->keybit);
__set_bit(BTN_8, input_dev->keybit);
/* fall through */
+ case INTUOS5S:
case INTUOS4S:
for (i = 0; i < 7; i++)
__set_bit(BTN_0 + i, input_dev->keybit);
@@ -1483,6 +1492,16 @@ static const struct wacom_features wacom_features_0xBB =
{ "Wacom Intuos4 12x19", WACOM_PKGLEN_INTUOS, 97536, 60960, 2047,
63, INTUOS4L };
static const struct wacom_features wacom_features_0xBC =
{ "Wacom Intuos4 WL", WACOM_PKGLEN_INTUOS, 40840, 25400, 2047,
63, INTUOS4 };
+static const struct wacom_features wacom_features_0x26 =
+ { "Wacom Intuos5 touch S", WACOM_PKGLEN_INTUOS, 31496, 19685, 2047,
63, INTUOS5S };
+static const struct wacom_features wacom_features_0x27 =
+ { "Wacom Intuos5 touch M", WACOM_PKGLEN_INTUOS, 44704, 27940, 2047,
63, INTUOS5 };
+static const struct wacom_features wacom_features_0x28 =
+ { "Wacom Intuos5 touch L", WACOM_PKGLEN_INTUOS, 65024, 40640, 2047,
63, INTUOS5L };
+static const struct wacom_features wacom_features_0x29 =
+ { "Wacom Intuos5 S", WACOM_PKGLEN_INTUOS, 31496, 19685, 2047, 63,
INTUOS5S };
+static const struct wacom_features wacom_features_0x2A =
+ { "Wacom Intuos5 M", WACOM_PKGLEN_INTUOS, 44704, 27940, 2047, 63,
INTUOS5 };
static const struct wacom_features wacom_features_0x3F =
{ "Wacom Cintiq 21UX", WACOM_PKGLEN_INTUOS, 87200, 65600, 1023,
63, CINTIQ };
static const struct wacom_features wacom_features_0xC5 =
@@ -1577,6 +1596,11 @@ const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_WACOM(0xBA) },
{ USB_DEVICE_WACOM(0xBB) },
{ USB_DEVICE_WACOM(0xBC) },
+ { USB_DEVICE_WACOM(0x26) },
+ { USB_DEVICE_WACOM(0x27) },
+ { USB_DEVICE_WACOM(0x28) },
+ { USB_DEVICE_WACOM(0x29) },
+ { USB_DEVICE_WACOM(0x2A) },
{ USB_DEVICE_WACOM(0x3F) },
{ USB_DEVICE_WACOM(0xC5) },
{ USB_DEVICE_WACOM(0xC6) },
diff --git a/src/2.6.30/wacom_wac.h b/src/2.6.30/wacom_wac.h
index dc88f98..4c13d81 100755
--- a/src/2.6.30/wacom_wac.h
+++ b/src/2.6.30/wacom_wac.h
@@ -53,6 +53,9 @@ enum {
INTUOS4S,
INTUOS4,
INTUOS4L,
+ INTUOS5S,
+ INTUOS5,
+ INTUOS5L,
WACOM_24HD,
WACOM_21UX2,
CINTIQ,
--
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel