Fixing Touchpad of the T540p for Ubuntu 14.04

Ubuntu 14.04 scheint einige Probleme mit dem T540p zu haben. Das Touchpad ist im Fabrikneuen System quasi nicht zu gebrauchen.
Glücklicherweise reichen ein paar einfache Knigge um es korrekt zu konfigurieren.

Micht stören zwei Dinge:

  • Die obere Fläche ist für die Linke/Mittlere/Rechte Maustaste konfiguriert. Bei einem Klick werden aber auch die Bewegungen als Mausbewegungen interpretiert, was zu unerwünschten Klickverhalten führt
  • Die mittlere und rechte Maustaste funktionieren gar nicht. Rechtsklick wird mit Mausgesten realisiert, die Mittlere Maustaste gibt's gar nicht
Touchpad vom Lenovo T540p
Touchpad vom Lenovo T540p

Das Ziel ist gesteckt:
Die obere Fläche soll den Funktionstasten (Linke/Mittlere/Rechte Maustaste) zugeordnet werden. Klicken und gleichzeitiges Herumfahren mit der Maus ist störend und unerwünscht.

Abhilfe mit synclient

Der Freund in der Not heißt in diesem Fall synclient. Damit lässt sich das Touchpad so konfigurieren wie es der Benutzer haben will.
Synclient ist unter Ubuntu im Paket xserver-org-input-synaptics drinnen und sollte bereits installiert sein. Andernfalls hilft ein einfaches

Konfiguration auslesen

Ein Aufruf von synclient ohne Parameter liefert die aktuelle Konfiguration

synclient liefert die aktuelle Konfiguration
synclient liefert die aktuelle Konfiguration

Sensitive Fläche reduzieren

Das Touchpad wird in ein Rechteck eingeteilt, dessen Dimensionen mit folgenden Parametern eingestellt werden

  • LeftEdge
  • RightEdge
  • TopEdge
  • BottomEdge

Die Fläche auf dem Touchpad, welche die sensitive Fläche bestimmt sind

  • AreaLeftEdge
  • AreaRightEdge
  • AreaTopEdge
  • AreaBottomEdge

Der folgende Aufruf von synclient und ein grep darauf liefen die aktuellen Einstellungen

In meinem Fall möchte ich, dass die obere Fläche in der sich die Maustasten befinden nicht sensitiv sind. Dazu setze ich den Wert AreaTopEdge auf 1800. Der Werte wurde deterministisch ermittelt, sprich es werden Werte so lange durchprobiert bis das gewünschte Ergebnis erzielt wurde.

Fertig! 🙂

Mausklicks einstellen

Die nächsten Parameter die uns interessieren sind die Mausklick-Regionen. Der folgende Aufruf liefert die passenden Daten, welche selbsterklärend sein sollten

Ich habe die Parameter schon so eingestellt, dass sie meiner Wunschkonfiguration entsprechen. In der Basiskonfiguration waren MiddleButtonAreaLeft, MiddleButtonAreaRight, RightButtonAreaLeft und RightButtonAreaRight jeweils auf 0 eingestellt.

Auch hier wiederum führt ein gezieltes erraten der Werte zum gewünschten Resultat. Die Werte werden sich sicherlich noch etwas verändern, die grobe Richtung passt jedoch schon.

Wichtig: Es muss zuerst die AreaLeft eingestellt werden. Denn wenn beim setzen von AreaRight diese kleiner ist als AreaLeft (AreaRight < AreaLeft) schluckt synclient den neuen Wert nicht!

Summary in a Box

Die gesamte Konfiguration kann mit folgendem Shell-Skript eingestellt werden:

Die Werte können bei dem einen oder anderen eventuell etwas variieren.

[UPDATE]

Das Shell-Skript wurde von mir angepasst und erweitert.