diff options
Diffstat (limited to 'drivers/input/mouse/synaptics.c')
-rw-r--r-- | drivers/input/mouse/synaptics.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 705589dc9ac..8c324403b9f 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c | |||
@@ -502,7 +502,9 @@ static void synaptics_process_packet(struct psmouse *psmouse) | |||
502 | } | 502 | } |
503 | input_report_abs(dev, ABS_PRESSURE, hw.z); | 503 | input_report_abs(dev, ABS_PRESSURE, hw.z); |
504 | 504 | ||
505 | input_report_abs(dev, ABS_TOOL_WIDTH, finger_width); | 505 | if (SYN_CAP_PALMDETECT(priv->capabilities)) |
506 | input_report_abs(dev, ABS_TOOL_WIDTH, finger_width); | ||
507 | |||
506 | input_report_key(dev, BTN_TOOL_FINGER, num_fingers == 1); | 508 | input_report_key(dev, BTN_TOOL_FINGER, num_fingers == 1); |
507 | input_report_key(dev, BTN_LEFT, hw.left); | 509 | input_report_key(dev, BTN_LEFT, hw.left); |
508 | input_report_key(dev, BTN_RIGHT, hw.right); | 510 | input_report_key(dev, BTN_RIGHT, hw.right); |
@@ -602,7 +604,9 @@ static void set_input_params(struct input_dev *dev, struct synaptics_data *priv) | |||
602 | input_set_abs_params(dev, ABS_Y, | 604 | input_set_abs_params(dev, ABS_Y, |
603 | YMIN_NOMINAL, priv->y_max ?: YMAX_NOMINAL, 0, 0); | 605 | YMIN_NOMINAL, priv->y_max ?: YMAX_NOMINAL, 0, 0); |
604 | input_set_abs_params(dev, ABS_PRESSURE, 0, 255, 0, 0); | 606 | input_set_abs_params(dev, ABS_PRESSURE, 0, 255, 0, 0); |
605 | __set_bit(ABS_TOOL_WIDTH, dev->absbit); | 607 | |
608 | if (SYN_CAP_PALMDETECT(priv->capabilities)) | ||
609 | input_set_abs_params(dev, ABS_TOOL_WIDTH, 0, 15, 0, 0); | ||
606 | 610 | ||
607 | __set_bit(EV_KEY, dev->evbit); | 611 | __set_bit(EV_KEY, dev->evbit); |
608 | __set_bit(BTN_TOUCH, dev->keybit); | 612 | __set_bit(BTN_TOUCH, dev->keybit); |