Touchpad Synaptics (Deutsch)
From ArchWiki
i18n |
---|
English |
German |
Русский |
简体中文 |
Contents |
Einleitung
synaptics ist ein Treiber für das Synaptics Touchpad, welches in vielen Laptops Anwendung findet. Dieser Artikel hilft dir dabei, synaptics zu installieren und zu konfigurieren.
Installation
Du kannst die erforderlichen Pakete mit pacman aus der extra repository installieren:
# pacman -S xf86-input-synaptics
Die /etc/X11/xorg.conf muss anschließend entsprechend konfiguriert werden. Füge dazu folgende Zeile dem ServerLayout hinzu:
Section "ServerLayout" ... InputDevice "USB Mouse" "CorePointer" InputDevice "Touchpad" "SendCoreEvents" EndSection
Außerdem muss X das synaptics Modul laden:
Section "Module" ... Load "synaptics" ... EndSection
Zuletzt muss eine neue InputDevice Sektion für das Touchpad erstellt werden:
Section "InputDevice" Identifier "Touchpad" Driver "synaptics" Option "Device" "/dev/input/mouse0" Option "Protocol" "auto-dev" Option "LeftEdge" "1700" Option "RightEdge" "5300" Option "TopEdge" "1700" Option "BottomEdge" "4200" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.06" Option "MaxSpeed" "0.12" Option "AccelFactor" "0.0010" Option "SHMConfig" "on" EndSection
Der synaptics Treiber benötigt die Module evdev und psmouse. Sie sollten automatisch geladen werden, allerdings ist es immer sicher, sie der /etc/rc.conf hinzuzufügen:
MODULES = (... evdev psmouse ...)
Nach einem X Neustart sollte das Touchpad funktionstüchtig sein. Weitere Anpassungsmöglichkeiten des synaptics Treibers enthält das Kapitel Fortgeschrittene Konfiguration.
Grafische Konfigurations-Programme
Gsynaptics
Nachdem der synaptics Treiber installiert worden ist, können insbesondere GNOME Benutzer gsynaptics installieren:
- pacman -S gsynaptics
Um die Einstellungen von gsynaptics automatisch zu speichern und zu laden, muss das Programm gsynaptics-init zum Autostart hinzugefügt werden. Eine Liste dieser Programme ist über System -> Einstellungen -> Sessions zu finden.
Hinweis: Nicht-GNOME Benutzer können gsynaptics-init automatisch starten lassen, indem sie es zu ihrer .xinitrc oder .xsession hinzufügen.
Fortgeschrittene Konfiguration
Der synaptics Treiber bietet eine Vielzahl an Optionen an. Die folgende Liste beschreibt die Optionen, die wir in /etc/X11/xorg.conf benutzt haben:
Identifier bezeichnet das Eingabegerät, das in dieser Sektion konfiguriert wird.
Device gibt den Pfad des Eingabegeräts an. Das Kapitel Troubleshooting behandelt den Fall, dass der Pfad bei dir nicht /dev/input/mouse0 ist.
LeftEdge, RightEdge, TopEdge und BottomEdge sind ganzzahlige Werte, die die Dimension des Touchpads als x oder y Koordinaten definieren.
FingerLow und FingerHigh sind ebenfalls ganzzahlige Werte, die angeben, ab welchem Druck das Touchpad eine Berührung (Druck größer als FingerHigh) oder eine Freigabe (Druck kleiner als FingerLow) registriert.
MaxTapTime ist ein ganzzahliger Wert, der die maximale Zeit für ein Klicken in Millisekunden angibt.
MaxTapMove ist dabei die maximale Bewegung die während eines Klicks zulässig ist; ebenfalls ein ganzzahliger Wert.
MinSpeed und MaxSpeed setzen minimale und maximale Geschwindigkeit als Fließkommazahlen.
AccelFactor ist der Beschleunigungsfaktor; ebenfalls eine Fließkommazahl.
SHMConfig ist ein boolscher Wert (on/off), um Shared Memory zu aktivieren oder zu deaktivieren. Shared Memory muss für Zugriff auf die synaptics Konfigration durch externe Clienten aktiviert sein. Das gilt auch für synclient, den wir zum individuellen Anpassen der Werte benutzen.
Weitere Optionen werden in der manpage erklärt:
man 5 synaptics
Feineinstellung mittels synclient
synclient bietet die Möglichkeit die Werte wie Druck oder Position der Finger in Echtzeit darzustellen. So ist es möglich, die oben genannten Standardwerte abzustimmen. Dabei ist es notwendig, dass die SHMConfig-Option aktiviert ist.
Der Monitor kann mit folgendem Befehl gestartet werden:
$ synclient -m 100
Dabei aktiviert -m den Monitor und 100 ist das Intervall in Millisekunden, in dem die Werte aktualisiert werden.
Der Monitor ermöglicht Zugriff auf die Zustandswerte des Touchpads. Damit kannst du zum Beispiel den Finger an den linken Rand deines Touchpads bewegen, den dort angegebenen x Wert auslesen und ihn als Wert der Option LeftEdge eintragen, sollte er von dem angegebenen abweichen.
Abkürzungen:
time
- Zeit in Sekunden seitdem der Monitor gestartet ist.
x, y
- x und y Koordinaten des Fingers auf dem Touchpad. Der Ursprung ist die obere, linke Ecke.
z
- Druck-Wert. Dieser Wert repräsentiert den augenblicklichen Druck, den du aufbringst, um auf dem Touchpad zu navigieren.
f
- Anzahl der Finger, die momentan das Touchpad berühren.
w
- Wert für die Fingerbreite
l,r,u,d,m,multi
- Diese Werte repräsentieren den Zustand des linken, rechten, oberen (u, up), unteren (d, down), mittleren und multiplen Buttons, wobei eine Null "nicht gedrückt" und eine Eins "grdrückt" meint.
gl,gm,gr
- Für Touchpads, die ein Gastgerät besitzen, geben diese Werte Auskunft über den Zustand dessen linken, mittleren und rechten Button. Null meint nicht gedrückt, Eins gedrückt.
gdx, gdy
- x und y Koordinaten des Gastgeräts.
Sollte ein Wert konstant Null sein, wird die Option von dem Touchpad nicht unterstützt.
Mit diesen Informationen sollte es einfach sein, die passenden Werte herauszufinden.
Kreisförmiges Scrollen
Kreisförmiges Scrollen ist ein Feature des UNIX synaptics Treibers, das man wahrscheinlich vom iPod kennt. Anstatt (oder zusätzlich zu) horizontalem und vertikalem Scrollen, kannst du damit Scrollen, indem du einen Kreis auf dem Touchpad "zeichnest". Einige Benutzer finden es schneller und präziser.
Um dieses Feature zu aktivieren, müssen folgende Optionen des Eingabegeräts in der Xorg Konfigurationsdatei hinzugefügt werden:
Section "InputDevice" ... Option "CircularScrolling" "on" Option "CircScrollTrigger" "0" ... EndSection
Wie sich vermuten lässt, aktiviert oder deaktiviert die Option CircularScrolling das Feature. Die Option CircScrollTrigger kann auf einen der folgenden Werte gesetzt werden und bestimmt, wo das Scrollen starten muss, damit es als kreisförmig erkannt wird:
0 Alle Seiten und Ecken 1 Obere Seite 2 Obere, rechte Ecke 3 Rechte Seite 4 Untere, Rechte Ecke 5 Untere Seite 6 Untere, Linke Ecke 7 Linke Ecke 8 Obere, Linke Ecke
Besonders nützlich ist es hier einen anderen Wert als Null anzugeben, wenn man kreisförmiges Scrollen in Verbindung mit horizontalem und vertikalem benutzen möchte. Der Scrolltyp wird dann darüber bestimmt, in welcher Ecke des Scrollvorgang gestartet wird.
Um schnell zu scrollen, musst du kleine Kreise in der Mitte des Touchpads malen. Um langsam, und somit präziser, zu scrollen, müssen die Kreise größ sein.
Deaktivieren des Touchpads bei eingesteckter Maus
Mithilfe von udev ist es möglich, das Touchpad automatisch zu deaktivieren, sobald eine externe Maus eingesteckt wird.
Dazu bedienen wir uns der folgenden udev-Regel und speichern diese in der Datei /etc/udev/rules.d/01-touchpad.rules:
ACTION=="add", SUBSYSTEM=="input", ID_CLASS="mouse", RUN+="/usr/bin/synclient TouchpadOff=1" ACTION=="remove", SUBSYSTEM=="input", ID_CLASS="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"
Stelle nun noch sicher, dass die Option SharedMemory aktiviert ist.
Fehlerbehebung
Mein Touchpad ist nicht /dev/input/mouse0
Sollte das der Fall sein, kannst du den Folgenden Befehl benutzen, um Informationen über alle Eingabegeräte zu bekommen:
cat /proc/bus/input/devices
Suche in dieser Liste das Eingabegerät, das den Namen "SynPS/2 Synaptics TouchPad" trägt. Der Handler dieses Eingabegeräts bestimmt den Systempfad.
Beispielausgabe:
I: Bus=0011 Vendor=0002 Product=0007 Version=0000 N: Name="SynPS/2 Synaptics TouchPad" P: Phys=isa0060/serio4/input0 S: Sysfs=/class/input/input1 H: Handlers=mouse0 event1 B: EV=b B: KEY=6420 0 7000f 0
Da der Handler mouse0 und event1 ist, benutzen wir /dev/input/mouse0.
Deaktivieren des Touchpads während des Schreibens
Das Deaktivieren des Touchpads während man schreibt ist ein hilfreicher Trick, den der synaptics Treiber anbietet.
Um das zu erreichen, musst du lediglich folgende Zeile in die .xinitrc einfügen (bevor du den WindowManager startest):
syndaemon -i 2 &
Das -i 2 Argument bestimmt die Zeit in Sekuden, nach der das Touchpad nach einem Tastenanschlag wieder aktiviert wird.
Zusätzlich kann nach Belieben das -t Argument übergeben werden, welches beim Tippen lediglich Klicken und Scrollen deaktiviert. Nicht allerdings das Bewegen des Zeigers mittels Touchpad:
syndaemon -t -i 2 &
Wie gewöhnlich bietet die manpage weitere informationen:
$ man 1 syndaemon
Horizontales Scrollen wird von Firefox fehlinterpretiert
Obwohl dieses Problem keins des synaptics Treibers ist, kommst man wahrscheinlich eher auf die Idee hier zu suchen als bei Firefox.
Um zu verhindern, dass in Firefox die Seite und nicht die History gescrollt wird, müssen folgende Werte gesetzt sein:
mousewheel.horizscroll.withnokey.action = 1 mousewheel.horizscroll.withnokey.sysnumlines = true
Diese können bearbeitet werden, indem du about:config in die Adresszeile eingibst. (Tip enstammt dem GentooWiki.)
Links
Synaptics TouchPad Treiber für Xorg/XFree86 (en): [1]