Comment désactiver un pavé tactile en utilisant la ligne de commande?

36

Est-il possible de désactiver un pavé tactile en utilisant une commande de terminal?

    
posée Peng Wu 16.10.2011 - 21:22
la source

5 réponses

47

Pour désactiver le pavé tactile:

synclient TouchpadOff=1

Pour le réactiver:

synclient TouchpadOff=0
    
réponse donnée stedotmartin 16.10.2011 - 21:39
la source
20

Il existe au moins deux méthodes (que je connais) que vous pouvez essayer.

synclient

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

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

Activer le pavé tactile: synclient TouchpadOff=0

Désactivez 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 aider.

Détection de palme active ON: synclient PalmDetect=1

Détection de la paume de la main OFF: synclient PalmDetect=0

En général, vous pouvez configurer n'importe quelle propriété de votre pavé tactile Synaptics par synclient property=value . Où la propriété est l'une des propriétés disponibles affichées par synclient -l

Liens pour d'autres lectures

ubuntu - wiki help comminity - SynapticsTouchpad

archlinux - wiki - Synptics Touchpad

demander à Ubuntu - Comment puis-je faire en sorte que mes paramètres de 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 un peu 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 l'identifiant = 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 Device Enabled . Par conséquent, pour l'activer ou le désactiver, tapez:

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

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

Détection de palme active ON: xinput set-prop <id> "Palm Detection" 1

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

Pour interroger les propriétés disponibles: xinput list-props <id> OR xinput list-props <full-name> , cela devrait être assez similaire à synclient -l .

Liens pour d'autres lectures

ubuntu - wiki - input

NOTE

Lors de la définition des propriétés via xinput ou synclient , les propriétés ne sont pas définies sur l'autre outil. Ils ne sont pas non plus placés dans l'unité centrale de contrôle.

    
réponse donnée bremme 30.09.2014 - 01:50
la source
4

synclient et xinput ne fonctionneront pas si vous utilisez l'environnement gnome (ou unity, cinnamon), car il va remplacer les paramètres, donc si vous voulez que synclient ou xinput reprenne ces paramètres, vous devrait désactiver cette première:

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

    apt-get install dconf-editor
    
  2. exécuter dconf-editor

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

  4. logout ou reboot

Cela devrait faire fonctionner synclient ou xinput .

    
réponse donnée realhu 29.01.2016 - 14:10
la source
1
  1. Affichez 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
    
réponse donnée D.Snap 06.06.2016 - 05:55
la source
1

J'ai écrit un code python pour pouvoir utiliser la technique xinput sans effectuer tout le travail manuel. Copyleft, AS-IS, aucune garantie, utilisation à vos risques et périls. Fonctionne très bien pour moi: et si vous utilisez gnome, placez-le simplement sur un raccourci clavier tel que Ctrl Shift T .

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

import commands
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 = commands.getoutput("xinput").split("\n")
    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 = commands.getoutput("""xinput list-props %d""" % tpad_id).split('\n')
    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 #%d Device Enabled %d" % (tpad_id, status)
    commands.getoutput("""xinput set-prop %d "Device Enabled" %d""" % (tpad_id, status))

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

main()
    
réponse donnée World Python Developer 28.12.2016 - 06:48
la source

Lire d'autres questions sur les étiquettes