Wie kann ich das Touchpad während der Eingabe deaktivieren? Unter Ubuntu 16.04 funktioniert syndaemon nicht


42

Ich möchte das Touchpad während der Eingabe deaktivieren. Ich habe es versucht:

syndaemon -i 1 -d -t -K

Es sollte das Antippen und Scrollen auf dem Touchpad für 1 Sekunde deaktivieren und Modifikator + Tastenkombinationen ignorieren, aber nach der Einstellung syndaemonwie beschrieben wird nichts geändert. Das Touchpad ist immer aktiv und es ist sehr nervig.

Ich verwende Ubuntu 16.04 auf einem Dell Precision 5510.


1
Zum Klicken tippen ist während der Eingabe standardmäßig deaktiviert, Cursor bewegen / scrollen nicht. Es gibt eine Möglichkeit, das Touchpad während der Eingabe zu deaktivieren, jedoch nicht über syndaemon / synclient. Durch diese Methode werden jedoch die Einstellungen für Systemeinstellungen> Maus und Touchpad> Touchpad nicht mehr angezeigt. Einige Infos hier - bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/…
Doug

4
Versuchen Sie -syndaemon -i 1.0 -d -K
Doug

1
@doug ich habe es versucht und es hat sich nichts geändert
marsUbuntux

@doug sollte ich versuchen, stattdessen den Synaptics-Treiber und den libinput Xorg-Treiber zu entfernen?
MarsUbuntux

Das Problem dabei ist, dass Sie in den Systemeinstellungen keine Touchpad-Einstellungen haben und diese manuell hinzufügen müssen, wie im Beispiel im Fehlerbericht. Was Sie ursprünglich mit syndaemon versucht haben, war eigentlich die Standardeinstellung, dh. - Deaktivieren Sie das Tippen, um während der Eingabe zu klicken, aber deaktivieren Sie nicht die Cursorbewegung. Ist Tap-to-Click während der Eingabe deaktiviert?
Doug

Antworten:


36

Möglicherweise werden zwei Touchpad-Treiber ausgeführt, bei denen syndaemon dann mit dem falschen interagiert. Ich hatte das gleiche Problem auf einem Dell XPS 13, und dieser Thread ( http://ubuntuforums.org/showthread.php?t=2316240 ) hat mir geholfen.

Wenn Sie auch zwei Touchpad-Geräte sehen, versuchen Sie, eines zu deaktivieren. Da Sie einen anderen Computer haben, können die Anweisungen in dem Link für Sie buchstäblich zutreffen oder auch nicht.

Ausgehend von der genannten Stelle ist das Verfahren:

öffne die Datei /usr/share/X11/xorg.conf.d/51-synaptics-quirks.confals root mit deinem Texteditor Füge folgenden Text ein:

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
Identifier "SynPS/2 Synaptics TouchPad"
      MatchProduct "SynPS/2 Synaptics TouchPad"
      MatchIsTouchpad "on"
      MatchOS "Linux"
      MatchDevicePath "/dev/input/event*"
      Option "Ignore" "on"
EndSection

Entweder starten Sie Xorg neu oder starten Sie Xorg neu mit dem Befehl sudo systemctl restart lightdm Credit Ddarling von ubuntuforums.org.

Seit Januar 2018 hat Dell in seiner Knowledge Base eine offizielle Seite zu Problemen mit Ubuntu Touchpad / Maus . Auf der Seite wird dieses Update zum Deaktivieren des "SynPS / 2 Synaptics TouchPad" beschrieben. Außerdem wird empfohlen, anstelle von Synaptics als Mousepad-Treiber auf libinput zu wechseln.


hatte die gleiche Situation wie Sie:> DLL06E5: 01 06CB: 7A13 Touchpad-ID = 14 [Slave-Zeiger (2)]> SynPS / 2-Synaptics TouchPad-ID = 16 [Slave-Zeiger (2)] Hat das Gleiche wie im Link beschrieben du hast geposted. Es funktionierte! Jetzt funktioniert das Touchpad wie ich will. Vielen Dank
MarsUbuntux

Die dort erwähnte Lösung funktionierte auch für Dell Lattitude 3570.
Chanux

Das ist erstaunlich, ich dachte immer, dass dies nicht reparabel ist. Das spart meinen Laptop. Danke vielmals. Das ist wirklich nützlich.
Realhu

Da diese Antwort mehr Anerkennung verdient, habe ich sie aktualisiert, um etwas mehr Klarheit zu schaffen.
William S

2
Es könnte sich lohnen, die Lösung aus dem Forum in die Antwort zu ziehen, falls der Link wegfällt.
BeepDog

30
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
  • Öffnen Sie die Touchpad-Anzeige und klicken Sie auf das Anzeigesymbol.
  • Sie können die Einstellungen (in der Registerkarte "Aktion") so ändern, dass "Touchpad beim Tippen deaktivieren".

Prost!


1
Dies ist als Gnome-Erweiterung erhältlich: extensions.gnome.org/extension/131/touchpad-indicator
zamnuts

2
hat bei Ubuntu Budgie-Remix 16.04.3
r3wt 14.08.17

um den kommentar von zamnuts zu verdeutlichen: du kannst nur auf die einstellungen zugreifen, wenn du diese als gnome-erweiterung gemäß dem von ihm angegebenen link installierst (oder zumindest war ich nicht in der lage es anders zu machen). Ich habe jedoch keine Möglichkeit, das Touchpad beim Tippen zu deaktivieren.
glS

Ich habe versehentlich unten gewählt (muss geschlafen haben) und kann es jetzt nicht entfernen, es sei denn, die Antwort ist aktualisiert. (Offenbar ist askubuntu.com so eingerichtet.) Ich habe versucht, nur Leerzeichen einzufügen, aber es werden mindestens 8 (verschiedene?) Zeichen benötigt. Wenn Sie die Antwort bearbeiten und Folgendes hinzufügen möchten: "Vorschlag: Stellen Sie die Touchpad-Anwendung auf automatischen Start ein, damit Sie sie nicht bei jeder Anmeldung manuell starten müssen.", Sollte eine Benachrichtigung angezeigt werden, die dann entfernt werden kann meine Stimme runter.
st2000

10

Ich benutze Ubuntu 17.10 und versuchte andere Lösung hier vorgeschlagen meistens funktioniert nicht. Speziell Touchpad-Indikator-Software Wenn in Ubuntu 17.10 gestartet wird, deaktivieren Sie einfach das Touchpad und ich konnte keine Möglichkeit finden, es wieder zu aktivieren, ohne den Laptop neu zu starten. Jetzt habe ich diese Lösung gefunden, die meiner Meinung nach immer noch ziemlich gut funktioniert: benutze einfach diesen Befehl,

synclient PalmDetect = 1

Dies verhindert zumindest ein unnötiges Antippen der Handfläche auf dem Touchpad, was letztendlich eine bessere Lebensdauer ergibt.


Dies ist eine sehr gute Lösung und ein einzeiliger Fix. Ich hatte das schon vorher, aber ich habe es verloren. Danke fürs Schreiben!
Thomas Dignan

Nicht perfekt, hilft aber am 17.10 sehr, danke.
Jack

Das funktioniert einwandfrei. Ich bin überrascht, dass es keine Standardeinstellung ist, aber das ist wohl nur Linux.
Gunchars

@tareqalam: Bleibt bei diesem Befehl ein Neustart bestehen?
Lonnie Best

2

Nachdem ich mir die Optionen für 'xinput' angesehen hatte, fand ich eine effektive und einfache Lösung, um das Synaptics-Touchpad mit Ubuntu 16.04 und Lubuntu 16.04 zu deaktivieren

Gewähren Sie sich in einem Terminalfenster Administratorzugriff, indem Sie "sudo -s" eingeben und Ihr Kennwort eingeben.

Erstellen Sie mit Ihrem bevorzugten Editor, z. B. leafpad oder gedit, eine neue Skriptdatei:

leafpad /usr/local/bin/tpadoff

und füge folgendes ein:

#!/bin/bash
#/usr/local/bin/tpadoff - turn off touchpad
xinput --disable  'SynPS/2 Synaptics TouchPad'

Speichern Sie die Datei und beenden Sie den Editor. Dann geben Sie den Befehl ein:

chmod 755 /usr/local/bin/tpadoff

um die Datei ausführbar zu machen. Sie können das Erstellen einer tpadon-Datei wiederholen, indem Sie "--disable" in "--enable" ändern.

Wenn Sie fertig sind, schließen Sie das Terminalfenster, um den Administratorzugriff zu deaktivieren.

Desktop-Einträge können erstellt werden, indem Sie ein neues Terminalfenster öffnen und Ihren bevorzugten Editor verwenden (in diesem Beispiel verwende ich wieder das Leafpad):

cd Desktop
leafpad tpadoff.desktop

und fügen Sie den folgenden Text ein: [Desktop Entry] Name = TouchPad Off Comment = Deaktivieren Touchpad Exec = / usr / local / bin / tpadoff Terminal = false Type = Application

Speichern Sie die Datei und beenden Sie den Editor. Geben Sie dann den folgenden Befehl ein:

 chmod 775 tpadoff.desktop 

Sie können auch wiederholen, um ein tpadon.desktop zu erstellen, und dabei alle Verweise auf "Aus" in "Ein" ändern.

Wenn Sie fertig sind, haben Sie zwei Möglichkeiten, das Touchpad auszuschalten (und optional einzuschalten), indem Sie auf ein Desktopsymbol doppelklicken oder in einem Terminalfenster "tpadoff" eingeben.

Wenn sich Ihr Touchpad unterscheidet, müssen Sie möglicherweise 'xinput' in einem Terminalfenster verwenden, um die genaue Syntax für Ihr Touchpad zu ermitteln. Bearbeiten Sie dann die Datei '/ usr / local / bin / tpadoff' so, dass sie dem gemeldeten xinput entspricht.


1
Bei der Frage geht es darum, das Touchpad während des Tippens zu deaktivieren (dh automatisch). Wenn Sie also keine direkte Antwort geben, schätze ich die Qualität Ihrer Antwort sehr.
guntbert

2

Nachdem ich monatelang nach einer Lösung gesucht hatte, entschied ich mich, ein einfaches Python-Programm zu schreiben, um das Touchpad während des Tippens zu deaktivieren. Hinzufügen des Programms zu Startup Applications, damit es bei jedem Start des Computers ausgeführt wird. Sie müssen ausführen xinput list, um die ID Ihrer Tastatur zu ermitteln. In meinem Fall ist es 17.

xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=11   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=12   [slave  pointer  (2)]
⎜   ↳ DLL082A:01 06CB:76AF Touchpad             id=14   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=18   [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)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=10   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=13   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=15   [slave  keyboard (3)]
    ↳ Intel HID events                          id=16   [slave  keyboard (3)]
    **↳ AT Translated Set 2 keyboard                id=17   [slave  keyboard (3)]**
    ↳ Dell WMI hotkeys                          id=19   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® Nano Transceiver v1.0    id=20   [slave  keyboard (3)]

Hier ist das Programm

import time 
import subprocess
import threading

def main():
    subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
    p = subprocess.Popen('xinput test 17', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    clickTime = [0, 0]
    def checkTime():
        keys = [37, 50, 62, 64, 105, 108, 133]
        while True:
            out = p.stdout.readline()

            if len(out) < 1:
                break
            key = int(out.split()[-1])
            if key not in keys:
                clickTime[0] = time.time()

    t = threading.Thread(target=checkTime)
    t.start()

    lastTime = 0
    touchpad = True
    while True:
        inactive = time.time() - clickTime[0]
        # print ('inactive for', inactive)
        if inactive > 1:            
            if not touchpad:
                print ('Enable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true', shell=True)
            touchpad = True
        else:
            if touchpad:
                print ('Disable touchpad')
                subprocess.call('gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false', shell=True)
            touchpad = False
        time.sleep(0.5)

    retval = p.wait()

if __name__ == '__main__':
    main()

Eine großartige Lösung, bei der nur die Tastaturaktivität mithilfe von Xinput überwacht und alle 0,5 Sekunden abgefragt wird, ob neue Ereignisse aufgetreten sind. Dies hat nur eine minimale Auswirkung auf die CPU-Aktivität, aber es wäre trotzdem schön, wenn es eine Möglichkeit gäbe, das Verhalten so auszulösen, dass es nur bei Tastaturereignissen auftritt. Gibt es einen Grund, warum Sie bestimmte Tasten wie Pfeil nach links und Leerzeichen ausgeschlossen haben, oder ist es nur eine persönliche Präferenz?
Theferrit32

2

In Ubuntu 19.04 fand ich es (für meine Bedürfnisse) angemessen, die Funktion "Tap to Click" einfach zu deaktivieren:

Bildbeschreibung hier eingeben

Dies hat jedoch zur Folge, dass Sie tatsächlich die Tasten des Touchpads verwenden müssen (hoffentlich haben Sie Tasten), um zu klicken. Für mich ist das ein fairer Kompromiss.

Wenn Sie tatsächlich keine "linken und rechten" Klick-Tasten haben (getrennt von Ihrem Touchpad ), können Sie stattdessen die Empfindlichkeit Ihres Touchpads kalibrieren . Das habe ich von Peter Hutterer in diesem Fehlerbericht erfahren .

Ich wünschte, Laptop-Hersteller hätten keine Laptops mit nicht verkleinerten Touchpads hergestellt. Diese Touchpads, die mit den Tastaturtasten in einer Ebene liegen (statt zurückzutreten), sind ein Designfehler.

Bitte teilen Sie den Herstellern Ihres Laptops die Probleme mit, die sie durch dieses schlechte Design verursacht haben. Andernfalls machen sie dies in zukünftigen Modellen blindlings weiter.


1
Bestätigt, dass dies sehr gut funktioniert. Mir ist eine Kleinigkeit aufgefallen, die ich ignorieren kann: Wenn meine fetten Hände während des Tippens das Touchpad berühren, kann ich sehen, dass sich der Mauszeiger ein wenig bewegt, aber es ist zumindest nicht so, dass er an einer anderen Stelle klickt, was sehr zeitaufwendig ist. Idealerweise könnte ich immer noch das Tap-To-Click-Verhalten verwenden, aber zumindest auf meinem Laptop funktionierte diese Funktionalität sowieso nie so gut. Der Kompromiss ist also in der Tat fair.
15.

1

Für die Kubuntu-Nutzer ...

Auf Kubuntu 16.04 - um das Touchpad während des Tippens zu deaktivieren, musste ich das Kontrollkästchen "Nur Tippen und Scrollen deaktivieren" unter Einstellungen-> Eingabegeräte-> Touchpad-> Touchpad aktivieren / deaktivieren deaktivieren. Es mag offensichtlich erscheinen, aber ...


Ubuntu 16.04 arbeiten
Nazmul Hasan

Keine solche Unteroption unter Ubuntu 18.04, weder in Settings noch in Tweaks.
DSKRVK

0
xinput list |
while read line; do
    if [[ $line == *Touchpad* ]]; then
        tid="$(echo $line | cut -d '=' -f 2 | cut -c 1-2)"
        xinput set-prop $tid "Device Enabled" 0
    fi
done

oder prägnanter

xinput list | sed -nre 's/^.*Touchpad.*\sid=(\S+).*$/\1/p' | xargs -I{} -- xinput set-prop {} 'Device Enabled' 0

Bitte
korrigieren

1
Willkommen bei Ask Ubuntu! Ich empfehle , diese Antwort zu bearbeiten , um sie mit spezifischen Details über die Funktion dieses Befehls (dieser Sequenz) zu erweitern. Ein einfacher Befehl (Sequenz) wird selten als Antwort betrachtet. (Siehe auch Wie schreibe ich eine gute Antwort ?, um allgemeine Hinweise zu erhalten, welche Arten von Antworten auf Ask Ubuntu als am wertvollsten erachtet werden.)
David Foerster
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.