|
@@ -496,7 +496,9 @@ static void synaptics_process_packet(struct psmouse *psmouse)
|
|
|
}
|
|
|
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);
|
|
@@ -596,7 +598,9 @@ static void set_input_params(struct input_dev *dev, struct synaptics_data *priv)
|
|
|
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);
|