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;