FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.

» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

LinkBack Thread Tools
Old 09-13-2012, 06:00 PM
Default Input: elantech - v4 is a clickpad, with only one button

From: Joseph Salisbury <joseph.salisbury@canonical.com>

BugLink: http://bugs.launchpad.net/bugs/1033568

== Precise SRU Justification ==

The track pad does not work on an ACER Aspire S3 without commit e3dde4fb. The following two commits are also needed as prereqs to commit e3dde4fb:

All Commits were cherry-picked cleanly, and did not requred any back-porting.

== Fix ==

commit e3dde4fba94e0ba5e1fd79ea9e5389eea1f0cfec
Author: JJ Ding <jj_ding@emc.com.tw>
Date: Tue Apr 10 00:30:12 2012 -0700

Input: elantech - v4 is a clickpad, with only one button

== Impact ==

The track pad will not work on ACER Aspire S3 systems on Precise. This bug is alredy fixed upstream and in Quantal.

== Test Case ==

A Precise test kernel was built with the following three commits cherry-picked:

The original bug reporter confirmed this test kernel fixes the bug and allows the track pad to work.

JJ Ding (3):
Input: elantech - add support for elantech fast command
Input: elantech - add resolution query support for v4 hardware
Input: elantech - v4 is a clickpad, with only one button

drivers/input/mouse/elantech.c | 77 +++++++++++++++++++++++++++++++++++-----
drivers/input/mouse/elantech.h | 2 ++
2 files changed, 70 insertions(+), 9 deletions(-)


kernel-team mailing list
Old 09-13-2012, 06:00 PM
Default Input: elantech - v4 is a clickpad, with only one button

From: JJ Ding <jj_ding@emc.com.tw>

BugLink: http://bugs.launchpad.net/bugs/1033568

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>
(cherry picked from commit e3dde4fba94e0ba5e1fd79ea9e5389eea1f0cfec)

Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
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 7da63e5..d804146 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);
@@ -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.
+ /* 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);

kernel-team mailing list

Thread Tools

All times are GMT. The time now is 10:46 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org