Hi,

I've got a ThinkPad T480s that comes with an Elantech v4 Clickpad + Trackpoint 
(firmware version 0x7f3001).

Out of the box, this firmware version is unsupported and cannot be configured, 
but it does attach as a basic PS/2 mouse input. Unfortunately for me, this 
means "tap-to-click" is permanently enabled.

I'm fine with touchpads, but I consider "tap-to-click" to be an abomination of 
a feature that should have been named "tap-to-destroy-everything-by-mistake". I 
was willing to do whatever was necessary to disable it.

I applied the following patch to enable this firmware version:

Index: src/sys/dev/pckbc/pms.c
===================================================================
RCS file: /cvs/src/sys/dev/pckbc/pms.c,v
retrieving revision 1.86
diff -u -p -u -r1.86 pms.c
--- src/sys/dev/pckbc/pms.c     29 Apr 2018 08:50:04 -0000      1.86
+++ src/sys/dev/pckbc/pms.c     30 Apr 2018 19:43:12 -0000
@@ -1939,7 +1939,8 @@ elantech_get_hwinfo_v4(struct pms_softc 
                return (-1);
 
        if (((fw_version & 0x0f0000) >> 16) != 6 &&
-           (fw_version & 0x0f0000) >> 16 != 8)
+           ((fw_version & 0x0f0000) >> 16) != 8 &&
+           ((fw_version & 0x0f0000) >> 16) != 15)
                return (-1);
 
        elantech->fw_version = fw_version;


The clickpad is now configurable and appears to work, so I can use the laptop 
without "tap-to-annoy" happening every 5 seconds. However, this patch breaks 
the trackpoint because there is no support implemented for it yet.

Whenever the trackpoint is touched, it spews out the errors "unknown packet" 
and "not in sync yet, discard input". The most common unknown packet value is 
0x00. After a bit of research, I found that Elantech v4 trackpoint packets are 
supposed to identify themselves with a value of 0x06. I have yet to determine 
why the trackpoint packets have the wrong value. For now, I've just disabled 
the trackpoint in UEFI settings to eliminate the error messages.

Reply via email to