Archive for the 'Hardware' Category

Enhance a Lenovo Thinkpad T440p with physical TrackPoint buttons

January 2nd, 2017

The Thinkpad T440p is a real nice device… if there wouldn’t be the missing physical mouse buttons when working with the trackpoint.
Lenovo/Synaptics tried to sacrifice the buttons in favor of a bigger touchpad… and failed gloriously!
Fortunately, they realized it (with the help of thousands of users…) pretty quick. The successor of the T440 series, the 450 had the buttons back on it!
And even better: Those T450 Touchpad-Buttons-Combo is compatible with the T440 series.
And yes, they are sold for € 20-30 on ebay. I bought one from here.
To actually do the work, you need the maintenance manual. Lenovo has it online for most of their products. You can get it here.
Unfortunately it is not quite accurate, when it comes to the removal of the keyboard bezel, which houses the trackpad.
There are a lot of unnecessary steps listed. You only need to remove the battery, the big door and the optical drive to detach the bezel!
Be careful with the removal of the old touchpad! There are 2 cables! One ribbon cable which is clearly seen. And a second, black one with 3 leads on the right side (when looking at the screws)! The new Pad did not have this second cable anymore.
After the assembly a first test… a disappointing one: The buttons had no signs of life! at least, the touchpad was working.
That led me to the assumption, that there must be a configuration problem.
Some googleing later, it slowly appeared, that there must be a configuration problem in the Win10 – Synaptics-driver – BIOS (PCIID) triangle.
It looks like, that the touchpad itself does not have any intelligence on it. That means, even when you change the pad, the PCIID stays the same.
The blog of Cameron Gray was a big help in this findings. And down in comments of his blog, there is a guy, nicknamed “flyoil”, who outlines a possible solution. However, for this to work, one has to break driver signing and disable automatic Updates for drivers, because he changes the drivers INF file, to connect the existing PCIID with the new touchpad.
That led me to the idea, to look for the differences between the installations for the old and the new pad. After a (longer) look at the INF-file, i was left with only 12 registry keys, which where different! In detail:
The PCIID of the Touchpad on my T440p is ACPI\LEN0039
The PCIID of the Touchpad on an T450s is ACPI\LEN200E
So, I installed the latest Synaptics driver from the T450s driver page (jbg211ww.exe), which installed the driver group 12 (see SynPD.inf for details). After that, i searched the x64/SynPD.inf file for differences between
[LENOVO_GROUP41_InterTouch_Inst]
and
[LENOVO_GROUP12_InterTouch_Inst]

The following registry entries sets the right configuration for the new pad:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SynTP\Parameters]
"ExtraCapabilities7Add"=dword:00010000
"ExtraCapabilities7Mask"=dword:FFFFFFFF
"ProcessUnexpectedResetDuringDetection"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTP\Defaults]
"SlaveLeftButtonZoneR"=dword:00000d80
"SlaveLeftButtonZoneB"=dword:00000f40
"SlaveRightButtonZoneL"=dword:00000d81
"SlaveRightButtonZoneB"=dword:00000f40
"SlaveMiddleButtonZoneL"=dword:00000b57
"SlaveMiddleButtonZoneR"=dword:00000fa9
"SlaveMiddleButtonZoneB"=dword:0000112e

[HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh]
"ScrollMethod"=dword:00000005
"SynapticsScrollMethodSpeedFactor"=dword:00005000

Put this into a REG-file and apply it with admin rights and after a reboot, the buttons are in full business!
Good luck,
Nick

tags: , , , ,