45 votes

Comment désactiver un pavé tactile à l'aide de la ligne de commande ?

Existe-t-il un moyen de désactiver un pavé tactile à l'aide d'une commande de terminal ?

62voto

squareborg Points 9837

Pour désactiver le pavé tactile :

synclient TouchpadOff=1

Pour le réactiver :

synclient TouchpadOff=0

28voto

bremme Points 381

Il existe au moins deux méthodes (à ma connaissance) que vous pouvez essayer.

synclient

Si votre ordinateur portable est équipé d'un pavé tactile Synaptics (ou ALPS), vous pouvez en effet utiliser les fonctions suivantes synclient comme l'a déjà mentionné Shutupsquare. Je travaille sous Ubuntu 14.04 et sur ma machine, il a été installé par défaut.

Tester si synclient est installé : synclient -V (il doit indiquer le numéro de version)

Allumez le pavé tactile : synclient TouchpadOff=0

Désactiver le pavé tactile : synclient TouchpadOff=1

Je ne l'ai pas testé moi-même, mais si votre objectif est de ne pas bouger la souris lorsque vos bras reposent sur le pavé tactile, cela pourrait vous aider.

Activer la détection de la paume de la main : synclient PalmDetect=1

Désactiver la détection de la paume : synclient PalmDetect=0

En général, vous pouvez configurer n'importe quelle propriété de votre pavé tactile Synaptics de la manière suivante synclient property=value . Lorsque le bien est l'un des biens disponibles indiqués par synclient -l

Liens pour une lecture plus approfondie

ubuntu - comminity help wiki - SynapticsTouchpad

archlinux - wiki - Touchpad Synaptics

ask ubuntu - Comment faire en sorte que mes paramètres synclient soient pris en compte ? - Ubuntu

xinput

Si vous ne voulez pas ou ne pouvez pas utiliser synclient, vous pouvez également utiliser xinput . La procédure est assez similaire.

liste tous les périphériques xinput : xinput

Une partie de la sortie pourrait ressembler à ceci :

 Virtual core pointer                          id=2    [master pointer  (3)]
    Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
    Logitech USB-PS/2 Optical Mouse           id=13   [slave  pointer  (2)]
    ETPS/2 Elantech Touchpad                  id=17   [slave  pointer  (2)]

Dans ce cas particulier, mon pavé tactile a pour identifiant id=17 et son nom complet est "ETPS/2 Elantech Touchpad".

La commande pour définir une propriété est xinput set-prop . La propriété permettant d'activer ou de désactiver le pavé tactile est la suivante Device Enabled Pour l'activer ou le désactiver, il faut donc taper :

Allumez le pavé tactile : xinput set-prop <id> "Device Enabled" 1 (où <id> est l'identifiant de votre appareil, dans mon cas 17)

Désactiver le pavé tactile : xinput set-prop <id> "Device Enabled" 0

Activer la détection de la paume de la main : xinput set-prop <id> "Palm Detection" 1

Désactiver la détection de la paume : xinput set-prop <id> "Palm Detection" 0

Pour interroger les propriétés disponibles : xinput list-props <id> OU xinput list-props <full-name> Cela devrait ressembler à ce que l'on trouve dans synclient -l .

Liens pour une lecture plus approfondie

ubuntu - wiki - input

NOTE

Lorsque vous définissez des propriétés à l'aide de l'un ou l'autre des outils suivants xinput ou synclient les propriétés ne sont pas définies pour l'autre outil. Elles ne sont pas non plus définies dans unity-control-center.

7voto

Evan Points 1569

synclient y xinput ne fonctionnera pas si vous utilisez l'environnement gnome (ou unity, cinnamon), car il écrasera les paramètres, donc si vous voulez synclient ou xinput pour prendre en charge ces paramètres, vous devez d'abord le désactiver :

  1. installer dconf-editor s'il n'est pas installé :

    apt-get install dconf-editor
  2. courir dconf-editor

    dconf-editor 
  3. ouvrir le répertoire /org/gnome/settings-daemon/plugins/mouse/ ou /org/cinnamon/settings-daemon/plugins/mouse/ et décochez la case de l'option active .

  4. logout ou reboot

Cela devrait permettre de synclient ou xinput travail.

2voto

J'ai écrit un morceau de code Python (maintenant mis à jour de python2 à python3) pour que vous puissiez utiliser la fonction xinput sans faire tout le travail manuel. Copyleft, AS-IS, pas de garantie, utilisation à vos propres risques. Cela fonctionne très bien pour moi : et si vous utilisez gnome, il suffit de le faire correspondre à un raccourci clavier comme CtrlShiftT .

#!/usr/bin/python3
# -*- coding: utf-8 -*-
'''Program to toggle Touchpad Enable to Disable or vice-versa.'''

from subprocess import check_output
import re

def current_id():
    """ Search through the output of xinput and find the line that has the
    word Touchpad.  At that point, I believe we can find the ID of that device.
    """

    props = check_output(["xinput"]).decode("utf-8").splitlines()
    match = [line for line in props if "Touchpad" in line]
    assert len(match) == 1, "Problem finding Touchpad string! %s" % match

    pat = re.match(r"(.*)id=(\d+)", match[0])
    assert pat, "No matching ID found!"

    return int(pat.group(2))

def current_status(tpad_id):
    """Find the current Device ID
        - it has to have the word Touchpad in the line."""

    props = check_output(
        ['xinput','list-props',str(tpad_id)]).decode("utf-8").splitlines()
    match = [line for line in props if "Device Enabled" in line]
    assert len(match) == 1, "Can't find the status of device #%d" % tpad_id

    pat = re.match(r"(.*):\s*(\d+)", match[0])
    assert pat, "No matching status found!"
    return int(pat.group(2))

def flop(tpad_id, status):
    """Change the value of status, and call xinput to reverse that status."""
    if status == 0:
        status = 1
    else:
        status = 0

    print("Changing Device #",tpad_id," Device Enabled to ",status)
    props = check_output(['xinput',
                          'set-prop',
                          str(tpad_id),
                          'Device Enabled',
                          str(status)])

def main():
    """Get curent device id and status, and flop status value."""
    tpad = current_id()
    stat = current_status(tpad)
    flop(tpad, stat)

main()

1voto

D.Snap Points 303
  1. Dressez la liste de vos périphériques d'entrée :

    xinput list

    Dans mon cas, j'ai cette liste :

    Virtual core XTEST pointer                  id=4
    Logitech M510                               id=11   
    ETPS/2 Elantech Touchpad                    id=15
  2. Désactivez votre pavé tactile en passant l'ID

    xinput set-prop 15 "Device Enabled" 0

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X