Touchpad-Problem: Cursor springen beim Tippen (Ubuntu 14.04), Syndaemon hilft nicht

22

Ich weiß, dass es noch andere Fragen zu diesem Problem gibt, aber ich kann nicht die richtige Optimierung finden, um es zu beheben.

Das Touchpad erkennt immer noch meine Handflächen, während ich tippe. Es ist WIRKLICH ärgerlich, vor allem, weil es meine Produktivität bei meiner brandneuen Dell XPS Gold Edition beeinträchtigt. Es handelt sich um eine neue Ubuntu 14.04-Installation, und ich möchte nicht herumspielen und Skripte und andere Dinge ausprobieren, die die Erkennung des Touchpads endgültig beeinträchtigen würden.

Ich habe versucht, syndaemon zu verwenden, da es anscheinend die beste Lösung für diesen Fehler ist:

syndaemon -i 0.5 -d

Wenn ich es auf dem Terminal versuche, scheint es zu funktionieren, solange ich mich nicht von meiner Sitzung abmelde.

Wenn ich den Befehl jedoch in das Dienstprogramm für Startprogramme eingebe und einen Neustart durchführe, friert der Cursor nach ein oder zwei Minuten immer ein. Also muss ich den Befehl mit meiner Tastatur deaktivieren und bin zurück zu diesem sehr nervigen Palmerkennungs-Zeug. Irgendeine Lösungsmöglichkeit?

Einige Infos zu meinem System:

greguti@greguti-XPS13-9333:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen    id=9    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                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)]
    ↳ Integrated_Webcam_HD                      id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]
greguti@greguti-XPS13-9333:~$ xinput list-props "SynPS/2 Synaptics TouchPad" | grep -i finger
    Synaptics Finger (288): 25, 30, 0
    Synaptics Two-Finger Pressure (294):    282
    Synaptics Two-Finger Width (295):   7
    Synaptics Two-Finger Scrolling (298):   1, 1
greguti
quelle
Diese Webseite kann helfen: xps13-9333.appspot.com/#touchpad
greguti
@kos Ich glaube nicht, dass dies ein Duplikat ist. Bei dieser Frage geht es darum, das Problem des springenden Cursors zu vermeiden, und bei den folgenden Antworten geht es nicht darum, wie die Einstellungen des Synchronisationsclients erhalten bleiben, obwohl dies möglicherweise eine mögliche Lösung für das Problem darstellt. Beachten Sie auch, dass das OP sagte, er habe versucht, den Befehl in Startanwendungen zu platzieren, sodass es zweifelhaft ist, ob die Antworten in der vorgeschlagenen Frage das Problem trotzdem lösen würden.
Seth
@Seth Dies ist ein Fehler, der in späteren Versionen von Synaptics behoben wurde (siehe Antwort von OP). Deshalb hielt ich es für eine gute Idee, zu schließen, um die Einstellungen von Synaptics "richtig" zu ändern. Allerdings erwähnt OP nicht wirklich, wie synclientes verwendet werden soll ... Also ja, meine schlechte, das Schließen als Duplikat wäre verwirrend. Entfernen meiner engen Abstimmung.
Kos

Antworten:

16

Ich konnte dieser Antwort mit My XPS 13 und Ubuntu 14.04 nicht folgen.

Es wurde jedoch eine schnelle Lösung gefunden, um das Touchpad während der Eingabe zu deaktivieren:

sudo apt-get install gpointing-device-settings

dann renne

gpointing-device-settings

Überprüfen Sie : Aktivieren Palm Erkennung und Bewegung Bereich: Grenzen zu etwa 10% von Anfang.

valk
quelle
Das funktioniert leider nicht. Sobald ich dies tue, erhalte ich eine Fehlermeldung: Ein X-Fehler ist aufgetreten. Der Fehler war BadAtom (ungültiger Atom-Parameter). Ein X-Fehler ist aufgetreten. Der Fehler war BadAtom (ungültiger Atom-Parameter). und das touchpad funktioniert genauso schlecht. Tatsächlich muss ich diese Bearbeitung deswegen mehrmals
korrigieren
1
Dieser Paketname hat keinen Installationskandidaten mehr in 16.04
CPBL
8

Als ich meine eigene Frage beantwortete, fand ich schließlich die Lösung.

Der Schuldige scheint der Synaptics-Treiber selbst zu sein. Unabhängig davon, welches Frontend oder welchen Befehl Sie verwenden, funktioniert es nicht, solange der Treiber nicht gepatcht ist.

Dank der wunderbaren Webseite http://xps13-9333.appspot.com/#touchpad und einigen E-Mails mit dem Besitzer konnte ich endlich diesen schrecklichen Fehler beheben!

Also hier ist der Prozess in einer Nussschale, beziehen Sie sich auf die Webseite oben für die Details.

Die Aufgabe besteht darin, den Synaptics-Treiber zu entfernen, dann die Quellen des Upstream-Treibers herunterzuladen, ihn für eine ordnungsgemäße Handflächenerkennung zu patchen und dann die Datei mit den richtigen Einstellungen für das Touchpad zu erstellen. Die folgenden Schritte funktionieren gut auf meinem Dell XPS "Gold Edition" (xps-9333) mit Ubuntu 14.04.

1. ZUERST ZU ÜBERPRÜFENDE DINGE

Ich hatte während des Vorgangs ein Problem , weil in meinem System kein libevdev-dev- Paket vorhanden war (ich vermute, es ist nicht mit Ubuntu 14.04 installiert?). Versuchen Sie also zuerst, dieses Paket zu installieren:

sudo apt-get install libevdev-dev

Wenn es auf Ihrem System noch nicht vorhanden ist, sollte es 3 Pakete installieren: libevdev-dev , libevdev2 {a} und libjs-jquery {a}

Außerdem muss das GIT-Paket installiert werden, damit der Quellcode des Upstream-Synaptics-Treibers von den GIT-Servern heruntergeladen werden kann.

sudo apt-get install git

Sobald sich diese Pakete auf Ihrem System befinden, können Sie diesen Befehlen folgen.

2. ENTFERNEN SIE DEN IST-SYNAPTICS-TREIBER UND INSTALLIEREN SIE DEN UPSTREAM ONE

Geben Sie die folgenden Befehle in das Terminal ein (drücken Sie die Eingabetaste und überprüfen Sie die Ausgänge nach jedem Befehl):

sudo aptitude purge xserver-xorg-input-synaptics

sudo aptitude build-dep xserver-xorg-input-synaptics

Der nächste Befehl verwendet GIT. Wenn Sie es zum ersten Mal verwenden, werden Sie nach einer E-Mail-Adresse und einem Spitznamen gefragt, um den Vorgang abzuschließen (dh den Quellcode für den Treiber herunterzuladen). Sie können das im Terminal tun, es ist ein ziemlich einfacher Vorgang. Die Ausgabe des Befehls sagt Ihnen, was Sie eingeben müssen, Sie müssen nur den Anweisungen folgen. Ich habe GIT noch nie zuvor benutzt und konnte diesen Schritt sehr einfach bewältigen.

sudo git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-synaptics

Nun geben Sie in den Ordner ein, in den der Quellcode heruntergeladen wurde:

cd xf86-input-synaptics

Wenn Sie den Patch für den neuen Treiber herunterladen, wird der Treiber durch Aktivieren der Handflächenerkennung und der Fingerbreite auf dem Touchpad behoben.

wget -q -O - http://xps13-9333.appspot.com/root/0001-Don-t-use-finger-width-for-the-palm-detection.patch | git am

Erstellen Sie nun den neuen Treiber aus dem gepatchten Quellcode (geben Sie nach jeder Zeile die Eingabetaste ein, jeder Befehl erzeugt ziemlich viel Ausgabe):

./autogen.sh --prefix=/usr
make
sudo make install

Ihr neuer Synaptics-Treiber mit dem Patch, der die Erkennung von Handflächen ermöglicht, ist jetzt auf Ihrem System installiert, Sie müssen jedoch noch die Einstellungen vornehmen, die dies ermöglichen.

3. 20-SYNAPTICS-CONF-DATEI ERSTELLEN UND BEARBEITEN

Erstellen Sie jetzt als letztes eine Datei mit den Einstellungen für das Touchpad. Diese Datei wird bei jedem Systemstart gelesen.

Zuerst erstellen Sie den richtigen Ordner:

mkdir -p /etc/X11/xorg.conf.d/

Anschließend laden Sie die vom Eigentümer der zuvor erwähnten Webseite bereitgestellte Datei herunter und kopieren sie in den soeben erstellten neuen Ordner:

sudo wget -q -O /etc/X11/xorg.conf.d/20-synaptics.conf http://xps13-9333.appspot.com/root/etc/X11/xorg.conf.d/20-synaptics.conf

Schließlich können Sie synclient verwenden, um den optimalen Wert des Parameters PalmMinZ anzugeben (geben Sie eine Zahl anstelle von "VALUE" ein, ich schlage 100 vor, was für mich sehr gut funktioniert).

synclient PalmMinZ=VALUE

Am Ende dieses Prozesses sollten Sie die neue Datei 20-synaptics.conf in /etc/X11/xorg.conf.d haben und die Datei sollte so aussehen:

Meine 20-synaptics.conf-Datei

4. VERGESSEN SIE NICHT, NEU ZU BOOTEN :)

greguti
quelle
Nachdem ich diesen Rat
befolgt habe
... und habe es zurückbekommen, indem ich den Synaptics-Touchpad-Treiber aus dem Software-Center
installiert habe
Dies behebt das nervige Touchpad auf meinem Toshiba Chromebook 2, auf dem Ubuntu 14.04 über eine Crouton-Chroot ausgeführt wird. Der Git-Patch scheint nicht mehr zu funktionieren, aber die Installation des neuesten Synaptics-Treibers von der Quelle hat mein Problem behoben.
Josh
6

Keine der Antworten funktionierte für eine Neuinstallation von Ubuntu 14.04.3 auf einem XPS12, zumindest nicht, bis ich das psmouse-Modul auf die schwarze Liste gesetzt habe. Die folgenden Anweisungen beziehen sich im Wesentlichen auf diesen Befehlssatz für eine XPS13-Maschine :

Überprüfen Sie, ob Ihr Touchpad nur den I2C-Bus und nicht den ps2-Modus verwendet. Starten Sie ein Terminal und geben Sie

 xinput 

Der virtuelle Kernzeiger sollte nur zwei Elemente enthalten:

 Virtual core XTEST pointer
 DLL0665:01 06CB:76AD UNKNOWN 

Wenn der Name ein drittes Element mit einem PS2-Touchpad enthält, sollten Sie das psmouse-Modul auf eine schwarze Liste setzen, indem Sie diese Zeilen hinzufügen zu /etc/modprobe.d/blacklist.conf:

# remove SynPS/2 Synaptics Touchpad because we want the mouse to work over IC2b
blacklist psmouse

Dann ruf an

sudo update-initramfs -u

Nach dem Neustart hat die Option Disable touchpad while typingin System Settings/ Mouse & Touchpadihren Job wie erwartet ausgeführt.

Kommunikative Algebra
quelle
4
Nachdem Sie Ihre Schritte ausgeführt haben, wurde die praktische Option "Touchpad während der Eingabe deaktivieren" für mich immer noch nicht angezeigt, aber zumindest konnte ich endlich so syndaemonarbeiten, wie in anderen Antworten angegeben. Das heißt, Ihre Antwort war wirklich hilfreich und ein notwendiger Schritt für mich. Vielen Dank! Dies ist auf einem Dell Inspiron 5559 und Ubuntu 16.10.
Egmont
3
Ich habe diese Anweisungen befolgt und es funktioniert in Ubuntu 16.10. Wie @egmont sagte, gibt es keine Option zum Deaktivieren des Touchpads, aber ich habe kein Problem mehr mit meinem Touchpad, während ich danach tippe.
Ekangas
1
Ich kann bestätigen, dass es für Ubuntu 16.04.2 mit Kernel-Version 4.10 funktioniert. Die GUI wird nicht angezeigt, aber jetzt funktioniert syndaemon wie vorgesehen. Vielen Dank!
andrebrait
2

Wenn Sie syndaemonzu Ihren Startup-Anwendungen hinzufügen , müssen Sie außerdem in den Einstellungen für Maus und Touchpad das Kontrollkästchen "Während der Eingabe deaktivieren" deaktivieren. Wenn Sie dies nicht tun, stören die beiden Mechanismen und führen dazu, dass das Touchpad nicht mehr wie beschrieben funktioniert. Dies funktioniert bei mir ab Lager 14.04 (Lenovo T410 Laptop) ohne Aktualisierung des Treibers.

simonp
quelle
0

Das von greguti erwähnte Upgrade wurde nun in das allgemeine Kernel-Upgrade für Linux auf 3.1.6+ aufgenommen: siehe http://xps13-9333.appspot.com/#touchpad .

Die allgemeinen Anweisungen zum Aktualisieren des Kernels für Ubuntu finden Sie hier unter http://ubuntuhandbook.org/index.php/2014/08/install-upgrade-linux-kernel-3-16/ . Für ein generisches 64-Bit-System habe ich sie unten kopiert:

cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.deb

Und dann neu starten.

Nach dem Neustart meines Computers folgte ich den Anweisungen von greguit und änderte den PalmMinZ-Parameter. Ich habe auch 100 benutzt.

synclient PalmMinZ=VALUE

Ich habe auch die Trackpad-Einstellung wieder aktiviert, um sie während der Eingabe über die GUI zu deaktivieren.

Ich habe danach nur 10-15 Minuten mit dem Computer verbracht, aber bisher ist die ganze Erfahrung viel besser.

Andy Wickert
quelle
Als ich dort war, versuchte ich ein Upgrade auf den 3.16-Kernel, der Cursor verschwand einfach! Ich musste zum "alten" 3.13-Kernel zurückkehren ... Heute habe ich das Upgrade von 14.04 LTS auf 14.10 Utopic Unicorn angewendet, es ergab sich der gleiche Fehler: Der Cursor ist einfach nicht mehr hier, ich habe alles damit zu tun Auf der Tastatur ist es ein echtes Problem. Konnte noch keine Lösung finden ... SEHR, SEHR nervig.
Greguti
Ich weiß nicht, warum sich Ihr Computer so anders verhalten hat als ich, aber mein erster (einziger!) Gedanke war, dass ich nach dem Auspacken zuerst das Ubuntu-Betriebssystem auf 14.04 aktualisiert und dieses Kernel-Upgrade angewendet habe. Vielleicht hat sich etwas an Ihrem Computer geändert, seit es frisch war, was einen Konflikt verursacht ...?
Andy Wickert
Ich hatte eine ähnliche Erfahrung wie Greguti, aber ich hatte vergessen, Linux-Kernel-Extras zu installieren.
Jeff Ober
funktioniert auch nicht, keine der beiden lösungen. Ich habe den vorgeschlagenen Treiber kompiliert, installiert, kein Erfolg. Ich habe mich definitiv für die Deaktivierung des Touchpads entschieden, ist echt nervig und schade, dass ein eintausend Dollar teurer Laptop diesen blendend offensichtlichen Fehler hat.
user260881