diff options
author | Ping Cheng <pinglinux@gmail.com> | 2013-05-05 22:56:18 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-05-05 23:13:16 -0400 |
commit | 56218563adbc085a17aa735da2c3fdf9877fa9e7 (patch) | |
tree | a1354111eb3f5feae458c5de6878a2c0a4babdbd /drivers/input/tablet/wacom_wac.c | |
parent | 3c9cfa782e075cc2348b949ba139911aac02c7cb (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.c | 36 |
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 = | |||
1950 | static const struct wacom_features wacom_features_0xC6 = | 1970 | static 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 }; |
1973 | static 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 }; | ||
1953 | static const struct wacom_features wacom_features_0xC7 = | 1976 | static 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 = | |||
1959 | static const struct wacom_features wacom_features_0xF0 = | 1982 | static 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 }; |
1985 | static 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}; | ||
1962 | static const struct wacom_features wacom_features_0x59 = /* Pen */ | 1988 | static 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 = | |||
1972 | static const struct wacom_features wacom_features_0xFA = | 1998 | static 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 }; |
2001 | static 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 }; | ||
2004 | static 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 }; | ||
1975 | static const struct wacom_features wacom_features_0x90 = | 2007 | static 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) }, |