On Mar 7, 2018 11:02 AM, "Aaron Armstrong Skomra" <sko...@gmail.com> wrote:
Signed-off-by: Aaron Armstrong Skomra <sko...@gmail.com>
Reviewed-by: Ping Cheng <ping.ch...@wacom.com>
Reviewed-by: Jason Gerecke <jason.gere...@wacom.com>
---
2.6.30/wacom_wac.c | 28 +++++++++++++++++++++++++++-
2.6.30/wacom_wac.h | 1 +
2.6.38/wacom_wac.c | 28 +++++++++++++++++++++++++++-
2.6.38/wacom_wac.h | 1 +
3.7/wacom_wac.c | 28 +++++++++++++++++++++++++++-
3.7/wacom_wac.h | 1 +
6 files changed, 84 insertions(+), 3 deletions(-)
diff --git a/2.6.30/wacom_wac.c b/2.6.30/wacom_wac.c
index 36a87b90c955..89d99f462538 100644
--- a/2.6.30/wacom_wac.c
+++ b/2.6.30/wacom_wac.c
@@ -1665,6 +1665,11 @@ static int wacom_mspro_pad_irq(struct wacom_wac
*wacom)
ring = le16_to_cpup((__le16 *)&data[4]);
keys = 0;
break;
+ case 4:
+ buttons = data[1];
+ keys = 0;
+ ring = 0;
+ break;
case 9:
buttons = (data[1]) | (data[3] << 8);
ring = le16_to_cpup((__le16 *)&data[4]);
@@ -1913,6 +1918,10 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac,
size_t len)
sync = wacom_mspro_irq(wacom_wac);
break;
+ case INTUOSHT3:
+ sync = wacom_mspro_irq(wacom_wac);
+ break;
+
case WACOM_24HDT:
case WACOM_27QHDT:
case DTH1152T:
@@ -2378,6 +2387,7 @@ void wacom_setup_input_capabilities(struct input_dev
*input_dev,
}
/* fall through */
+ case INTUOSHT3:
case BAMBOO_PT:
__clear_bit(ABS_MISC, input_dev->absbit);
@@ -2400,7 +2410,7 @@ void wacom_setup_input_capabilities(struct input_dev
*input_dev,
}
}
if (features->device_type == BTN_TOOL_PEN) {
- if (features->type == INTUOSHT2) {
+ if (features->type == INTUOSHT2 || features->type
== INTUOSHT3) {
__set_bit(ABS_MISC, input_dev->absbit);
wacom_setup_basic_pro_pen(wacom_wac);
} else {
@@ -2933,6 +2943,18 @@ static const struct wacom_features
wacom_features_0x368 =
{ "Wacom DTH-1152 Touch", WACOM_PKGLEN_27QHDT,
.type = DTH1152T, .touch_max = 10, .oVid = USB_VENDOR_ID_WACOM,
.oPid = 0x35A }; /* Touch */
+static const struct wacom_features wacom_features_0x374 =
+ { "Intuos S", WACOM_PKGLEN_INTUOSP2, 15200, 9500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
I made a copy paste error here when updating the name. I will resend.
+static const struct wacom_features wacom_features_0x375 =
+ { "Intuos M", WACOM_PKGLEN_INTUOSP2, 21600, 13500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x376 =
+ { "Intuos BT S", WACOM_PKGLEN_INTUOSP2, 15200, 9500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x378 =
+ { "Intuos BT M", WACOM_PKGLEN_INTUOSP2, 21600, 13500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
static const struct wacom_features wacom_features_0x37A =
{ "Wacom One by Wacom S", 15200, 9500, 2047, 63,
BAMBOO_PT };
@@ -3122,6 +3144,10 @@ const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_DETAILED(0x358, USB_CLASS_HID, 0, 0) },
{ USB_DEVICE_WACOM(0x35A) },
{ USB_DEVICE_WACOM(0x368) },
+ { USB_DEVICE_WACOM(0x374) },
+ { USB_DEVICE_WACOM(0x375) },
+ { USB_DEVICE_WACOM(0x376) },
+ { USB_DEVICE_WACOM(0x378) },
{ USB_DEVICE_WACOM(0x37A) },
{ USB_DEVICE_WACOM(0x37B) },
{ USB_DEVICE_WACOM(0x37C) },
diff --git a/2.6.30/wacom_wac.h b/2.6.30/wacom_wac.h
index 0b128e39218c..2fbe0cdbdf13 100755
--- a/2.6.30/wacom_wac.h
+++ b/2.6.30/wacom_wac.h
@@ -127,6 +127,7 @@ enum {
WACOM_MSPROT,
DTH1152T,
INTUOSP2,
+ INTUOSHT3,
TABLETPC,
TABLETPC2FG,
DTH2452T,
diff --git a/2.6.38/wacom_wac.c b/2.6.38/wacom_wac.c
index b3b1e032eeb5..949e05ba6454 100644
--- a/2.6.38/wacom_wac.c
+++ b/2.6.38/wacom_wac.c
@@ -1874,6 +1874,11 @@ static int wacom_mspro_pad_irq(struct wacom_wac
*wacom)
ring = le16_to_cpup((__le16 *)&data[4]);
keys = 0;
break;
+ case 4:
+ buttons = data[1];
+ keys = 0;
+ ring = 0;
+ break;
case 9:
buttons = (data[1]) | (data[3] << 8);
ring = le16_to_cpup((__le16 *)&data[4]);
@@ -2163,6 +2168,10 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac,
size_t len)
sync = wacom_bpt_irq(wacom_wac, len);
break;
+ case INTUOSHT3:
+ sync = wacom_mspro_irq(wacom_wac);
+ break;
+
case WIRELESS:
sync = wacom_wireless_irq(wacom_wac, len);
break;
@@ -2689,6 +2698,7 @@ int wacom_setup_input_capabilities(struct input_dev
*input_dev,
}
/* fall through */
+ case INTUOSHT3:
case BAMBOO_PT:
__clear_bit(ABS_MISC, input_dev->absbit);
@@ -2740,7 +2750,7 @@ int wacom_setup_input_capabilities(struct input_dev
*input_dev,
}
}
} else if (features->device_type == BTN_TOOL_PEN) {
- if (features->type == INTUOSHT2) {
+ if (features->type == INTUOSHT2 || features->type
== INTUOSHT3) {
__set_bit(ABS_MISC, input_dev->absbit);
wacom_setup_basic_pro_pen(wacom_wac);
} else {
@@ -3332,6 +3342,18 @@ static const struct wacom_features
wacom_features_0x368 =
{ "Wacom DTH-1152 Touch", WACOM_PKGLEN_27QHDT,
.type = DTH1152T, .touch_max = 10, .oVid = USB_VENDOR_ID_WACOM,
.oPid = 0x35A }; /* Touch */
+static const struct wacom_features wacom_features_0x374 =
+ { "Intuos S", WACOM_PKGLEN_INTUOSP2, 15200, 9500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x375 =
+ { "Intuos M", WACOM_PKGLEN_INTUOSP2, 21600, 13500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x376 =
+ { "Intuos BT S", WACOM_PKGLEN_INTUOSP2, 15200, 9500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x378 =
+ { "Intuos BT M", WACOM_PKGLEN_INTUOSP2, 21600, 13500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
static const struct wacom_features wacom_features_0x37A =
{ "Wacom One by Wacom S", 15200, 9500, 2047, 63,
BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
@@ -3536,6 +3558,10 @@ const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_DETAILED(0x358, USB_CLASS_HID, 0, 0) },
{ USB_DEVICE_WACOM(0x35A) },
{ USB_DEVICE_WACOM(0x368) },
+ { USB_DEVICE_WACOM(0x374) },
+ { USB_DEVICE_WACOM(0x375) },
+ { USB_DEVICE_WACOM(0x376) },
+ { USB_DEVICE_WACOM(0x378) },
{ USB_DEVICE_WACOM(0x37A) },
{ USB_DEVICE_WACOM(0x37B) },
{ USB_DEVICE_WACOM(0x37C) },
diff --git a/2.6.38/wacom_wac.h b/2.6.38/wacom_wac.h
index cb9d37b36c48..bfe02535a152 100644
--- a/2.6.38/wacom_wac.h
+++ b/2.6.38/wacom_wac.h
@@ -141,6 +141,7 @@ enum {
WACOM_MSPROT,
DTH1152T,
INTUOSP2,
+ INTUOSHT3,
WIRELESS,
REMOTE,
TABLETPC, /* add new TPC below */
diff --git a/3.7/wacom_wac.c b/3.7/wacom_wac.c
index a8ac0af7093e..7d5ec424aafc 100644
--- a/3.7/wacom_wac.c
+++ b/3.7/wacom_wac.c
@@ -1856,6 +1856,11 @@ static int wacom_mspro_pad_irq(struct wacom_wac
*wacom)
ring = le16_to_cpup((__le16 *)&data[4]);
keys = 0;
break;
+ case 4:
+ buttons = data[1];
+ keys = 0;
+ ring = 0;
+ break;
case 9:
buttons = (data[1]) | (data[3] << 8);
ring = le16_to_cpup((__le16 *)&data[4]);
@@ -2145,6 +2150,10 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac,
size_t len)
sync = wacom_bpt_irq(wacom_wac, len);
break;
+ case INTUOSHT3:
+ sync = wacom_mspro_irq(wacom_wac);
+ break;
+
case WIRELESS:
sync = wacom_wireless_irq(wacom_wac, len);
break;
@@ -2634,6 +2643,7 @@ int wacom_setup_input_capabilities(struct input_dev
*input_dev,
}
/* fall through */
+ case INTUOSHT3:
case BAMBOO_PT:
__clear_bit(ABS_MISC, input_dev->absbit);
@@ -2670,7 +2680,7 @@ int wacom_setup_input_capabilities(struct input_dev
*input_dev,
}
} else if (features->device_type == BTN_TOOL_PEN) {
__set_bit(INPUT_PROP_POINTER, input_dev->propbit);
- if (features->type == INTUOSHT2) {
+ if (features->type == INTUOSHT2 || features->type
== INTUOSHT3) {
__set_bit(ABS_MISC, input_dev->absbit);
wacom_setup_basic_pro_pen(wacom_wac);
} else {
@@ -3262,6 +3272,18 @@ static const struct wacom_features
wacom_features_0x368 =
{ "Wacom DTH-1152 Touch", WACOM_PKGLEN_27QHDT,
.type = DTH1152T, .touch_max = 10, .oVid = USB_VENDOR_ID_WACOM,
.oPid = 0x35A }; /* Touch */
+static const struct wacom_features wacom_features_0x374 =
+ { "Intuos S", WACOM_PKGLEN_INTUOSP2, 15200, 9500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x375 =
+ { "Intuos M", WACOM_PKGLEN_INTUOSP2, 21600, 13500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x376 =
+ { "Intuos BT S", WACOM_PKGLEN_INTUOSP2, 15200, 9500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
+static const struct wacom_features wacom_features_0x378 =
+ { "Intuos BT M", WACOM_PKGLEN_INTUOSP2, 21600, 13500, 4095,
+ 63, INTUOSHT3, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
static const struct wacom_features wacom_features_0x37A =
{ "Wacom One by Wacom S", 15200, 9500, 2047, 63,
BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
@@ -3466,6 +3488,10 @@ const struct usb_device_id wacom_ids[] = {
{ USB_DEVICE_DETAILED(0x358, USB_CLASS_HID, 0, 0) },
{ USB_DEVICE_WACOM(0x35A) },
{ USB_DEVICE_WACOM(0x368) },
+ { USB_DEVICE_WACOM(0x374) },
+ { USB_DEVICE_WACOM(0x375) },
+ { USB_DEVICE_WACOM(0x376) },
+ { USB_DEVICE_WACOM(0x378) },
{ USB_DEVICE_WACOM(0x37A) },
{ USB_DEVICE_WACOM(0x37B) },
{ USB_DEVICE_WACOM(0x37C) },
diff --git a/3.7/wacom_wac.h b/3.7/wacom_wac.h
index 3bfdf04a1ace..5f3fe7446cd7 100644
--- a/3.7/wacom_wac.h
+++ b/3.7/wacom_wac.h
@@ -141,6 +141,7 @@ enum {
WACOM_MSPROT,
DTH1152T,
INTUOSP2,
+ INTUOSHT3,
WIRELESS,
REMOTE,
TABLETPC, /* add new TPC below */
--
2.7.4
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel