get_unaligned_le16(&frame[11]));
}
}
---
-- input_report_abs(pen_input, ABS_PRESSURE, get_unaligned_le16(&frame[5]));
- if (wacom->features.type == INTUOSP2_BT) {
- if (wacom->features.type == INTUOSP2_BT ||
- wacom->features.type == INTUOSP2S_BT) {
-- input_report_abs(pen_input, ABS_DISTANCE,
-- range ? frame[13] : wacom->features.distance_max);
-- } else {
-- input_report_abs(pen_input, ABS_DISTANCE,
-- range ? frame[7] : wacom->features.distance_max);
-- }
++ if (wacom->tool[0]) {
++ input_report_abs(pen_input, ABS_PRESSURE, get_unaligned_le16(&frame[5]));
++ if (wacom->features.type == INTUOSP2_BT) {
++ input_report_abs(pen_input, ABS_DISTANCE,
++ range ? frame[13] : wacom->features.distance_max);
++ } else {
++ input_report_abs(pen_input, ABS_DISTANCE,
++ range ? frame[7] : wacom->features.distance_max);
++ }
-- input_report_key(pen_input, BTN_TOUCH, frame[0] & 0x01);
-- input_report_key(pen_input, BTN_STYLUS, frame[0] & 0x02);
-- input_report_key(pen_input, BTN_STYLUS2, frame[0] & 0x04);
++ input_report_key(pen_input, BTN_TOUCH, frame[0] & 0x09);
++ input_report_key(pen_input, BTN_STYLUS, frame[0] & 0x02);
++ input_report_key(pen_input, BTN_STYLUS2, frame[0] & 0x04);
-- input_report_key(pen_input, wacom->tool[0], prox);
-- input_event(pen_input, EV_MSC, MSC_SERIAL, wacom->serial[0]);
-- input_report_abs(pen_input, ABS_MISC,
-- wacom_intuos_id_mangle(wacom->id[0])); /* report tool id */
++ input_report_key(pen_input, wacom->tool[0], prox);
++ input_event(pen_input, EV_MSC, MSC_SERIAL, wacom->serial[0]);
++ input_report_abs(pen_input, ABS_MISC,
++ wacom_intuos_id_mangle(wacom->id[0])); /* report tool id */
++ }
wacom->shared->stylus_in_proximity = prox;