Differences between revisions 17 and 18
Revision 17 as of 2009-03-28 21:57:57
Size: 5140
Editor: ?Gene.Cash
Comment: Removed "ServerLayout" & "ServerFlags" sections because that keeps mice from being autodetected (like VX Nano)
Revision 18 as of 2009-11-11 15:32:10
Size: 5191
Editor: ?dsalt
Comment: Reference wishlist bug for in-kernel Elantech support.
Deletions are marked like this. Additions are marked like this.
Line 108: Line 108:
/!\ Currently not enabled in Debian kernels; for now, [[#A2.6.28|see above]]. /!\ Currently not enabled in Debian kernels (see [[http://bugs.debian.org/522920|bug 522920]]); for now, [[#A2.6.28|see above]].

Elantech Touchpad

Support in lenny

Using the mouse driver or the evdev driver

<!> This is the only option available to you if you're using an unpatched Linux kernel such as one of the Linux 2.6.26 kernel packages in lenny.

The touchpad is recognised as an Intellimouse PS/2 device. Consequently, it is not recognised by the X.org synaptics driver.

(II) Synaptics touchpad driver version 0.14.6 (1406)
Synaptics0 no synaptics event device found
(**) Option "Device" "/dev/psaux"
(**) Option "SHMConfig" "true"
(**) Option "HorizEdgeScroll" "1"
Query no Synaptics: 6003C8

What works

Two-finger vertical scrolling works, as do two- and three-finger taps (for the middle and right buttons) and, strangely, drags can be started by holding one finger on the pad and tapping with another finger.

What doesn't work

It is not possible to make any specific device configuration, such as horizontal scrolling.

Using the synaptics driver

<!> This option is available to you if you use a patched Linux kernel or with 2.6.28 and later.

Practically everything supported works, except for things like finger pressure which the hardware doesn't support.

2.6.27.* and older

Asus patched the xorg synaptics driver in order to make this Elantech device work properly. However, the source code is nowhere to be found, and neither Asus nor the Xandros packager of the driver replied to emails asking for the source code.

There is a kernel patch (?see here for build instructions) which provides support for the touchpad, which will be identified as an "ETPS/2 Elantech Touchpad". This allows the synaptics driver to be used; both two-finger and circular scrolling work fine, though they are disabled by default, but the above drag method is unsupported.

With the patch, the touchpad is usable with xserver-xorg-input-synaptics in lenny.

{i} lsinput (in package input-utils) reports the following:

   bustype : BUS_I8042
   vendor  : 0x2
   product : 0xd
   version : 0
   name    : "ETPS/2 Elantech Touchpad"
   phys    : "isa0060/serio1/input0"
   bits ev : EV_SYN EV_KEY EV_REL EV_ABS

The kernel log contains:

elantech.c: Elantech version query result 0x02, 0x00, 0x30.
elantech.c: assuming hardware version 2, firmware version 2.48
elantech.c: Synaptics capabilities query ersult 0x00, 0x02, 0x64.

2.6.28-rc1 and later

The touchpad is recognised by the kernel as an Elantech device (ETPS/2) device; no patching is needed.

Whether you choose a Debian-packaged kernel or you build your own, you will need to make sure that CONFIG_MOUSE_PS2_ELANTECH is set. By default, it isn't. (?See here for build instructions.)

elantech-config-location.png

/!\ The Debian archive contains a sufficiently recent version of xserver-xorg-input-synaptics (0.99.3); however, it's only in experimental and requires X from experimental (unless you recompile it).

{*} xserver-xorg-input-synaptics 0.99.3, built for use on lenny, is available in packaged form from http://alioth.debian.org/~dsalt-guest/eee/ (you'll need to use dpkg -i to install it).

[Correct as of 2009-02-26.]

(II) Synaptics touchpad driver version 0.99.2
(--) Configured Mouse auto-dev sets device to /dev/input/event9
(**) Option "Device" "/dev/input/event9"
(II) Configured Mouse: x-axis range 8 - 1144
(II) Configured Mouse: y-axis range 8 - 760
(II) Configured Mouse: device does not report pressure, will use touch data.
(II) Configured Mouse: finger width range 0 - 0
(II) Configured Mouse: buttons: left right middle double triple
(II) Configured Mouse touchpad found

{i} lsinput reports the following:

   bustype : BUS_I8042
   vendor  : 0x2
   product : 0xe
   version : 0
   name    : "ETPS/2 Elantech Touchpad"
   phys    : "isa0060/serio1/input0"
   bits ev : EV_SYN EV_KEY EV_REL EV_ABS

The kernel log content is as for older, patched, kernels.

Support in squeeze

/!\ Currently not enabled in Debian kernels (see bug 522920); for now, see above.

The touchpad is recognised by the kernel as an Elantech device (ETPS/2) device. Identification is as for lenny with 2.6.28-rc1 or later.

Why the Synaptics driver?

Because. :\

It certainly simplifies configuration, and various features implemented by the driver are software features ‒ edge scrolling, for example ‒ and many of them are common across all supported hardware.

Synaptics driver configuration

Sample xorg.conf fragment:

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "synaptics"
        Option          "Device"                "/dev/input/mouse0"
        Option          "Protocol"              "auto-dev"
        Option          "SHMConfig"             "true"
        Option          "VertTwoFingerScroll"   "1"
        Option          "HorizTwoFingerScroll"  "1"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "2"
        Option          "TapButton3"            "3"
EndSection