[[Vorlage(Archiviert, "Aktuellere Hinweise finden sich im [:Howto/Touchpad:]")]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Autostart: Automatischer Start von Programmen] [:Rechte: Rechte für Dateien und Ordner ändern] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./touchpad_indicator_logo.png, 48, align=left)]] Touchpads funktionieren unter Ubuntu im Regelfall anstandslos. Mit dem Synaptics-Treiber steht für beliebige Touchpads sogar ein mächtiges Instrument zur Verfügung, mit dem sich die unterschiedlichsten Funktionen ein- und ausstellen lassen. Die Einrichtung erfolgt in der Regel über [:udev:]-Regeln in den [:xorg.conf.d:]-Dateien oder die grafische Betriebssystem-Oberfläche. = Vorbereitung = Voraussetzung für das Betreiben eines beliebigen Touchpads ist die Installation [1] des X.org-Treibers, der bei der Installation von Ubuntu automatisch installiert worden sein sollte: {{{#!vorlage Paketinstallation xserver-xorg-input-synaptics }}} Ab Ubuntu [:17.04:] wird statt synaptics libinput verwendet: {{{#!vorlage Paketinstallation xserver-xorg-input-libinput }}} = Einrichtung = Der synaptics-Treiber ermöglicht eine sehr detaillierte Konfiguration der Parameter. Eine Beschäftigung damit ist nur dann empfehlenswert, wenn man mit den Konfigurationsmöglichkeiten der [#Grafische-Einstellungen grafischen Oberfläche] nicht zufrieden ist oder das Touchpad nicht wie gewünscht funktioniert. == Ab Ubuntu 17.04 == Die folgenden Schritte gelten lediglich für den synaptics-Treiber, ab 17.04 funktionieren sie aufgrund der libinput-Bibliothek nicht mehr. Eine Anleitung, wie sich die Einstellungen trotzdem ändern lassen, findet sich beispielsweise auf [https://www.ubuntuvibes.com/2017/04/how-to-configure-touchpad-in-ubuntu.html ubuntuvibes.com] {en}. == Vor 17.04 == Die Konfiguration wird über [:udev:] vorgenommen. Dieser Artikel gibt einen kleinen Überblick über die möglichen Parameter. Ausführlich erklärt werden sie im [:man:Handbuch] von `synaptics`. Man kann außerdem im Terminal [2] mit [#Synclient synclient] und [#evtest evtest] experimentieren. == udev == Standardmäßig werden die Einstellungen für das Touchpad (unter anderem) aus der Datei '''/usr/share/X11/xorg.conf.d/50-synaptics.conf''' geladen. Für eine manuelle Konfiguration sollte eine Kopie dieser Datei mit anderem Namen angelegt werden. Die Kopie kann im Terminal [2] mit dem folgenden Befehl angelegt werden. {{{#!vorlage Befehl sudo cp /usr/share/X11/xorg.conf.d/50-synaptics.conf /usr/share/X11/xorg.conf.d/51-synaptics-userdefined.conf }}} Der Dateiname kann bis auf zwei Dinge frei gewählt werden: * Die Zahl am Anfang sollte größer als 50 sein, damit die Datei nach der '''50-synaptics.conf''' geladen wird * Der Dateiname muss mit '''.conf''' enden Die neue Datei kann nun mit einem Editor [3] mit Root-Rechten [6] geöffnet werden. Gebraucht wird nur ein Block der `Section "InputClass"`. Alles andere kann gelöscht werden. Der prinzipielle Aufbau ist wie im folgenden Beispiel: {{{#!code bash Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "1" MatchDevicePath "/dev/input/event*" Option "LeftEdge" "1600" Option "RightEdge" "5400" Option "TopEdge" "1500" Option "BottomEdge" "4500" EndSection }}} Die `Option`-Parameter sind nach den eigenen Bedürfnissen anzupassen. {{{#!vorlage Hinweis Wenn nicht die originale Touchpad-Treiberkonfiguration überschrieben, sondern wie empfohlen mit einer Kopie gearbeitet wird, ist es evtl. besser, '''MatchDriver "synaptics"''' statt '''Driver "synaptics"''' zu verwenden. Die Verwendung von '''MatchDriver''' ist auf jeden Fall erforderlich, wenn nicht auch '''MatchIsTouchpad "1"''' und '''MatchDevicePath ...''' verwendet werden. Andernfalls überschreibt man sich auch andere Eingabe-Treiber, insbesondere den Tastatur-Treiber! }}} Unter Gnome und Cinnamon kann es erforderlich sein, den gnome settings deamon zu deaktivieren, um das Überschreiben der Einstellungen zu verhindern. Er kann deaktiviert werden mittels: 1. Ausführen von dconf-editor 1. Bearbeiten von ''"/org/gnome/settings-daemon/plugins/mouse/"'' bzw. ''"/org/cinnamon/settings-daemon/plugins/mouse/"'' bei cinnamon 1. Haken bei ''"Active"'' entfernen == Parameter == Eine komplette Übersicht und Erklärung der Parameter kann im [:man:Handbuch] von `synaptics` nachgeschlagen werden. Im Folgenden eine Übersicht: === Grundeinstellungen === || Option || Typ || Verhalten || || Device || TEXT || Die Gerätedatei: Automatische Erkennung (Standard) oder Pfad (wird ignoriert, wenn als Protokoll "auto-dev" verwendet wird). || || Protocol || TEXT || Das zu verwendende Protokoll: "autodev" (Standard), "psaux" (Rohdaten) oder "event" (Kernel-Events). || || [#SHMConfig SHMConfig] || 1 / 0 || Nur bei Ubuntu 12.04: Aktiviert die Möglichkeit, das Touchpad im laufenden Betrieb zu konfigurieren. || === Tapping und Klick-Verhalten === || Option || Typ || Verhalten || || FingerHigh || Ganze Zahl || Gibt den Schwellenwert an, ab wann eine Berührung als Druck erkannt wird. || || PalmDetect || 1 / 0 || Erkennt versehentliches Tippen mit der Handfläche als ungültig. || || MaxTapTime || Ganze Zahl || Gibt in Millisekunden an, wie lange eine Berührung sein darf, um als Klick erkannt zu werden. Der Wert "0" schaltet Klicks mit dem Touchpad selbst ganz ab. || || MaxTapMove || Ganze Zahl || Gibt an, wie weit sich eine Berührung bewegen darf, um als Klick erkannt zu werden. || || MaxDoubleTapTime || Ganze Zahl || Gibt in Millisekunden an, wie lange zwei Berührungen nacheinander sein dürfen, um als Doppelklick erkannt zu werden. || || TapButton1 || Ganze Zahl || Gibt an, welcher Mausbutton beim Tippen mit einem Finger in die Mitte des Touchpads ausgelöst wird (Analog für zwei oder drei Finger mit TapButton2 bzw. TapButton3). || || CornerCoasting || 1 / 0 || Ein Element verschieben, indem ein Finger die Ecke geklickt hält und der andere auf dem Touchpad bewegt wird. || === Hot Corners === Einige Touchpads verfügen über sogenannte ''Hot Corners'', mit denen Mausbuttons auf den vier Ecken des Geräts ausgelöst werden können. Der Wert `0` deaktiviert das Verhalten. || Option || Typ || Verhalten || || LBCornerButton || Ganze Zahl || Gibt an, welcher Mausbutton durch Tippen in die linke unteren Ecke ausgelöst wird. || || LTCornerButton || Ganze Zahl || Gibt an, welcher Mausbutton durch Tippen in die linke obere Ecke ausgelöst wird. || || RBCornerButton || Ganze Zahl || Gibt an, welcher Mausbutton durch Tippen in die rechten unteren Ecke ausgelöst wird. || || RTCornerButton || Ganze Zahl || Gibt an, welcher Mausbutton durch Tippen in die rechten obere Ecke ausgelöst wird. || === Cursor-Geschwindigkeit === || Option || Typ || Verhalten || || MinSpeed || Gleitkommazahl || Stellt die Minimalgeschwindigkeit des Zeigers ein. || || MaxSpeed || Gleitkommazahl || Stellt die Maximalgeschwindigkeit des Zeigers ein || || AccelFactor || Gleitkommazahl || Stellt die Beschleunigung von Minimalgeschwindigkeit zu Maximalgeschwindigkeit ein || === Scrollen === || Option || Typ ||<-2 cellstyle="width: 85%;"> Verhalten || || VertTwoFingerScroll || 1 / 0 || Aktiviert das vertikale Scrollen mit zwei Fingern auf dem Touchpad. ||<|2 cellstyle="width: 40%; text-align: left;">'''Hinweis:''' Wenn diese Optionen aktiviert sind, sollten ``VertEdgeScroll`` und ``HorizEdgeScroll`` sinnvoller Weise deaktiviert sein. || || HorizTwoFingerScroll || 1 / 0 || Aktiviert das horizontale Scrollen mit zwei Fingern auf dem Touchpad. || || VertEdgeScroll || 1 / 0 || Aktiviert die Nutzung des rechten Randes als vertikalen Scrollbalken. ||<|2 cellstyle="width: 40%; text-align: left;">'''Hinweis:''' Wenn diese Optionen aktiviert sind, sollten ``VertTwoFingerScroll`` und ``HorizTwoFingerScroll`` sinnvoller Weise deaktiviert sein. || || HorizEdgeScroll || 1 / 0 || Aktiviert die Nutzung des unteren Randes als horizontalen Scrollbalken. || || VertScrollDelta || Ganze Zahl ||<-2> Legt fest, ab welcher Distanz in vertikaler Richtung eine Bewegung als Scrollen anerkannt wird. || || HorizScrollDelta || Ganze Zahl ||<-2> Legt fest, ab welcher Distanz in horizontaler Richtung eine Bewegung als Scrollen anerkannt wird. || || CircularScrolling || 1 / 0 ||<-2> Aktiviert kreisförmiges Scrollen. || || CircScrollTrigger || Ganze Zahl ||<-2> Legt fest, wo das kreisförmige Scrollen begonnen werden muss. 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 Seite; 8 Obere, Linke Ecke || Die Scroll-Einstellungen für [:Firefox:] finden sich in [:Firefox/Mausfunktionen:]. === ClickPad === ClickPads sind Touchpads mit sogenannten integrierten SoftButtons, auf denen ein physikalischer Klick erfolgen kann. || Option || Typ ||<-2 cellstyle="width: 85%;"> Verhalten || || ClickPad || 1 / 0 || Aktiviert die ClickPad-Funktionalität (muss vom Treiber unterstützt werden) || || SoftButtonAreas || "RL RR RT RB ML MR MT MB" || Gibt den Bereich der SoftButtons in ganzen Zahlen an, wobei der erste Buchstabe für R=Rechtsklick oder M=Mittelklick und der zweite für L=Links, R=Rechts, T=Oben und B=Unten steht. || || HasSecondarySoftButtons || 1 / 0 || Aktiviert den sekundären SoftButtons-Bereich des ClickPads || || SecondarySoftButtonAreas || "RL RR RT RB ML MR MT MB" || Gibt den Bereich der sekundären SoftButtons in ganzen Zahlen an (analog zu SoftButtonAreas) || == Synclient == Das Programm '''synclient''' dient zur Konfiguration des Touchpads zur Laufzeit. Für die Verwendung wird bei Ubuntu 12.04 [#SHMConfig SHM] benötigt. Es ist zu beachten, dass synclient nicht alle Optionen kennt, die per [#udev udev-Regel] genutzt werden können (Bsp: HasSecondarySoftButtons). Außerdem kann es passieren, dass es bei der Konfiguration durch synclient zu merkwürdigem Verhalten kommt, was bei der Konfiguration per [#udev udev-Regel] nicht passiert. Synclient kann über ein Terminal [2] mit verschiedenen Parametern aufgerufen werden. Beispiele: Auflisten aller Parameter: {{{#!vorlage Befehl synclient -l }}} Editieren eines Parameters: {{{#!vorlage Befehl synclient AccelFactor=0.15 }}} == evtest == Das Programm '''evtest''' kann genutzt werden, um sich Informationen über Ereignisse anzeigen zu lassen, die das Touchpad auslöst. Das ist bspw. nützlich, um die Koordinaten verschiedener Punkte auf dem Touchpad zu ermitteln. {{{#!vorlage Paketinstallation evtest }}} Es wird im Terminal [2] mit Root-Rechten [6] gestartet: {{{ sudo evtest }}} Es wird eine Liste verschiedener Geräte angezeigt, woraus man per Eingabe der Nummer das Touchpad auswählt. Danach werden einem live alle Ereignisse angezeigt, die das Touchpad auslöst, inklusive der zugehörigen Koordinaten. Beendet werden kann das Programm mit dem Kürzel [[Vorlage(Tasten, STRG+C)]]. = Grafische Einstellungen = == Unity/GNOME 3 == Siehe [:GNOME3_Systemeinstellungen:]. === Pointing devices === Weitere Einstellungsmöglichkeiten bietet das Programm [ubuntuapps:gpointing-device-settings:], der Nachfolger des früheren '''gsynaptics'''. === syndaemon === Als Alternative bietet sich [#Mit-der-Hilfe-von-syndaemon syndaemon] an. Der Vorteil ist, dass dafür kein Qt nachinstalliert und kein veraltetes Ubuntu-Paket installiert werden muss. == KDE == Unter KDE stehen sowohl die internen Einstellungen als auch das Programm synaptiks zur Konfiguration des Touchpads zur Verfügung. Damit lassen sich die wichtigsten Einstellungen für das Touchpad treffen. Synaptiks startet man z.B. in einem Terminal: {{{#!vorlage Befehl synaptiks }}} synaptiks zeigt alle aktuell angeschlossenen Mäuse an und bietet die Möglichkeit, einzelne Mäuse für die automatische Deaktivierung des Touchpads zu ignorieren. Damit kann man den eingebauten Trackball, Trackpoint oder ähnliches, der als Maus identifiziert wird, ausschließen. Tut man dies nicht, wird das Touchpad permanent deaktiviert, was durchaus gewünscht sein kann. == Xfce == Hier nutzt man den [:Xfce-Einstellungen:Einstellungsmanager] von Xfce. == LXDE == Keine integrierte Einstellungsmöglichkeit vorhanden. Bei Bedarf können [#Pointing-devices gpointing-device-settings] oder [#syndaemon syndaemon] verwendet werden. == Problembehebung == Falls in einer der graphischen Oberflächen die Einstellmöglichkeiten deaktiviert sind und stattdessen Fehlermeldungen angezeigt werden (Treiber nicht installiert, X Shared Memory nicht aktiviert), wurde möglicherweise bei Verwendung von Ubuntu 12.04 ``"SHMConfig"`` nicht auf ``"1"`` gesetzt ([#SHMConfig s.o.]) oder der Treiber unterstützt das Touchpad (noch) nicht. = Touchpad ein- und ausschalten = == Mit der Hilfe von syndaemon == === Touchpad beim Schreiben deaktivieren === Am Praktischsten ist es, das Touchpad nur während des Schreibens auf der Tastatur zu deaktivieren. Durch folgenden Befehl kann man das Touchpad während des Schreibens deaktivieren: {{{ syndaemon -i 2 -d #option -i gibt die Sperrzeit in Sekunden an (dezimale Angaben für <1.0s sind möglich) #falls hier eine Fehlermeldung erscheint, zusätzlich die Option -S verwenden }}} Bei Erfolg kann man das auch automatisch bei der Anmeldung geschehen lassen [4]. === Tapping des Touchpads beim Schreiben deaktivieren === Eine nicht so restriktive aber möglicherweise effizientere Variante ist, das Tapping, also Mausklicks, die durch doppelte Berührung des Touchpads ausgelöst werden, während des Schreibens auf der Tastatur zu deaktivieren. So kann man trotzdem schnell zwischen Tastatur und Touchpad wechseln und genauso komfortabel wie gewohnt arbeiten. Der dazu benötigte Parameter ist: {{{ syndaemon -i 2 -d -t #option -i gibt die Sperrzeit in Sekunden an #option -t deaktiviert das Tapping }}} === Touchpad mit Tastenkürzel ein- und ausschalten === Voraussetzung ist, dass folgende Pakete installiert sind [1]: {{{#!vorlage Paketinstallation xbindkeys, universe libnotify-bin, universe }}} Nun wechselt man ins Verzeichnis '''/usr/local/bin/''' und erstellt mit einem Editor [3] und Root-Rechten [6] die Datei '''touchpad.py'''. Der Befehl lautet dazu: {{{#!vorlage Befehl sudo [Editorname] touchpad.py }}} In die leere Datei fügt man Folgendes ein: {{{#!code python #!/usr/bin/python # -*- coding: utf-8 -*- # Benötigt libnotify-bin sowie SHMConfig (unter Ubuntu 12.04) import subprocess import shlex def read_touchpad_config(): proc = subprocess.Popen(['synclient', '-l'], stdout=subprocess.PIPE) config = {} for i, line in enumerate(proc.stdout): # remove first line, which does only contain a headline if i == 0: continue key, _, value = shlex.split(line) config[key] = value return config def toggle_touchpad_state(current_state): subprocess.call(['synclient', 'TouchpadOff=%i' % (not current_state)]) def send_notify(): config = read_touchpad_config() if config['TouchpadOff'] == '1': subprocess.Popen(['notify-send', 'Touchpad', 'Das Touchpad wurde ausgeschaltet', '-t', '2000']) else: subprocess.Popen(['notify-send', 'Touchpad', 'Das Touchpad wurde eingeschaltet', '-t', '2000']) def main(): config = read_touchpad_config() toggle_touchpad_state(config['TouchpadOff'] == '1') send_notify() if __name__ == '__main__': main() }}} Danach speichert man die Änderung. Nun muss die Datei nur noch ausführbar gemacht werden. Das geht mit dem Befehl: {{{#!vorlage Befehl sudo chmod 755 touchpad.py }}} Anschließend kann man über das Tastaturkürzelmenü [Systemeinstellungen; Tastatur; Tastaturkürzel] ein Tastaturkürzel mit dem Befehl `/usr/local/bin/touchpad.py` hinzufügen und ihm eine Tastenkombination zuordnen. === Abschalten des Touchpads ohne Synaptics-Treiber === Bei sehr neuen Laptops und 2in1s kann es vorkommen, dass nur eine Unterstützung via udev geboten wird, da der Synaptics-Treiber nicht geladen werden kann. In dem Fall besteht die Möglichkeit, das Touchpad direkt über den X-Server zu deaktivieren. Mittels des folgenden Bash-Scripts läßt sich dieser Vorgang automatisieren und wie eben beschrieben an ein Tastenkürzel binden. {{{#!code bash #!/bin/bash touchpadstatus=$(xinput list-props 'Synaptics Touch Pad V 103u5' | grep -i enabled | sed -e "s/Device Enabled ([0-9]*)://" | sed -e 's/^[ \t]*//') if [ $touchpadstatus -eq 1 ] ; then notify-send -i /usr/share/icons/gnome/scalable/devices/input-touchpad-symbolic.svg 'Touchpad' 'Touchpad wird deaktiviert!' xinput --disable 'Synaptics Touch Pad V 103u5' else notify-send -i /usr/share/icons/gnome/scalable/devices/input-touchpad-symbolic.svg 'Touchpad' 'Touchpad wird aktiviert!' xinput --enable 'Synaptics Touch Pad V 103u5' fi }}} Im Skript wird nach dem Touchpad "Synaptics Touch Pad V 103u5" gesucht. Dieser Bezeichner muss an das jeweilige Gerät angepasst werden. Den korrekten Namen erhält man mit folgendem Befehl: {{{#!vorlage Befehl xinput }}} Ausgabe: {{{ ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Synaptics Touch Pad V 103u5 id=11 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ HP TrueVision Full HD id=9 [slave keyboard (3)] ↳ HP TrueVision Full HD Rear id=10 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)] ↳ HP Wireless hotkeys id=14 [slave keyboard (3)] ↳ HP WMI hotkeys id=15 [slave keyboard (3)] }}} === Touchpad in Abhängigkeit einer Maus ein- und ausschalten === Um auf Änderungen an der Hardware reagieren zu können, muss eine Regel für [:udev:] geschrieben werden. Dazu wird die Datei '''/etc/udev/rules.d/01-touchpad.rules''' erstellt. Die Datei danach mit einem Editor und Root-Rechten öffnen. Folgende Regel veranlasst udev dazu, das Touchpad mit Hilfe des Programmes '''synclient''' zu aktiveren, wenn eine Maus abgesteckt bzw. zu deaktivieren, wenn eine Maus angeschlossen wird. Hierzu sollte/muss [#Pointing-devices gpointing-device-settings] installiert sein/werden. {{{ ACTION=="remove", SUBSYSTEM=="hid", RUN+="/sbin/modprobe psmouse" ACTION=="add", SUBSYSTEM=="hid", RUN+="/sbin/rmmod psmouse" }}} Siehe hierzu auch [https://blog.cscholz.io/ubuntu-synaptic-touchpad-bei-usb-maus-abschalten/ o-o-s.de] {en}. Dies in die Datei einfügen und abspeichern. Die Regel wird sofort aktiv, sobald das nächste Mal eine Maus an- oder abgesteckt wird. Nun muss man noch unter GNOME 2 über ''"System -> Einstellungen -> Pointing devices"'' im Reiter ''"Allgemein"'' bei abgezogener Maus unter ''"Guest Mouse"'' das Häkchen bei ''"Set guest mouse off"'' entfernen, damit das Touchpad schon beim Systemstart und angesteckter Maus deaktiviert ist. Dies gilt für Synaptics-Touchpads. == Automatische Touchpad-Verwaltung == [[Bild(./touchpad_indicator_logo.png, 48, align=right)]] === Unity === [[Bild(Touchpad-Indicator.png, 500, align=right)]] Wenn [:Unity:] verwendet wird, dann kann man den [launchpad:touchpad-indicator:Touchpad-indicator] {en} benutzen. Dazu muss zuerst ein "Personal Package Archiv" (PPA) hinzugefügt werden. [[Vorlage(PPA, atareao/atareao)]] Nach dem Aktualisieren der Paketquellen kann folgendes Paket installiert werden: {{{#!vorlage Paketinstallation touchpad-indicator, ppa }}} Dann startet man das Programm in einem Terminalfenster: {{{#!vorlage Befehl touchpad-indicator }}} Anschließend auf das Tochpad-Symbol mit rechter Maustaste draufklicken und dann Einstellungen anklicken. Hier nun einen Haken bei "Automatischer Start" und "Touchpad deaktivieren, wenn eine Maus angeschlossen ist" hinzufügen. === GNOME Shell === [[Bild(touchpad-indikator-gnome.png, 300, align=right)]] Für die GNOME Shell existieren die Erweiterungen [https://extensions.gnome.org/extension/131/touchpad-indicator/ Touchpad Indicator] {en} und [https://extensions.gnome.org/extension/935/toggle-touchpad/ Toggle Touchpad] {en}. = Problembehebungen = == Identifikation == Ist das verbaute Touchpad-Modell nicht bekannt, kann man dies in einem Terminal ermitteln [2]: {{{#!vorlage Befehl grep -B 5 mouse /proc/bus/input/devices }}} Erscheint u.a. folgende Ausgabe, besitzt das Gerät ein Synaptics-Touchpad: {{{ I: Bus=0011 Vendor=0002 Product=0007 Version=0000 N: Name="SynPS/2 Synaptics TouchPad" }}} Wird ähnliches wie in folgendem Textfeld ausgegeben, ist ein Alps-Touchpad verbaut: {{{ I: Bus=0011 Vendor=0002 Product=0008 Version=6337 N: Name="AlpsPS/2 ALPS GlidePoint" }}} Sollten nur allgemeine Mauseinträge und insbesondere lediglich ein Eintrag "PS/2 Generic Mouse", jedoch kein spezifischer Touchpad-Block angezeigt werden, so wird das Touchpad offenbar nicht automatisch erkannt. Bei den Modellen "ETPS/2 Elantech Touchpad" und "PS/2 Elantech Touchpad" ist das psmouse-Modul neu zu laden. In einem Terminal folgendes eingeben: {{{#!vorlage Befehl sudo modprobe -r psmouse sudo modprobe psmouse proto=imps }}} Jetzt sollte das Touchpad zunächst funktionieren. Für eine dauerhafte Lösung sollte man folgenden Eintrag in einer anzulegenden Datei '''/etc/modprobe.d/psmouse.conf''' vornehmen: {{{ options psmouse proto=imps }}} Siehe [bug:315882:] und [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/315882/comments/33 Kommentar] {en} Sollte das Modul nach einem Neustart nicht geladen werden, so hilft es {{{#!vorlage Befehl sudo update-initramfs -u }}} auszuführen [2] [6]. (siehe [askubuntu:122906:Modprobe.conf options not loaded on startup] {en} Dennoch kann es unter Trusty vorkommen, dass nun entweder die mittlere Maustaste (zwei-Finger-Geste) oder die rechte Maustaste (physisch) nicht funktionieren. Dann kann es ratsam sein, den Kernel von 16.04 zu installieren (linux-generic-lts-xenial), dort werden Elantech-Touchpads standardmäßig unterstützt. [[Anker(autodev)]] == Tap-to-click funktioniert nicht unter Ubuntu 17.10 == Die Funktion mit einer Berührung des Touchpads links zu klicken (Tap-to-click) wurde unter GNOME abgestellt und ist somit ab Ubuntu 17.10 nicht mehr als Standard verfügbar. Eine Lösung findet sich unter [https://www.ubuntuvibes.com/2017/04/how-to-configure-touchpad-in-ubuntu.html ubuntuvibes.com] {en}. == Rechte Maustaste bei Clickpad funktioniert nicht == Bei neueren Synaptics ClickPads wie zum Beispiel dem Synaptics Touch Pad V 103u5 kann es zu Problemen kommen, die sogenannten SoftButtons als Maustasten richtig zu erkennen. So kann es passieren, dass die rechte Maustaste auch als linke Maustaste agiert. In diesem Fall sind die [#ClickPad ClickPad-Parameter] nicht korrekt gesetzt. ## Die folgende Erklärung ist m.E. bereits durch den obigen Abschnitt Parameter/ClickPad abgedeckt. ## Die folgenden Synaptics-Treiber Properties können ggf. helfen: ## * ClickPad ## * HasSecondarySoftButtons ## * RightButtonAreaLeft ## * RightButtonAreaRight ## * RightButtonAreaTop ## * RightButtonAreaBottom ## ##Die RightButtonArea-Properties stehen nur im Betriebsmodus „ClickPad“ zur Verfügung, daher muss dieser zuerst gesetzt werden. Im einfachsten Fall setzt man die Properties über das Terminal wie folgt: ##{{{#!vorlage Befehl ##synclient ClickPad=1; ##synclient RightButtonAreaLeft=3000 RightButtonAreaRight=4500 RightButtonAreaTop=2200 RightButtonAreaBottom=2600; ##}}} ##Die hier dargestellten Werte gelten für ein ClickPad eines 2in1 Laptops und können je nach Notebook-Modell und Hersteller variieren. Die konkreten Werte können aus der Ausgabe von Konfigurationstool Synclient abgeleitet werden. ##Hierzu ruft man folgende Command im Terminal auf und erhält den darunter abgebildeten Output: ## ##{{{#!vorlage Befehl ##user@Laptop:~$ synclient -l ##Parameter settings: ## LeftEdge = 163 ## RightEdge = 3899 ## TopEdge = 131 ## BottomEdge = 2286 ## FingerLow = 25 ## FingerHigh = 30 ##... ##}}} ##Mit Hilfe der Werte von LeftEdge, RightEdge, TopEdge und BottomEdge lassen sich nun Startwerte für die konkreten Koordinaten der neuen virtuellen rechten Maustaste bestimmten. Leider liegen die Werte für die physikalischen Ränder des Clickpads oft außerhalb ##der eben genannten Werte, jedoch sind diese iterativ schnell durch Ausprobieren ermittelt. Dafür verwendet man das oben gezeigte Synclient-Command bis man ein zufriedenstellendes Property-Quartet gefunden hat. ##Anschließend kann man wie unter [https://wiki.ubuntuusers.de/Touchpad?highlight=synaptics#udev udev] erläutert, die Property-Werte in die X11 Synaptics.conf eintragen, damit die diese beim nächsten Systemstart geladen werden. == Gerätedatei falsch zugewiesen == Wenn das Touchpad in '''/proc/bus/input/devices''' zwar erkannt wird, aber dennoch nicht die erweiterten Funktionen bietet, dann könnte Folgendes die Ursache sein: Gelegentlich tritt das Problem auf, dass in '''/var/log/Xorg.0.log''' der Synaptics-Treiber immer wieder mit '''/dev/input/event1''' starten will, obwohl in der '''xorg.conf''' '''/dev/input/event2''' angegeben ist, weil dort laut '''/proc/bus/input/devices''' das Touchpad bekannt ist. Der Treiber ignoriert die Angabe {{{ Option "Device" "/dev/psaux" }}} wenn es auch ein {{{ Option "Protocol" "auto-dev" }}} gibt, denn `auto-dev` sucht sich automatisch eine Gerätedatei ("Device"). Abhilfe schafft diese Angabe: {{{ Option "Protocol" "event" Option "Device" "/dev/input/event2" }}} Da nun der Synaptics-Treiber tatsächlich an `/dev/input/event2` gebunden ist, funktionieren auch die ganzen Zusatzfunktionen. Wichtig: `psmouse` muss geladen sein, damit das Touchpad gefunden wird. == Gerätedatei wechselt == Gelegentlich kommt es vor, dass udev beim Booten dem Touchpad eine andere Gerätedatei zuweist als dies beim letzten Booten geschehen ist. Dabei kann die folgende Udev-Regel Abhilfe schaffen: {{{ SUBSYSTEM=="input", KERNEL=="event*", SYSFS{name}=="AlpsPS/2 ALPS GlidePoint", SYMLINK+="input/touchpad" }}} Der Name des Touchpads muss natürlich angepasst werden, er steht in '''/proc/bus/input/devices''': {{{ I: Bus=0011 Vendor=0002 Product=0008 Version=7321 N: Name="AlpsPS/2 ALPS GlidePoint" ... H: Handlers=mouse3 event11 }}} Momentan hat das Touchpad also eine Gerätedatei unter '''/dev/input/event11'''. Durch die oben angegebene Udev-Regel wird beim Booten automatisch ein symbolischer Link auf die aktuelle Gerätedatei unter '''/dev/input/touchpad''' abgelegt, der immer auf die korrekte Gerätedatei verweist. Wird dieser Link nun in Konfigurationsdateien verwendet, gibt es keine Probleme mehr, auch wenn das Touchpad beim nächsten Booten einen anderen Handler bekommt. === Neuere Dell-Touchpads seit Ubuntu 10.04 === Die Touchpads der Dell E2-Serie (z.B. E6510, E6410, E4310, ...) werden ebenfalls nur als "PS/2 Generic Mouse" erkannt, leider reicht die oben beschriebene Änderung nicht mehr aus. Abhilfe schafft folgender [https://patchwork.kernel.org/patch/118834/ Patch] {en}. Nachdem dieser auf den Quellcode angewandt wurde, kann das Modul wie oben beschrieben kompiliert und aktiviert werden. Die Touchpads werden damit zwar weiterhin nicht vollständig erkannt (es erscheint z.B. kein "Touchpad"-Tab unter den Mauseinstellungen), aber Dinge wie vertikales Scrollen sollten wieder funktionieren. {{{#!vorlage Hinweis Damit das gepatchte Modul richtig arbeitet, sollten alle evtl. noch vorhandenen Workarounds, wie z.B. der Parameter proto=imps beim Laden des Moduls oder in einer Konfigurationsdatei unter /etc/modprobe.d/ deaktiviert bzw. entfernt werden! }}} Getestet mit einem Dell Latitude E4310 und E5410 unter Maverick. == Touchpad reagiert merkwürdig == Manchmal kann es sein, dass das Touchpad merkwürdig reagiert und ein gewisses Eigenleben an den Tag legt. Der Mauszeiger hüpft hin und her und Verknüpfungen und Links werden einfach geöffnet während die Maus selbstständig drüberfährt. In diesem Fall kann eine Konfiguration des Bootloaders [:GRUB_2:] das Problem beheben. Dazu öffnet man mit einem Texteditor [3] mit Root-Rechten die Datei '''[:GRUB_2/Konfiguration#Die-Datei-etc-default-grub:/etc/default/grub]''' und fügt '''acpi_osi=Linux''' in die Zeile '''GRUB_CMDLINE_LINUX_DEFAULT''' ein. Das kann dann wie folgt aussehen: {{{ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux" }}} Danach führt man ``sudo update-grub`` aus. Nach dem nächsten Neustart sollte das merkwürdige Verhalten des Touchpads damit passé sein. == Ungewolltes Einfügen der Zwischenablage == Sollte es bspw. beim Scrollen am Rand des Touchpads immer wieder dazukommen, dass ungewollt die [:Zwischenablage:] eingefügt wird, dann sind möglicherweiser [#Hot-Corners Hot Corners] auf dieser Seite des Geräts aktiviert und die untere oder obere Ecke ist mit der mittleren Maustaste [[Vorlage(Tasten, mmb)]] belegt. Beheben lässt sich dieses Verhalten lediglich mit dem Deaktivieren der jeweiligen Hot Corner. = Links = * [https://www.linux-apps.com/content/show.php?content=17286 Ksynaptics] {en} * [https://de.osdn.net/projects/gsynaptics/ Gsynaptics] {en} * [sourceforge2:qsynaptics:Qsynaptics] {en} * [iawm::][https://web.archive.org/web/20170103041842/http://tuxmobil.org/touchpad_driver.html X11 Synaptics TouchPad Tipps] {en} * [uf_thread:143095:Touchpad deaktivieren] {en} * [ubuntu:SynapticsTouchpadHowTo:Synaptics Wiki] {en} * [https://linux.die.net/man/5/synaptics Synaptics Manual mit allen Variablen erklärt] {en} # tag: Hardware, touchpad, synaptics, XServer