Input: atmel_mxt_ts - set pointer emulation on touchpads

Touchpads are pointers, so make sure to pass the correct values to
input_mt_report_pointer_emulation(). Without this, tap-to-click doesn't
work.

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Benson Leung 2014-07-23 12:22:27 -07:00 committed by Dmitry Torokhov
parent 7a53d60926
commit b735fbe064
1 changed files with 6 additions and 5 deletions

View File

@ -654,10 +654,11 @@ static void mxt_input_button(struct mxt_data *data, struct mxt_message *message)
} }
} }
static void mxt_input_sync(struct input_dev *input_dev) static void mxt_input_sync(struct mxt_data *data)
{ {
input_mt_report_pointer_emulation(input_dev, false); input_mt_report_pointer_emulation(data->input_dev,
input_sync(input_dev); data->pdata->t19_num_keys);
input_sync(data->input_dev);
} }
static void mxt_input_touchevent(struct mxt_data *data, static void mxt_input_touchevent(struct mxt_data *data,
@ -707,7 +708,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
if (status & MXT_T9_RELEASE) { if (status & MXT_T9_RELEASE) {
input_mt_report_slot_state(input_dev, input_mt_report_slot_state(input_dev,
MT_TOOL_FINGER, 0); MT_TOOL_FINGER, 0);
mxt_input_sync(input_dev); mxt_input_sync(data);
} }
/* Touch active */ /* Touch active */
@ -783,7 +784,7 @@ static irqreturn_t mxt_process_messages_until_invalid(struct mxt_data *data)
} while (reportid != 0xff); } while (reportid != 0xff);
if (update_input) if (update_input)
mxt_input_sync(data->input_dev); mxt_input_sync(data);
return IRQ_HANDLED; return IRQ_HANDLED;
} }