mirror of https://gitee.com/openkylin/linux.git
Input: wacom - add support to Cintiq 22HD
Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
43c4d13e90
commit
d838c644fe
|
@ -464,7 +464,7 @@ static void wacom_intuos_general(struct wacom_wac *wacom)
|
||||||
t = (data[6] << 2) | ((data[7] >> 6) & 3);
|
t = (data[6] << 2) | ((data[7] >> 6) & 3);
|
||||||
if ((features->type >= INTUOS4S && features->type <= INTUOS4L) ||
|
if ((features->type >= INTUOS4S && features->type <= INTUOS4L) ||
|
||||||
(features->type >= INTUOS5S && features->type <= INTUOS5L) ||
|
(features->type >= INTUOS5S && features->type <= INTUOS5L) ||
|
||||||
features->type == WACOM_21UX2 || features->type == WACOM_24HD) {
|
(features->type >= WACOM_21UX2 && features->type <= WACOM_24HD)) {
|
||||||
t = (t << 1) | (data[1] & 1);
|
t = (t << 1) | (data[1] & 1);
|
||||||
}
|
}
|
||||||
input_report_abs(input, ABS_PRESSURE, t);
|
input_report_abs(input, ABS_PRESSURE, t);
|
||||||
|
@ -614,7 +614,7 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
|
||||||
input_report_abs(input, ABS_MISC, 0);
|
input_report_abs(input, ABS_MISC, 0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (features->type == WACOM_21UX2) {
|
if (features->type == WACOM_21UX2 || features->type == WACOM_22HD) {
|
||||||
input_report_key(input, BTN_0, (data[5] & 0x01));
|
input_report_key(input, BTN_0, (data[5] & 0x01));
|
||||||
input_report_key(input, BTN_1, (data[6] & 0x01));
|
input_report_key(input, BTN_1, (data[6] & 0x01));
|
||||||
input_report_key(input, BTN_2, (data[6] & 0x02));
|
input_report_key(input, BTN_2, (data[6] & 0x02));
|
||||||
|
@ -633,6 +633,12 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
|
||||||
input_report_key(input, BTN_Z, (data[8] & 0x20));
|
input_report_key(input, BTN_Z, (data[8] & 0x20));
|
||||||
input_report_key(input, BTN_BASE, (data[8] & 0x40));
|
input_report_key(input, BTN_BASE, (data[8] & 0x40));
|
||||||
input_report_key(input, BTN_BASE2, (data[8] & 0x80));
|
input_report_key(input, BTN_BASE2, (data[8] & 0x80));
|
||||||
|
|
||||||
|
if (features->type == WACOM_22HD) {
|
||||||
|
input_report_key(input, KEY_PROG1, data[9] & 0x01);
|
||||||
|
input_report_key(input, KEY_PROG2, data[9] & 0x02);
|
||||||
|
input_report_key(input, KEY_PROG3, data[9] & 0x04);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
input_report_key(input, BTN_0, (data[5] & 0x01));
|
input_report_key(input, BTN_0, (data[5] & 0x01));
|
||||||
input_report_key(input, BTN_1, (data[5] & 0x02));
|
input_report_key(input, BTN_1, (data[5] & 0x02));
|
||||||
|
@ -1231,6 +1237,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len)
|
||||||
case CINTIQ:
|
case CINTIQ:
|
||||||
case WACOM_BEE:
|
case WACOM_BEE:
|
||||||
case WACOM_21UX2:
|
case WACOM_21UX2:
|
||||||
|
case WACOM_22HD:
|
||||||
case WACOM_24HD:
|
case WACOM_24HD:
|
||||||
sync = wacom_intuos_irq(wacom_wac);
|
sync = wacom_intuos_irq(wacom_wac);
|
||||||
break;
|
break;
|
||||||
|
@ -1432,6 +1439,12 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev,
|
||||||
wacom_setup_cintiq(wacom_wac);
|
wacom_setup_cintiq(wacom_wac);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WACOM_22HD:
|
||||||
|
__set_bit(KEY_PROG1, input_dev->keybit);
|
||||||
|
__set_bit(KEY_PROG2, input_dev->keybit);
|
||||||
|
__set_bit(KEY_PROG3, input_dev->keybit);
|
||||||
|
/* fall through */
|
||||||
|
|
||||||
case WACOM_21UX2:
|
case WACOM_21UX2:
|
||||||
__set_bit(BTN_A, input_dev->keybit);
|
__set_bit(BTN_A, input_dev->keybit);
|
||||||
__set_bit(BTN_B, input_dev->keybit);
|
__set_bit(BTN_B, input_dev->keybit);
|
||||||
|
@ -1858,6 +1871,9 @@ static const struct wacom_features wacom_features_0xF0 =
|
||||||
static const struct wacom_features wacom_features_0xCC =
|
static const struct wacom_features wacom_features_0xCC =
|
||||||
{ "Wacom Cintiq 21UX2", WACOM_PKGLEN_INTUOS, 87200, 65600, 2047,
|
{ "Wacom Cintiq 21UX2", WACOM_PKGLEN_INTUOS, 87200, 65600, 2047,
|
||||||
63, WACOM_21UX2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
63, WACOM_21UX2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
||||||
|
static const struct wacom_features wacom_features_0xFA =
|
||||||
|
{ "Wacom Cintiq 22HD", WACOM_PKGLEN_INTUOS, 95840, 54260, 2047,
|
||||||
|
63, WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
||||||
static const struct wacom_features wacom_features_0x90 =
|
static const struct wacom_features wacom_features_0x90 =
|
||||||
{ "Wacom ISDv4 90", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255,
|
{ "Wacom ISDv4 90", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255,
|
||||||
0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
|
0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
|
||||||
|
@ -2075,6 +2091,7 @@ const struct usb_device_id wacom_ids[] = {
|
||||||
{ USB_DEVICE_WACOM(0xEF) },
|
{ USB_DEVICE_WACOM(0xEF) },
|
||||||
{ USB_DEVICE_WACOM(0x47) },
|
{ USB_DEVICE_WACOM(0x47) },
|
||||||
{ USB_DEVICE_WACOM(0xF4) },
|
{ USB_DEVICE_WACOM(0xF4) },
|
||||||
|
{ USB_DEVICE_WACOM(0xFA) },
|
||||||
{ USB_DEVICE_LENOVO(0x6004) },
|
{ USB_DEVICE_LENOVO(0x6004) },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
|
@ -73,8 +73,9 @@ enum {
|
||||||
INTUOS5S,
|
INTUOS5S,
|
||||||
INTUOS5,
|
INTUOS5,
|
||||||
INTUOS5L,
|
INTUOS5L,
|
||||||
WACOM_24HD,
|
|
||||||
WACOM_21UX2,
|
WACOM_21UX2,
|
||||||
|
WACOM_22HD,
|
||||||
|
WACOM_24HD,
|
||||||
CINTIQ,
|
CINTIQ,
|
||||||
WACOM_BEE,
|
WACOM_BEE,
|
||||||
WACOM_MO,
|
WACOM_MO,
|
||||||
|
|
Loading…
Reference in New Issue