switch (data[0]) {
case 1:
- wacom_input_regs(wcombo);
if (data[5] & 0x80) {
wacom->tool[0] = (data[5] & 0x20) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN;
wacom->id[0] = (data[5] & 0x20) ? ERASER_DEVICE_ID : STYLUS_DEVICE_ID;
}
break;
case 2:
- wacom_input_regs(wcombo);
wacom_report_key(wcombo, BTN_TOOL_PEN, 1);
wacom_report_abs(wcombo, ABS_MISC, STYLUS_DEVICE_ID); /* report tool id */
wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[1]));
prox = data[1] & 0x40;
- wacom_input_regs(wcombo);
-
id = ERASER_DEVICE_ID;
if (prox) {
return 0;
}
- wacom_input_regs(wcombo);
if (data[1] & 0x04) {
wacom_report_key(wcombo, BTN_TOOL_RUBBER, data[1] & 0x20);
wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x08);
return 0;
}
- wacom_input_regs(wcombo);
-
id = STYLUS_DEVICE_ID;
if (data[1] & 0x10) { /* in prox */
return 0;
}
- wacom_input_regs(wcombo);
-
/* tool number */
idx = data[1] & 0x01;