On 04/05/2012 12:46 AM, JJ Ding wrote: > 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@xxxxxxxxxxx> > Signed-off-by: JJ Ding <jj_ding@xxxxxxxxxx> > --- > drivers/input/mouse/elantech.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > index 21c68a8..4790110 100644 > --- a/drivers/input/mouse/elantech.c > +++ b/drivers/input/mouse/elantech.c > @@ -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); Looks good to me :). Reviewed-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx> Thanks JJ! -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html