Gibt es eine Möglichkeit, den Touchpad-Treiber neu zu starten?

64

Ich benutze Ubuntu 14.04 auf einem Laptop, normalerweise mit einer externen USB-Maus und Tastatur und Bildschirm verbunden. Manchmal ziehe ich jedoch alle Stecker aus der Steckdose, bewege den Laptop und verwende ihn weiterhin mit der eingebauten Tastatur, dem Bildschirm und dem Touchpad.

Gelegentlich funktioniert das Touchpad nicht mehr (aber wenn ich die USB-Maus einstecke, funktioniert die USB-Maus). Obwohl dies sehr selten vorkommt, ist es sehr ärgerlich, da ich einen Neustart durchführen muss, wenn das Touchpad wieder funktionieren soll.

Gibt es eine Problemumgehung, die ich versuchen kann, z. B. das Beenden eines Prozesses, der automatisch neu gestartet wird, oder eines Befehls, durch den der Touchpad-Treiber neu gestartet oder aktualisiert wird? Kann irgendetwas das Touchpad "aufwecken", ohne dass es neu gestartet werden muss?

Matteo
quelle
Manchmal kann das Problem durch Herunterfahren des Laptop-Bildschirms und erneutes Öffnen behoben werden.
Illusionist

Antworten:

32

Ich hatte dieses Problem wiederholt mit einem Laptop, bis ich bemerkte, dass das Touchpad dieses Computers einen eigenen Ein / Aus-Schalter hatte, den ich versehentlich getroffen haben musste. Insbesondere hat der Schalter nicht geholfen, ihn wieder einzuschalten. Ich habe nur darauf geachtet, nicht darauf zu drücken, und nach kurzer Zeit habe ich eine externe drahtlose Tastatur mit integriertem drahtlosem Touchpad verwendet. Seitdem habe ich dieses Problem nicht mehr gehabt.

UPDATE: (Hinweis: Link unten defekt, Lösung oben) Seit dem Posten dieser "Lösung" habe ich einen Kommentar gepostet, der anscheinend den Bedürfnissen des Benutzers entsprach. Nachdem ich gerade erst erfahren habe, dass die Kommentare nur vorübergehend bleiben und automatisch gelöscht werden, veröffentliche ich den Inhalt des folgenden nützlichen Kommentars erneut, damit er für andere gespeichert wird:

Ich teilte die "Lösung", die für mich arbeitete. Heute ist mir der Gedanke gekommen, nach Lösungen zu suchen, die Ihrer ursprünglichen Frage besser entsprechen, und ich habe den folgenden Link gefunden. Es ist nicht das, was ich persönlich für "bequem" halte, aber es könnte zumindest eleganter sein, wenn man es zu einem Skript macht. Ich fand dies (siehe unten) - Gyropyge 25. September um 20.06 Uhr

Drücken Sie Alt+ F2und geben gksudo modprobe -r psmouseGeben Sie das Kennwort, drücken Enterund dann die Taste Alt+ F2erneut für die folgende Eingabe gksudo modprobe psmouseund drücken Sie dannEnter

Kreisel
quelle
Nicht mein Fall, aber
Matteo
2
Ich teilte die "Lösung", die für mich arbeitete. Heute ist mir der Gedanke gekommen, nach Lösungen zu suchen, die Ihrer ursprünglichen Frage besser entsprechen, und ich habe den folgenden Link gefunden. Es ist nicht das, was ich persönlich für "bequem" halte, aber es könnte zumindest eleganter sein, indem man es zu einem Skript macht. tuxtrix.com/2010/06/…
gyropyge
Vielen Dank! Ich habe Ihre Antwort als akzeptierte Antwort markiert, obwohl die Antwort tatsächlich in Ihrem Kommentar enthalten ist (nun, ich hatte keine Gelegenheit, sie zu testen, aber es scheint, als wäre es die Lösung).
Matteo
Vielen Dank für die Berücksichtigung meines Nachdenkens. Auch ich könnte in Zukunft von dieser Lösung profitieren, da meine Lösung, nicht auf eine besonders einfach zu bedienende Taste am Rand des Touchpads zu drücken, nicht besonders zufriedenstellend war.
Gyropyge
1
Der Link funktionierte für mich, aber nur für den Fall: Wenn Sie keine Mausbewegung auf Ihrem Laptop (Touchpad) haben, drücken Sie die Tastenkombinationen Alt + F2 und geben Sie gksudo modprobe -r psmouse ein. Geben Sie das Passwort ein, drücken Sie die Eingabetaste und Drücken Sie dann erneut Alt + F2, um die folgende gksudo modprobe psmouse
G Trawo
58

Ich habe einen Weg gefunden, dies zu tun:

Öffnen Sie zunächst ein Terminal und drucken Sie alle Eingabegeräte aus, um die ID zu ermitteln, die Sie für das zu deaktivierende Eingabegerät benötigen. Geben Sie im Terminal Folgendes ein:

xinput --list

Weiter: Beachten Sie, dass in einer langen Spalte für jedes Eingabegerät id = X steht. Sie möchten die Geräte-ID ermitteln, die dem zu deaktivierenden Eingabegerät entspricht (möglicherweise etwas, das wie "Touchpad" klingt). Ersetzen Sie dann X im folgenden Befehl durch die ID-Nummer des Eingabegeräts, das Sie deaktivieren möchten:

xinput disable X

Hinweis: Wenn Sie sich nicht sicher sind, welche Geräte-ID Sie zum Deaktivieren des Touchpads verwenden sollen, können Sie dies herausfinden, indem Sie zufällige IDs testen und prüfen, ob Ihr Mauspad noch funktioniert. Stellen Sie sicher, dass Sie nichts Wichtiges tun. Speichern Sie Ihre gesamte Arbeit und starten Sie den Computer neu, wenn Sie beispielsweise die Tastatur deaktivieren. (Möglicherweise haben Sie Probleme beim erneuten Aktivieren, wenn Sie nicht in das Terminal eingeben können.

Dann musst du diese letzte Zeile ausführen (Danke, dass du diesen Arch Stanton erwischt hast!)

xinput enable X

Grund: Ich brauchte dringend eine Antwort auf dieses Problem, da die Probleme, die ich mit meinem Touchpad hatte, jegliche Arbeit unmöglich machten. Plötzlich wechselt mein Touchpad in einem zufälligen Moment, wenn ich meinen Laptop verwende, scheinbar ohne Grund in einen "Spezialmodus". Das bloße Bewegen eines Fingers auf meinem Touchpad würde dazu führen, dass der Bildschirm rollt, anstatt den Mauszeiger tatsächlich auf dem Bildschirm zu bewegen, sodass es unmöglich war, die Maus dazu zu bringen, über etwas in broswer zu schweben, ohne einen erheblichen Koordinierungsaufwand zu betreiben, um den Rollbildschirm zu berücksichtigen und nicht bewegliche Maus. Ich wollte einen Weg finden, ohne das Notebook neu zu starten, um das Touchpad zurückzusetzen. Auf der positiven Seite behebt das Zurücksetzen des Touchpads mit der oben beschriebenen Methode tatsächlich mein Problem.

Update: Um das Zurücksetzen des Touchpads noch einfacher zu machen, habe ich einen Hotkey für die oben aufgeführten Befehle erstellt. Wenn mein Touchpad auf "fritz" geht, drücke ich einfach die Tastenkombination "Strg + Super + R" und setze es für mich zurück. Schnell und einfach.

Hier ist wie:

-Erstelle eine Datei in deinem Homeverzeichnis und bezeichne sie als "touchpad-reset.sh".

- Geben Sie in diese Datei zwei der drei (die letzten beiden) oben aufgeführten Befehle ein, außer dass Sie eine X-ID-Nummer für das Gerät verwenden, da diese durch zusätzliche Peripheriegeräte (möglicherweise ??) geändert werden kann dies stattdessen:

Hier ist eine Ausgabe von meinem Computer im Terminal, die diesen Befehl verwendet:

xinput --list

Ergebnis:

Virtual core pointer                        id=2    [master pointer  (3)]⎜   
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]⎜   
   ↳ Genius 2.4G Wireless Mouse                 id=10   [slave  pointer  (2)]⎜   
   ↳ MSFT0001:00 06CB:75BD UNKNOWN              id=13   [slave  pointer  (2)]⎜   
   ↳ ELAN Touchscreen                           id=12   [slave  pointer  (2)]⎜ 

- Nun, was Sie tun, ersetzen Sie das X (das zuvor eine ID war) für xinput disable X und xinput enable X durch den Namen, der dieser ID in einfachen Anführungszeichen entspricht. Wenn Sie dies beispielsweise für id = 13, mein Touchpad-Gerät, ausführen möchten, verwenden Sie aus dem obigen Beispiel:

xinput disable 'MSFT0001:00 06CB:75BD UNKNOWN'
xinput enable 'MSFT0001:00 06CB:75BD UNKNOWN'

- Jetzt deaktivieren Sie die Funktion anhand des Namens anstelle der ID-Nummer, wobei sich eine ID möglicherweise im Laufe der Zeit ändert und Sie dann ein anderes Gerät deaktivieren und aktivieren.

Schließlich müssen Sie die Berechtigungen erteilen, um diese Datei ausführbar zu machen. Führen Sie diesen Befehl mit Ihrem Arbeitsverzeichnis im Terminal als Ausgangsverzeichnis aus (in dem Sie die Datei erstellt haben):

chmod +x your_script_name.sh

Führen Sie die folgenden Schritte aus, wenn Sie diese Datei mit den entsprechenden Befehlen erstellt haben und sicherstellen, dass sie sich in Ihrem Ausgangsverzeichnis befindet:

  1. Drücken Sie die Super-Taste (Windows-Taste auf dem PC) auf der Tastatur, um die Seitenleiste für die Einheit aufzurufen. Geben Sie "Systemeinstellungen" ein und drücken Sie die Eingabetaste.
  2. Suchen Sie die Option "Tastatur" unter "Hardware" und klicken Sie darauf.
  3. Wählen Sie die Registerkarte "Verknüpfungen".
  4. Wählen Sie im linken Fenster "Benutzerdefinierte Verknüpfungen".
  5. Klicken Sie unten in der Mitte auf die Schaltfläche +.
  6. Ein Fenster sollte auftauchen, in dem Sie nach einem Beschreibungsnamen und einem einzugebenden Befehl gefragt werden.
  7. Machen Sie den Namen so etwas wie "Touchpad zurücksetzen"
  8. Verwenden Sie diesen Befehl: gnome-terminal -x ./name_Ihres_Skripts.sh
  9. Klicken Sie auf "Übernehmen"
  10. Jetzt sollte Ihre Verknüpfung aufgelistet sein und ganz rechts sollte "Deaktiviert" oder ein anderer Müll stehen. Klicken Sie auf diesen Text und stellen Sie sich darauf ein, eine Tastenkombination wie Strg + Super + R zu erstellen.
  11. Sobald Sie diese Tastenkombination vorgenommen haben, sind Sie fertig.

Glückwunsch! Habe Spaß.

user3499524
quelle
Dann musst du rennen xinput enable X.
Arch Stanton
Ah-ha! Habe ich vergessen, das dort einzutragen? Schießen. Danke, dass du das hinzugefügt hast. Genau wie ich, um es am Ende zu blasen.
user3499524
Ahah vergiss, du hast mich gerettet :-)
Arch Stanton
xinput liste + deaktivieren + aktivieren funktioniert
super
2
enable/ disableAuch nur mit ID arbeiten statt Gerätenamen
Zlatev
50

So starten Sie den Touchpad-Treiber des Laptops neu:

Öffnen Sie das Terminal durch Drücken von Ctrl+ Alt+ T und führen Sie den folgenden Befehl aus

sudo  modprobe -r psmouse

dann

sudo modprobe psmouse

Ich habe hier die lösung gefunden und es gibt auch lösung für eine usb maus

maruf
quelle
Perfektes Finden. Mein Zeiger bleibt in einer Position stecken, die mir bei der Lösung geholfen hat.
Manikandan Arunachalam
1
Das funktionierte für mich - mein Touchpad hörte nach einiger Zeit auf zu funktionieren. Ich habe ein ALPS-Touchpad auf Dell, auf dem Xubuntu 16.04
Ur Ya'ar
sudo modprobe psmouse proto=impsarbeitete für mich auf einem Asus UX303UB + Ubuntu 16.04.2 aber ohne Multitouch-Funktionen. Irgendwie muss ich von einem Tag zum anderen diesen Befehl ausführen, um ein Touchpad zu haben, nie wieder mit Gesten.
Pablo A
Bei einem Dell Precision hat das nicht funktioniert.
Cerin
Diese Lösung hat bei mir nicht funktioniert. Ubuntu 18.04 mit "SYNA8004: 00 06CB: CD8B Touchpad", Lenovo X1 Carbon Gen 7. Ich bekomme ein bissiges Touchpad-Verhalten, nachdem ich aus dem Ruhezustand zurückgekehrt bin.
Samstag,
9

Wenn Sie nicht wissen, welches Modul Ihr Touchpad verwendet, können Sie es mit ein wenig Fingerspitzengefühl herausfinden

grep -iA2 touchpad /proc/bus/input/devices

für mich kehrt das zurück

N: Name="Elan Touchpad"
P: Phys=
S: Sysfs=/devices/platform/80860F41:03/i2c-11/i2c-ELAN0100:00/input/input10

Dann sehen Sie, welche Kernelmodule in dieser Kategorie verfügbar sind:

ls $(find /lib/modules/$(uname -r) -type d -name mouse)

was für mich zurückkehrt

appletouch.ko  bcm5974.ko  cyapatp.ko  elan_i2c.ko  gpio_mouse.ko  
psmouse.ko  sermouse.ko  synaptics_i2c.ko  synaptics_usb.ko  vsxxxaa.ko

Querverweis der beiden - in meinem Fall sieht es so aus, als wäre das Modul für mein Touchpad elan_i2c.ko

Bearbeiten: Ich habe kürzlich herausgefunden, wie ich den Namen des Treibers mit einem verschachtelten Befehl zuverlässig ermitteln kann, was terdon für mich sehr vereinfacht hat

grep -hriPo 'DRIVER=\K.+' /sys 2>/dev/null | while read driver; do [ -e /lib/modules/$(uname -r)/kernel/drivers/input/mouse/"$driver"* ] && echo $driver; done

Um zu überprüfen, ob Sie das richtige Modul haben, testen Sie den Befehl, um es aus dem Kernel zu entladen:

sudo modprobe -r elan_i2c

Das Touchpad stirbt sofort, wenn Sie das richtige Modul erhalten haben, sodass Sie es leicht durch Ausprobieren finden können. Laden Sie es mit neu

sudo modprobe elan_i2c

Dadurch wird das Modul effektiv neu gestartet. Sie können die beiden Befehle wie folgt zusammen ausführen:

sudo modprobe -r elan_i2c && sudo modprobe elan_i2c

Ich muss dies gelegentlich tun, wenn ich aus dem Suspend-Modus zurückkomme.

Zanna
quelle
7

Wenn Sie ein Synaptics-Touchpad haben:

synclient TouchpadOff=0
AnteBios
quelle
2
Yeyaaaaa! Ubuntu 18.04 LTS mit xfce und es funktionierte wie ein Zauber mit Synaptics!
Azatar
6

Hier ist, was für mich gearbeitet hat, ist [Zenbook ASUS UX501VW]:

sudo  modprobe -r elan_i2c
sudo  modprobe elan_i2c

Und mein fehlendes Touchpad ist wieder da.

Denis Walrave
quelle
Vielen Dank! funktioniert für zenbook ux305ca unter ubuntu 16.04 lts.
Chao
4

Was vielleicht einfacher war und was für mich funktionierte, war das Neuladen des Treibers im Kernel. Der folgende Code findet zuerst den Namen des Kerneltreibers, der das Touchpad verwaltet, entlädt es dann mit rmmodund lädt es erneut mit modprobe. Beachten Sie, dass Sie root sein müssen, um diese Befehle ausführen zu können sudo su. Führen Sie sie daher zuerst aus.

> lsmod | grep touch
hid_multitouch         20480  0 
> rmmod hid_multitouch 
> modprobe hid_multitouch
ChrisR
quelle
2

Für mich ging es bei Kernel 4.13.0-46 unter Asus für ELAN1200 nicht um das Neuladen, elan_i2csondern um den hid-multitouchTreiber:

sudo modprobe -r hid-multitouch && sudo modprobe -r hid-multitouch
pholat
quelle
Mein Asus-Laptop verwendet einen versteckten Treiber für BEIDE Tastaturen und Touchpads, daher muss dieser in einer einzigen cmd-Zeile eingegeben werden. Andernfalls können Sie nicht nach modprobe -r eingeben.
Tomofumi
1

Versuch auch gksudo /etc/init.d/hotplug restart

qwr
quelle
1

Eine Bash-Befehlszeile zum Zurücksetzen eines Touchpads (basierend auf der Antwort von @ user3499524):

id=`xinput --list |grep -i touchpad | cut -f2 | cut -f2 -d=` && xinput disable $id && xinput enable $id && echo "The touchpad has been reset."
NeverMinded
quelle
1

Die einfachste Lösung könnte sein:

  • Stecken Sie eine Maus ein
  • Gehen Sie zu Systemeinstellungen >> Maus und Touchpad
  • Schalten Sie das Touchpad auf ON
Anthony Britton
quelle
Willkommen bei Ask Ubuntu! ;-) Lösungen müssen nicht geeky sein, um gut zu sein!
Halte
0

Illusionist.

Ich verstehe, dass Sie Ubuntu 14.04 ausführen; Meins ist etwas anders (wie folgt):

Dieser Laptop: Acer Swift 1 (EUFI); x86-64-Bit.

Betriebssystem: Ubuntu 16.04 LTS.

Touchpad-Typ: SYNA7DAB: 00 06CB: 7DAC-Touchpad (synaptics_i2c.ko).

Lösung bereitgestellt : https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

Erstellen Sie ein Bash-Dateiskript (wie vorgeschlagen: Erstellen Sie einen Symlink zum Bash-Skript und ordnen Sie ihm einen Hotkey zu). Der Inhalt sollte wie folgt sein:

#!/bin/bash

declare -a STATES=(1 0)
DEVICE=$(xinput list --name-only | grep Touchpad)
STATE=$(xinput list-props "$DEVICE" | grep 'Device Enabled' | sed 's/^.*:[ \t]*//')
xinput set-prop "$DEVICE" 'Device Enabled' ${STATES[$STATE]}

Stellen Sie sicher, dass es ausführbare Berechtigungen hat!

sudo chmod +x path/filename.sh

Diese Lösung funktioniert hervorragend für mich. Hoffentlich trifft das auch auf Sie zu.

Persönliche Angaben zu Ihrem Problem (möglicherweise zutreffend für Ihre Situation)

Aus irgendeinem unbekannten Grund: Das Touchpad dieses Laptops wird automatisch funktionsunfähig (es wird jedoch weiterhin AFAIK ausgeführt). Ich habe versucht, die optische USB-Maus zu entfernen. noch in das gleiche Problem laufen.

xinput --list dump:

larvae@MST-Laptop:~/Desktop$ xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ SYNA7DAB:00 06CB:7DAC Touchpad            id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Logitech USB Receiver                     id=9    [slave  keyboard (3)]
    ↳ HD WebCam                                 id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                          id=14   [slave  keyboard (3)]

grep -iA2 touchpad / proc / bus / eingabe / geräte dump:

larvae@MST-Laptop:~/Desktop$ grep -iA2 touchpad /proc/bus/input/devices
N: Name="SYNA7DAB:00 06CB:7DAC Touchpad"
P: Phys=i2c-SYNA7DAB:00
S: Sysfs=/devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-SYNA7DAB:00/0018:06CB:7DAC.0003/input/input11

Zusammenfassung der Lösung ( bereitgestellt von UBUNTU ): https://help.ubuntu.com/community/SynapticsTouchpad/ShortcutKey

Daniel B
quelle
0

Ich nenne dieses Skript mouse-reset. Es werden modprobealle Module entfernt und anschließend in den Antworten auf diese Frage aufgelistet:

#!/bin/bash

modules=(psmouse hid_multitouch elan_i2c)

for mod in "${modules[@]}"; do
    sudo rmmod "$mod" 2> /dev/null
    sudo modprobe -v "$mod" 2> /dev/null
done
Tom Hale
quelle
0

Ich verwende ein Apple Macbook Retina Pro. Das Touchpad funktioniert manchmal nicht mehr. Die meisten der oben genannten Methoden finden den Treiber nicht, da der Name weder Maus noch Touch enthält.

So finden Sie den Touchpad-Treiber in meinem Fall bcm5974:

MacBookPro:~$ xinput list-props 11
Device 'bcm5974':
    Device Enabled (147):   1`
...

Dann entladen und neu laden:

MacBookPro:~$ sudo modprobe -r bcm5974
MacBookPro:~$ sudo modprobe bcm5974

Gelöst

user118684
quelle
11 ist die spezifische Gerätenummer in Ihrem Fall. Sie müssen diese Nummer finden, xinput --listbevor Sie sie hier verwenden können.
Yaron