Signed-off-by: Aaron Armstrong Skomra <aaron.sko...@wacom.com>
Reviewed-by: Ping Cheng <ping.ch...@wacom.com>
---
 2.6.32/wacom_wac.c | 12 +++++++++++-
 2.6.32/wacom_wac.h |  1 +
 2.6.38/wacom_wac.c | 12 +++++++++++-
 2.6.38/wacom_wac.h |  1 +
 3.7/wacom_wac.c    | 12 +++++++++++-
 3.7/wacom_wac.h    |  1 +
 6 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/2.6.32/wacom_wac.c b/2.6.32/wacom_wac.c
index c4705f839173..c5744573b085 100644
--- a/2.6.32/wacom_wac.c
+++ b/2.6.32/wacom_wac.c
@@ -1935,6 +1935,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t 
len)
 
        case WACOM_MSPRO:
        case INTUOSP2:
+       case CINTIQ_16:
                if (len == WACOM_PKGLEN_INTUOSP2T &&
                    wacom_wac->data[0] == WACOM_REPORT_VENDOR_DEF_TOUCH)
                        sync = wacom_multitouch_generic(wacom_wac);
@@ -2232,10 +2233,12 @@ void wacom_setup_input_capabilities(struct input_dev 
*input_dev,
                break;
 
        case WACOM_MSPRO:
+       case CINTIQ_16:
                input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
                __set_bit(BTN_STYLUS3, input_dev->keybit);
 
-               if (features->numbered_buttons == 0) { /* Cintiq Pro */
+               if (features->type == WACOM_MSPRO &&
+                   features->numbered_buttons == 0) { /* Cintiq Pro */
                        __set_bit(KEY_CONTROLPANEL, input_dev->keybit);
                        __set_bit(KEY_ONSCREEN_KEYBOARD, input_dev->keybit);
                        __set_bit(KEY_BUTTONCONFIG, input_dev->keybit);
@@ -3057,6 +3060,12 @@ static const struct wacom_features wacom_features_0x382 =
          0, DTK2451, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4,
          WACOM_DTU_OFFSET, WACOM_DTU_OFFSET,
          WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
+static const struct wacom_features wacom_features_0x390 =
+       { "Wacom Cintiq 16", WACOM_PKGLEN_MSPRO, 69632, 39518, 8191, 63,
+         CINTIQ_16, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 0,
+         WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
+         WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
+         .oVid = USB_VENDOR_ID_WACOM };
 
 #define USB_DEVICE_WACOM(prod)                                 \
        USB_DEVICE(USB_VENDOR_ID_WACOM, prod),                  \
@@ -3238,6 +3247,7 @@ const struct usb_device_id wacom_ids[] = {
        { USB_DEVICE_WACOM(0x37D) },
        { USB_DEVICE_WACOM(0x37E) },
        { USB_DEVICE_WACOM(0x382) },
+       { USB_DEVICE_DETAILED(0x390, USB_CLASS_HID, 0, 0) },
        { USB_DEVICE_WACOM(0x4001) },
        { USB_DEVICE_WACOM(0x4004) },
        { USB_DEVICE_WACOM(0x5000) },
diff --git a/2.6.32/wacom_wac.h b/2.6.32/wacom_wac.h
index 56dcea362f13..45e865bbf5ac 100755
--- a/2.6.32/wacom_wac.h
+++ b/2.6.32/wacom_wac.h
@@ -115,6 +115,7 @@ enum {
        DTK,
        WACOM_24HD,
        WACOM_MSPRO,
+       CINTIQ_16,
        CINTIQ,
        WACOM_BEE,
        WACOM_13HD,
diff --git a/2.6.38/wacom_wac.c b/2.6.38/wacom_wac.c
index 2e090cf9a06f..a985a21c6c07 100644
--- a/2.6.38/wacom_wac.c
+++ b/2.6.38/wacom_wac.c
@@ -2139,6 +2139,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t 
len)
 
        case WACOM_MSPRO:
        case INTUOSP2:
+       case CINTIQ_16:
                if (len == WACOM_PKGLEN_INTUOSP2T &&
                    wacom_wac->data[0] == WACOM_REPORT_VENDOR_DEF_TOUCH)
                        sync = wacom_multitouch_generic(wacom_wac);
@@ -2479,11 +2480,13 @@ int wacom_setup_input_capabilities(struct input_dev 
*input_dev,
                break;
 
        case WACOM_MSPRO:
+       case CINTIQ_16:
                input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
                __set_bit(BTN_STYLUS3, input_dev->keybit);
                __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
 
-               if (features->numbered_buttons == 0) { /* Cintiq Pro */
+               if (features->type == WACOM_MSPRO &&
+                   features->numbered_buttons == 0) { /* Cintiq Pro */
                        __set_bit(KEY_CONTROLPANEL, input_dev->keybit);
                        __set_bit(KEY_ONSCREEN_KEYBOARD, input_dev->keybit);
                        __set_bit(KEY_BUTTONCONFIG, input_dev->keybit);
@@ -3410,6 +3413,12 @@ static const struct wacom_features wacom_features_0x382 =
          0, DTK2451, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4,
          WACOM_DTU_OFFSET, WACOM_DTU_OFFSET,
          WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
+static const struct wacom_features wacom_features_0x390 =
+       { "Wacom Cintiq 16", WACOM_PKGLEN_MSPRO, 69632, 39518, 8191, 63,
+         CINTIQ_16, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 0,
+         WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
+         WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
+         .oVid = USB_VENDOR_ID_WACOM };
 
 #define USB_DEVICE_WACOM(prod)                                 \
        USB_DEVICE(USB_VENDOR_ID_WACOM, prod),                  \
@@ -3599,6 +3608,7 @@ const struct usb_device_id wacom_ids[] = {
        { USB_DEVICE_WACOM(0x37D) },
        { USB_DEVICE_WACOM(0x37E) },
        { USB_DEVICE_WACOM(0x382) },
+       { USB_DEVICE_DETAILED(0x390, USB_CLASS_HID, 0, 0) },
        { USB_DEVICE_WACOM(0x4001) },
        { USB_DEVICE_WACOM(0x4004) },
        { USB_DEVICE_WACOM(0x5000) },
diff --git a/2.6.38/wacom_wac.h b/2.6.38/wacom_wac.h
index 08e826143050..c2e337d41427 100644
--- a/2.6.38/wacom_wac.h
+++ b/2.6.38/wacom_wac.h
@@ -130,6 +130,7 @@ enum {
        CINTIQ_HYBRID,
        CINTIQ_COMPANION_2,
        WACOM_MSPRO,
+       CINTIQ_16,
        CINTIQ,
        WACOM_BEE,
        WACOM_13HD,
diff --git a/3.7/wacom_wac.c b/3.7/wacom_wac.c
index f255f8cfabf5..8dbb9eac513d 100644
--- a/3.7/wacom_wac.c
+++ b/3.7/wacom_wac.c
@@ -2121,6 +2121,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t 
len)
 
        case WACOM_MSPRO:
        case INTUOSP2:
+       case CINTIQ_16:
                if (len == WACOM_PKGLEN_INTUOSP2T &&
                    wacom_wac->data[0] == WACOM_REPORT_VENDOR_DEF_TOUCH)
                        sync = wacom_multitouch_generic(wacom_wac);
@@ -2450,11 +2451,13 @@ int wacom_setup_input_capabilities(struct input_dev 
*input_dev,
                break;
 
        case WACOM_MSPRO:
+       case CINTIQ_16:
                input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
                __set_bit(BTN_STYLUS3, input_dev->keybit);
                __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
 
-               if (features->numbered_buttons == 0) { /* Cintiq Pro */
+               if (features->type == WACOM_MSPRO &&
+                   features->numbered_buttons == 0) { /* Cintiq Pro */
                        __set_bit(KEY_CONTROLPANEL, input_dev->keybit);
                        __set_bit(KEY_ONSCREEN_KEYBOARD, input_dev->keybit);
                        __set_bit(KEY_BUTTONCONFIG, input_dev->keybit);
@@ -3340,6 +3343,12 @@ static const struct wacom_features wacom_features_0x382 =
          0, DTK2451, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4,
          WACOM_DTU_OFFSET, WACOM_DTU_OFFSET,
          WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
+static const struct wacom_features wacom_features_0x390 =
+       { "Wacom Cintiq 16", WACOM_PKGLEN_MSPRO, 69632, 39518, 8191, 63,
+         CINTIQ_16, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 0,
+         WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
+         WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
+         .oVid = USB_VENDOR_ID_WACOM };
 
 #define USB_DEVICE_WACOM(prod)                                 \
        USB_DEVICE(USB_VENDOR_ID_WACOM, prod),                  \
@@ -3529,6 +3538,7 @@ const struct usb_device_id wacom_ids[] = {
        { USB_DEVICE_WACOM(0x37D) },
        { USB_DEVICE_WACOM(0x37E) },
        { USB_DEVICE_WACOM(0x382) },
+       { USB_DEVICE_DETAILED(0x390, USB_CLASS_HID, 0, 0) },
        { USB_DEVICE_WACOM(0x4001) },
        { USB_DEVICE_WACOM(0x4004) },
        { USB_DEVICE_WACOM(0x5000) },
diff --git a/3.7/wacom_wac.h b/3.7/wacom_wac.h
index 1a8714f9febe..da7387a3bee2 100644
--- a/3.7/wacom_wac.h
+++ b/3.7/wacom_wac.h
@@ -130,6 +130,7 @@ enum {
        CINTIQ_HYBRID,
        CINTIQ_COMPANION_2,
        WACOM_MSPRO,
+       CINTIQ_16,
        CINTIQ,
        WACOM_BEE,
        WACOM_13HD,
-- 
2.7.4



_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to