mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
Input: elantech - v4 is a clickpad, with only one button
Add pointer and buttonpad properties for v4 hardware. Also, Jachiet reported that on Asus UX31, right button has no effect. It turns out v4 has only one button, the right-button effect is implemented with software when Windows driver is installed, or in firmware when touchpad is in relative mode. So remove BTN_RIGHT while at it. Reported-by: Jachiet Louis <louis@jachiet.com> Signed-off-by: JJ Ding <jj_ding@emc.com.tw> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
a67ada7a72
commit
e3dde4fba9
1 changed files with 4 additions and 2 deletions
|
@ -486,7 +486,6 @@ static void elantech_input_sync_v4(struct psmouse *psmouse)
|
|||
unsigned char *packet = psmouse->packet;
|
||||
|
||||
input_report_key(dev, BTN_LEFT, packet[0] & 0x01);
|
||||
input_report_key(dev, BTN_RIGHT, packet[0] & 0x02);
|
||||
input_mt_report_pointer_emulation(dev, true);
|
||||
input_sync(dev);
|
||||
}
|
||||
|
@ -967,6 +966,7 @@ static int elantech_set_input_params(struct psmouse *psmouse)
|
|||
if (elantech_set_range(psmouse, &x_min, &y_min, &x_max, &y_max, &width))
|
||||
return -1;
|
||||
|
||||
__set_bit(INPUT_PROP_POINTER, dev->propbit);
|
||||
__set_bit(EV_KEY, dev->evbit);
|
||||
__set_bit(EV_ABS, dev->evbit);
|
||||
__clear_bit(EV_REL, dev->evbit);
|
||||
|
@ -1017,7 +1017,9 @@ static int elantech_set_input_params(struct psmouse *psmouse)
|
|||
*/
|
||||
psmouse_warn(psmouse, "couldn't query resolution data.\n");
|
||||
}
|
||||
|
||||
/* v4 is clickpad, with only one button. */
|
||||
__set_bit(INPUT_PROP_BUTTONPAD, dev->propbit);
|
||||
__clear_bit(BTN_RIGHT, dev->keybit);
|
||||
__set_bit(BTN_TOOL_QUADTAP, dev->keybit);
|
||||
/* For X to recognize me as touchpad. */
|
||||
input_set_abs_params(dev, ABS_X, x_min, x_max, 0, 0);
|
||||
|
|
Loading…
Reference in a new issue