Comment puis-je désactiver le pavé tactile lors de la frappe? Sur Ubuntu 16.04, syndaemon ne fonctionne pas

42

Je souhaite désactiver le pavé tactile lors de la frappe. J'ai essayé ceci:

syndaemon -i 1 -d -t -K

Il convient de désactiver le toucher et le défilement sur le pavé tactile pendant 1 seconde et d'ignorer les combinaisons modificateur + touches, mais après le réglage syndaemondécrit ci -dessus, rien n'est changé. Le touchpad est toujours actif et très ennuyeux.

J'utilise Ubuntu 16.04 sur un Dell Precision 5510.

marsUbuntux
la source
1
Appuyer pour cliquer est désactivé par défaut lors de la saisie, le déplacement du curseur / défilement ne l’est pas. Il existe un moyen de désactiver le pavé tactile lui-même lors de la frappe, mais pas via syndaemon / synclient. Cependant, cette méthode entraînera la disparition de Paramètres système> Souris et pavé tactile> Paramètres du pavé tactile. Quelques infos ici - bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/…
doug
4
Essayez -syndaemon -i 1.0 -d -K
doug
1
@doug j'ai essayé et ça n'a rien changé
marsUbuntux
@doug devrais-je essayer de supprimer le pilote synaptics et le pilote libinput Xorg à la place?
marsUbuntux
Le problème, c’est que vous n’aurez plus de paramètres de pavé tactile dans les paramètres système et vous devrez les ajouter manuellement, comme dans le rapport de bogue. Ce que vous essayiez avec syndaemon à l’origine était en fait le défaut, c’est-à-dire. - Désactivez le toucher pour cliquer pendant la saisie, mais ne désactivez pas le déplacement du curseur. Est-ce que vous pouvez cliquer sur désactivé pendant que vous tapez?
Doug

Réponses:

36

Vous pouvez avoir deux pilotes de pavé tactile en cours d'exécution, où syndaemon interagirait ensuite avec le mauvais. J'ai eu le même problème sur un Dell XPS 13, et ce fil ( http://ubuntuforums.org/showthread.php?t=2316240 ) m'a aidé.

Si vous voyez également deux périphériques tactiles, essayez d’en désactiver un. Comme vous avez un ordinateur différent, les instructions contenues dans le lien peuvent ou non être littéralement applicables pour vous.

À partir du poste auquel il est fait référence, la procédure est la suivante:

ouvrez le fichier en /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conftant que root avec votre éditeur de texte Insérez le texte suivant:

# 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

Redémarrez ou redémarrez Xorg avec la commande sudo systemctl restart lightdm Credit va à ddarling de ubuntuforums.org.

Depuis janvier 2018, Dell dispose d'une page officielle dans sa base de connaissances sur les problèmes de pavé tactile / souris sous Ubuntu . La page décrit ce correctif pour désactiver le "TouchPad SynPS / 2 SynPS / 2" et suggère également de passer à libinput plutôt que synaptics en tant que pilote du tapis de souris.

vanadium
la source
avait la même situation que vous:> DLL06E5: 01 06CB: 7A13 ID pavé tactile = 14 [pointeur esclave (2)]> SynPS / 2 id Pavé tactile Synaptics = 16 [pointeur esclave (2)] a fait la même chose que décrite dans le lien vous avez posté. Ça a marché! Maintenant, le touchpad fonctionne comme je le souhaite. Merci vous
marsUbuntux
La solution mentionnée ici fonctionnait également pour Dell Lattitude 3570.
Chanux
C'est incroyable, j'ai toujours pensé que ce n'était pas réparable. Cela économise mon ordinateur portable. Merci beaucoup. C'est vraiment utile.
realhu
Étant donné que cette réponse mérite plus de crédit, j'ai mis à jour pour clarifier un peu plus.
William S
2
Il pourrait être utile de tirer la solution du forum dans la réponse, au cas où le lien disparaîtrait.
BeepDog
30
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
  • Ouvrez l'indicateur du pavé tactile et cliquez sur son icône.
  • Vous pouvez modifier les préférences (dans l'onglet Action) pour "désactiver le pavé tactile lors de la saisie"

À votre santé!

cpn
la source
1
C'est disponible en tant qu'extension de gnome: extensions.gnome.org/extension/131/touchpad-indicator
zamnuts le
2
n'a pas fonctionné pour moi sur Ubuntu Budgie-Remix 16.04.3
r3wt
pour clarifier le commentaire de zamnuts: vous ne pouvez accéder aux préférences que si vous l'installez en tant qu'extension de gnome selon le lien qu'il a fourni (ou du moins, je n'ai pas pu le faire autrement). Je n'ai toutefois pas la possibilité de désactiver le pavé tactile en tapant.
glS
J'ai voté par inadvertance (je devais dactylographier) et je ne peux plus le supprimer sauf si la réponse est mise à jour. (Evidemment, askubuntu.com est configuré de cette manière.) J'ai essayé d'ajouter uniquement des espaces, mais un minimum de 8 caractères (différents?) Est nécessaire. Si vous souhaitez modifier la réponse et ajouter quelque chose comme "Suggestion: définissez l'application de pavé tactile pour qu'elle se lance automatiquement de sorte que vous n'ayez pas besoin de la démarrer manuellement à chaque connexion.", Alors je devrais voir une notification et pouvoir ensuite la supprimer. mon vote vers le bas.
st2000
10

J'utilise Ubuntu 17.10 et ai essayé différentes solutions suggérées ici ne fonctionne généralement pas. Un logiciel spécialement conçu pour le pavé tactile lors du démarrage dans Ubuntu 17.10 vient de désactiver le pavé tactile et je ne pouvais trouver aucun moyen de le réactiver sans avoir à redémarrer l'ordinateur portable. maintenant, j'ai trouvé cette solution qui, je pense, fonctionne encore plutôt bien: utilisez cette commande,

synclient PalmDetect = 1

Cela évitera au moins le tapotement inutile de la paume sur le pavé tactile, ce qui donnera finalement une vie meilleure.

Tareqalam
la source
C'est une très bonne solution et c'est une solution d'une ligne. J'avais ça avant mais je l'ai perdu. Merci d'avoir posté!
Thomas Dignan
Pas parfait, mais aide beaucoup le 17.10, merci.
Jack
Cela fonctionne parfaitement. Je suis surpris que ce ne soit pas un défaut, mais ce n'est que Linux, je suppose.
Gunchars
@tareqalam: Cette commande persiste-t-elle au redémarrage?
Lonnie Best
2

Après avoir examiné les options de 'xinput', j'ai trouvé une solution simple et efficace pour désactiver le pavé tactile Synaptics avec Ubuntu 16.04 et Lubuntu 16.04.

Dans une fenêtre de terminal, donnez-vous un accès administratif en entrant "sudo -s" et en entrant votre mot de passe.

En utilisant votre éditeur préféré, tel que leafpad ou gedit, créez un nouveau fichier script:

leafpad /usr/local/bin/tpadoff

et insérez le texte suivant:

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

Enregistrez le fichier et quittez l'éditeur. Puis entrez la commande:

chmod 755 /usr/local/bin/tpadoff

rendre le fichier exécutable. Vous pouvez répéter la procédure pour créer un fichier tpadon. Il suffit de remplacer le paramètre - --disable 'par' --enable '.

Une fois terminé, "quittez" la fenêtre du terminal pour désactiver l'accès administrateur.

Les entrées du bureau peuvent être créées en ouvrant une nouvelle fenêtre de terminal et en utilisant votre éditeur favori (dans cet exemple, j'utilise de nouveau le bloc-notes):

cd Desktop
leafpad tpadoff.desktop

et insérez le texte suivant: [Entrée du bureau] Nom = Pavé tactile désactivé Commentaire = Désactiver le pavé tactile Exec = / usr / local / bin / tpadoff Terminal = false Type = Application

Enregistrez le fichier et quittez l'éditeur. Puis entrez la commande suivante:

 chmod 775 tpadoff.desktop 

Vous pouvez également répéter pour créer un tpadon.desktop, en remplaçant toutes les références "off" par "on".

Une fois l’opération terminée, vous aurez deux façons d’éteindre (et éventuellement d’activer) le pavé tactile en double-cliquant sur une icône du bureau ou en entrant «tpadoff» dans une fenêtre de terminal.

Si votre pavé tactile est différent, vous devrez peut-être utiliser 'xinput' dans une fenêtre de terminal pour trouver la syntaxe exacte de votre pavé tactile. Editez ensuite le fichier '/ usr / local / bin / tpadoff' pour qu'il corresponde à ce que xinput a signalé.

jakester
la source
1
La question concerne la désactivation du pavé tactile lors de la frappe (c'est-à-dire automatiquement). Ainsi, même si vous ne donnez pas de réponse directe, j'apprécie beaucoup la qualité de votre réponse.
Guntbert
2

Après des mois de recherche d’une solution, j’ai décidé d’écrire un simple programme Python pour désactiver le pavé tactile lors de la frappe. Ajout du programme aux applications de démarrage pour qu’il soit exécuté à chaque démarrage de votre ordinateur. Vous devez exécuter xinput listpour déterminer l'ID de votre clavier, dans mon cas, il s'agit de 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)]

Voici le programme

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()
tunght_53
la source
Solution géniale: il suffit de surveiller l'activité du clavier à l'aide de xinput et d'interrogation pour déterminer si de nouveaux événements se produisent toutes les 0,5 seconde. Cela a un impact assez minime sur l'activité du processeur, mais il serait néanmoins utile de pouvoir déclencher le comportement uniquement sur des événements de clavier. Y a-t-il une raison pour laquelle vous avez exclu certaines touches telles que la flèche vers la gauche et l'espace, ou s'agit-il simplement d'une préférence personnelle?
theferrit32
2

Dans Ubuntu 19.04, j’ai trouvé qu’il était suffisant (pour mes besoins) de désactiver simplement la fonctionnalité "Appuyez pour cliquer":

entrez la description de l'image ici

Cependant, la conséquence de ceci est que vous devrez réellement utiliser les boutons du pavé tactile (nous espérons que vous en avez) pour faire votre clic. Pour moi, c'est un compromis équitable.

Si vous ne possédez pas de boutons "gauche et droit" (séparés de votre pavé tactile), vous pouvez plutôt calibrer la sensibilité de votre pavé tactile . J'ai appris cela de Peter Hutterer, dans ce rapport de bogue .

Je souhaite que les fabricants d'ordinateurs portables ne fabriquent pas d'ordinateurs portables avec des pavés tactiles non-enfoncés. Ces pavés tactiles qui sont au niveau des touches du clavier (au lieu de receded) sont un défaut de conception.

Veuillez informer les fabricants de vos ordinateurs portables des problèmes qu’ils vous ont causés à cause de cette mauvaise conception. Sinon, ils continueront aveuglément à le faire dans les modèles futurs.

Lonnie Best
la source
1
Confirmé cela fonctionne très bien. J'ai remarqué une petite chose que je peux ignorer: lorsque mes gros doigts touchent le pavé tactile lors de la frappe, je peux voir le curseur de la souris bouger un peu, mais au moins, il ne permet pas de cliquer ailleurs, ce qui est une perte de temps considérable. Idéalement, je serais toujours capable d'avoir le comportement Tap To Click, mais au moins sur mon ordinateur portable, cette fonctionnalité n'a jamais très bien fonctionné de toute façon. Le compromis est donc juste.
bgoodr
1

Pour les utilisateurs de Kubuntu ...

Sur Kubuntu 16.04 - pour désactiver le pavé tactile en tapant, je devais désélectionner la case à cocher "Désactiver les taps et le défilement uniquement" sous paramètres-> périphériques d'entrée-> pavé tactile-> Activer / désactiver le pavé tactile. Cela peut sembler évident mais ...

utilisateur1806949
la source
ubuntu 16.04 au travail
Nazmul Hasan le
Aucune sous-option de ce type sur Ubuntu 18.04, ni Paramètres ni Tweaks.
dimanche
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

ou plus concise

xinput list | sed -nre 's/^.*Touchpad.*\sid=(\S+).*$/\1/p' | xargs -I{} -- xinput set-prop {} 'Device Enabled' 0
Nando
la source
s'il vous plaît corriger le formatage
Pierre.Vriens
1
Bienvenue sur Ask Ubuntu! Je recommande de modifier cette réponse pour la développer avec des détails spécifiques sur ce que fait cette commande (séquence). Une commande en clair (séquence) est rarement considérée comme une réponse. (Voir aussi Comment puis-je écrire une bonne réponse? Pour des conseils généraux sur les types de réponses considérés comme les plus utiles sur Ask Ubuntu.)
David Foerster le