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