New version of Elantech touchpad driver for kernel 2.6.23.1

Previous thread: [PATCH] mpc5200: psc-spi driver must not touch port_config or cdm registers by Grant Likely on Tuesday, October 23, 2007 - 11:39 pm. (3 messages)

Next thread: Linux v2.6.24-rc1 by Linus Torvalds on Wednesday, October 24, 2007 - 12:19 am. (55 messages)
To: <arjan@...>
Cc: <linux-kernel@...>, <linux-input@...>
Date: Tuesday, October 23, 2007 - 11:50 pm

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/elantech

Arjan

---
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...

To: <linux-input@...>
Cc: Arjan Opmeer <arjan@...>, <linux-kernel@...>
Date: Wednesday, October 24, 2007 - 12:10 am

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
-

To: Arjan Opmeer <arjan@...>
Cc: <linux-kernel@...>, <linux-input@...>
Date: Tuesday, October 23, 2007 - 11:54 pm

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_10

Registers
----------
+~~~~~~~~~

-* 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 E

E: 1 = enable smart edges in other cases
S: 1 = enable smart edges only ...

Previous thread: [PATCH] mpc5200: psc-spi driver must not touch port_config or cdm registers by Grant Likely on Tuesday, October 23, 2007 - 11:39 pm. (3 messages)

Next thread: Linux v2.6.24-rc1 by Linus Torvalds on Wednesday, October 24, 2007 - 12:19 am. (55 messages)