aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/tablet/wacom_wac.c
diff options
context:
space:
mode:
authorPing Cheng <pinglinux@gmail.com>2013-05-05 22:56:18 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2013-05-05 23:13:16 -0400
commit56218563adbc085a17aa735da2c3fdf9877fa9e7 (patch)
treea1354111eb3f5feae458c5de6878a2c0a4babdbd /drivers/input/tablet/wacom_wac.c
parent3c9cfa782e075cc2348b949ba139911aac02c7cb (diff)
Input: wacom - add three new display tablets
Cintiq 13HD, DTK 2241, and Cintiq 22HDT are supported. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/tablet/wacom_wac.c')
-rw-r--r--drivers/input/tablet/wacom_wac.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index 0bfd8cf25200..afe4fe0a9060 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -546,6 +546,16 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
546 input_report_key(input, BTN_3, (data[6] & 0x08)); 546 input_report_key(input, BTN_3, (data[6] & 0x08));
547 input_report_key(input, BTN_4, (data[6] & 0x10)); 547 input_report_key(input, BTN_4, (data[6] & 0x10));
548 input_report_key(input, BTN_5, (data[6] & 0x20)); 548 input_report_key(input, BTN_5, (data[6] & 0x20));
549 } else if (features->type == WACOM_13HD) {
550 input_report_key(input, BTN_0, (data[3] & 0x01));
551 input_report_key(input, BTN_1, (data[4] & 0x01));
552 input_report_key(input, BTN_2, (data[4] & 0x02));
553 input_report_key(input, BTN_3, (data[4] & 0x04));
554 input_report_key(input, BTN_4, (data[4] & 0x08));
555 input_report_key(input, BTN_5, (data[4] & 0x10));
556 input_report_key(input, BTN_6, (data[4] & 0x20));
557 input_report_key(input, BTN_7, (data[4] & 0x40));
558 input_report_key(input, BTN_8, (data[4] & 0x80));
549 } else if (features->type == WACOM_24HD) { 559 } else if (features->type == WACOM_24HD) {
550 input_report_key(input, BTN_0, (data[6] & 0x01)); 560 input_report_key(input, BTN_0, (data[6] & 0x01));
551 input_report_key(input, BTN_1, (data[6] & 0x02)); 561 input_report_key(input, BTN_1, (data[6] & 0x02));
@@ -1301,6 +1311,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len)
1301 case INTUOS4L: 1311 case INTUOS4L:
1302 case CINTIQ: 1312 case CINTIQ:
1303 case WACOM_BEE: 1313 case WACOM_BEE:
1314 case WACOM_13HD:
1304 case WACOM_21UX2: 1315 case WACOM_21UX2:
1305 case WACOM_22HD: 1316 case WACOM_22HD:
1306 case WACOM_24HD: 1317 case WACOM_24HD:
@@ -1579,6 +1590,15 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev,
1579 wacom_setup_cintiq(wacom_wac); 1590 wacom_setup_cintiq(wacom_wac);
1580 break; 1591 break;
1581 1592
1593 case WACOM_13HD:
1594 for (i = 0; i < 9; i++)
1595 __set_bit(BTN_0 + i, input_dev->keybit);
1596
1597 input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0);
1598 __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
1599 wacom_setup_cintiq(wacom_wac);
1600 break;
1601
1582 case INTUOS3: 1602 case INTUOS3:
1583 case INTUOS3L: 1603 case INTUOS3L:
1584 __set_bit(BTN_4, input_dev->keybit); 1604 __set_bit(BTN_4, input_dev->keybit);
@@ -1950,6 +1970,9 @@ static const struct wacom_features wacom_features_0xC5 =
1950static const struct wacom_features wacom_features_0xC6 = 1970static const struct wacom_features wacom_features_0xC6 =
1951 { "Wacom Cintiq 12WX", WACOM_PKGLEN_INTUOS, 53020, 33440, 1023, 1971 { "Wacom Cintiq 12WX", WACOM_PKGLEN_INTUOS, 53020, 33440, 1023,
1952 63, WACOM_BEE, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES }; 1972 63, WACOM_BEE, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
1973static const struct wacom_features wacom_features_0x304 =
1974 { "Wacom Cintiq 13HD", WACOM_PKGLEN_INTUOS, 59552, 33848, 1023,
1975 63, WACOM_13HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
1953static const struct wacom_features wacom_features_0xC7 = 1976static const struct wacom_features wacom_features_0xC7 =
1954 { "Wacom DTU1931", WACOM_PKGLEN_GRAPHIRE, 37832, 30305, 511, 1977 { "Wacom DTU1931", WACOM_PKGLEN_GRAPHIRE, 37832, 30305, 511,
1955 0, PL, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; 1978 0, PL, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
@@ -1959,6 +1982,9 @@ static const struct wacom_features wacom_features_0xCE =
1959static const struct wacom_features wacom_features_0xF0 = 1982static const struct wacom_features wacom_features_0xF0 =
1960 { "Wacom DTU1631", WACOM_PKGLEN_GRAPHIRE, 34623, 19553, 511, 1983 { "Wacom DTU1631", WACOM_PKGLEN_GRAPHIRE, 34623, 19553, 511,
1961 0, DTU, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; 1984 0, DTU, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
1985static const struct wacom_features wacom_features_0x57 =
1986 { "Wacom DTK2241", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047,
1987 63, DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES};
1962static const struct wacom_features wacom_features_0x59 = /* Pen */ 1988static const struct wacom_features wacom_features_0x59 = /* Pen */
1963 { "Wacom DTH2242", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047, 1989 { "Wacom DTH2242", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047,
1964 63, DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 1990 63, DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
@@ -1972,6 +1998,12 @@ static const struct wacom_features wacom_features_0xCC =
1972static const struct wacom_features wacom_features_0xFA = 1998static const struct wacom_features wacom_features_0xFA =
1973 { "Wacom Cintiq 22HD", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047, 1999 { "Wacom Cintiq 22HD", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047,
1974 63, WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES }; 2000 63, WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
2001static const struct wacom_features wacom_features_0x5B =
2002 { "Wacom Cintiq 22HDT", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047,
2003 63, WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5e };
2004static const struct wacom_features wacom_features_0x5E =
2005 { "Wacom Cintiq 22HDT", .type = WACOM_24HDT,
2006 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5b, .touch_max = 10 };
1975static const struct wacom_features wacom_features_0x90 = 2007static const struct wacom_features wacom_features_0x90 =
1976 { "Wacom ISDv4 90", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, 2008 { "Wacom ISDv4 90", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255,
1977 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; 2009 0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
@@ -2143,8 +2175,11 @@ const struct usb_device_id wacom_ids[] = {
2143 { USB_DEVICE_WACOM(0x43) }, 2175 { USB_DEVICE_WACOM(0x43) },
2144 { USB_DEVICE_WACOM(0x44) }, 2176 { USB_DEVICE_WACOM(0x44) },
2145 { USB_DEVICE_WACOM(0x45) }, 2177 { USB_DEVICE_WACOM(0x45) },
2178 { USB_DEVICE_WACOM(0x57) },
2146 { USB_DEVICE_WACOM(0x59) }, 2179 { USB_DEVICE_WACOM(0x59) },
2147 { USB_DEVICE_DETAILED(0x5D, USB_CLASS_HID, 0, 0) }, 2180 { USB_DEVICE_DETAILED(0x5D, USB_CLASS_HID, 0, 0) },
2181 { USB_DEVICE_WACOM(0x5B) },
2182 { USB_DEVICE_DETAILED(0x5E, USB_CLASS_HID, 0, 0) },
2148 { USB_DEVICE_WACOM(0xB0) }, 2183 { USB_DEVICE_WACOM(0xB0) },
2149 { USB_DEVICE_WACOM(0xB1) }, 2184 { USB_DEVICE_WACOM(0xB1) },
2150 { USB_DEVICE_WACOM(0xB2) }, 2185 { USB_DEVICE_WACOM(0xB2) },
@@ -2205,6 +2240,7 @@ const struct usb_device_id wacom_ids[] = {
2205 { USB_DEVICE_WACOM(0x100) }, 2240 { USB_DEVICE_WACOM(0x100) },
2206 { USB_DEVICE_WACOM(0x101) }, 2241 { USB_DEVICE_WACOM(0x101) },
2207 { USB_DEVICE_WACOM(0x10D) }, 2242 { USB_DEVICE_WACOM(0x10D) },
2243 { USB_DEVICE_WACOM(0x304) },
2208 { USB_DEVICE_WACOM(0x4001) }, 2244 { USB_DEVICE_WACOM(0x4001) },
2209 { USB_DEVICE_WACOM(0x47) }, 2245 { USB_DEVICE_WACOM(0x47) },
2210 { USB_DEVICE_WACOM(0xF4) }, 2246 { USB_DEVICE_WACOM(0xF4) },