I updated my driver for the Elantech touchpad. Changes include:
- Absolute mode reporting is now working on my laptop.
- Fixed the use of a wrong constant in the Synaptics Identify query
- Added Synaptics Modes query as newer versions of the Windows Elantech
driver seem to try that query too.
- Make an educated guess bases on the Synaptics Capabilities query whether
middle mouse button reporting works and how finger taps are reported.
- Added a debug option.Testers are still very much wanted and encouraged to give feedback.
For people that are reading the mailing list via a web interface:
I've made the patches available for download and provided some extra
information at http://arjan.opmeer.net/elantechArjan
---
diff -purN -X linux-2.6.23.1.vanilla/Documentation/dontdiff linux-2.6.23.1.vanilla/Documentation/input/elantech.txt linux-2.6.23.1.elantech/Documentation/input/elantech.txt
--- linux-2.6.23.1.vanilla/Documentation/input/elantech.txt 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.23.1.elantech/Documentation/input/elantech.txt 2007-10-22 04:56:15.000000000 +0200
@@ -0,0 +1,172 @@
+Elantech Touchpad Driver
+========================
+ Copyright (C) 2007 Arjan Opmeer <arjan@opmeer.net>
+
+ Extra information found and provided by Steve Havelka
+
+Configuration of the touchpad is performed by writing values to registers
+found under sysfs entries /sys/bus/serio/drivers/psmouse/serio?/reg_*.
+
+E.g. to disable tapping while leaving the other settings to the default
+Windows driver value one would:
+
+ echo -n 0x32 > reg_10
+
+
+Registers
+~~~~~~~~~
+
+* reg_10 (Windows driver default value 0x12)
+
+ bit 7 6 5 4 3 2 1 0
+ B C T D L A S E
+
+ E: 1 = enable smart edges in other cases
+ S: 1 = enable smart edges only when dragging
+ A: 1 = absolute mode (needs 4 byte packets, see reg_11)
+ L: 1 = enable drag lock (see reg_22)
+ D: 1 = disable...
Do not move protocol constants around as they are exported to
userspace. New protocols should go to the end of the list
(right in front of PSMOUSE_AUTO).Thanks.
--
Dmitry
-
From Arjan Opmeer <arjan@opmeer.net>
Update to the Elantech touchpad driver. Changes include:
- Absolute mode reporting is now working on my laptop.
- Fixed the use of a wrong constant in the Synaptics Identify query
- Added Synaptics Modes query as newer versions of the Windows Elantech
driver seem to try that query too.
- Make an educated guess bases on the Synaptics Capabilities query whether
middle mouse button reporting works and how finger taps are reported.
- Added a debug option.Signed-off-by: Arjan Opmeer <arjan@opmeer.net>
---
diff -purN -X linux-2.6.23-mm1.vanilla/Documentation/dontdiff linux-2.6.23-mm1.vanilla/Documentation/input/elantech.txt linux-2.6.23-mm1.elantech/Documentation/input/elantech.txt
--- linux-2.6.23-mm1.vanilla/Documentation/input/elantech.txt 2007-10-22 05:24:20.000000000 +0200
+++ linux-2.6.23-mm1.elantech/Documentation/input/elantech.txt 2007-10-22 05:24:55.000000000 +0200
@@ -1,68 +1,75 @@
Elantech Touchpad Driver
========================
- Copyright (C) 2007 Arjan Opmeer <arjan@opmeer.net>
+ Copyright (C) 2007 Arjan Opmeer <arjan@opmeer.net>+ Extra information found and provided by Steve Havelka
-Configuration of the touchpad is performed by writing register values to the
-corresponding sysfs entries found under /sys/bus/serio/drivers/psmouse/serioX
+Configuration of the touchpad is performed by writing values to registers
+found under sysfs entries /sys/bus/serio/drivers/psmouse/serio?/reg_*.
+
+E.g. to disable tapping while leaving the other settings to the default
+Windows driver value one would:
+
+ echo -n 0x32 > reg_10Registers
----------
+~~~~~~~~~-* reg_10 (Windows driver default value 0x12)
+* reg_10 (Windows driver default value 0x12)bit 7 6 5 4 3 2 1 0
- 0 C T D L R S E
+ B C T D L A S EE: 1 = enable smart edges in other cases
S: 1 = enable smart edges only ...
