}
        input_report_abs(dev, ABS_PRESSURE, hw.z);
 
-       input_report_abs(dev, ABS_TOOL_WIDTH, finger_width);
+       if (SYN_CAP_PALMDETECT(priv->capabilities))
+               input_report_abs(dev, ABS_TOOL_WIDTH, finger_width);
+
        input_report_key(dev, BTN_TOOL_FINGER, num_fingers == 1);
        input_report_key(dev, BTN_LEFT, hw.left);
        input_report_key(dev, BTN_RIGHT, hw.right);
        input_set_abs_params(dev, ABS_Y,
                             YMIN_NOMINAL, priv->y_max ?: YMAX_NOMINAL, 0, 0);
        input_set_abs_params(dev, ABS_PRESSURE, 0, 255, 0, 0);
-       __set_bit(ABS_TOOL_WIDTH, dev->absbit);
+
+       if (SYN_CAP_PALMDETECT(priv->capabilities))
+               __set_bit(ABS_TOOL_WIDTH, dev->absbit);
 
        __set_bit(EV_KEY, dev->evbit);
        __set_bit(BTN_TOUCH, dev->keybit);