web-dev-qa-db-fra.com

Désactivation du pavé tactile après une suspension / reprise

Il y a plusieurs questions sur la désactivation des pavés tactiles sur les ordinateurs portables sur ce site, mais aucun d'entre eux ne semble tout à fait répondre à ma question.

Je veux désactiver mon pavé tactile (je l'ai fait) et le garder désactivé après une suspension/reprise (j'échoue ici).

J'utilise Ubuntu 12.04 sur un ordinateur portable chinois bon marché.

J'ai un fichier exécutable/home/yannick/bin/notouch qui ressemble à ceci:

xinput set-prop `xinput list | grep "ImPS/2 Generic" | awk '{print $7}' | sed "s/id=//"` "Device Enabled" 0

Le script exécute xinput une fois pour obtenir le numéro d'identification de (ce qui s'avère être) mon pavé tactile, puis exécute à nouveau xinput pour désactiver le pavé tactile. Je l'ai dans mon .bashrc et dans d'autres endroits.

À l'heure actuelle, lorsque je suspends puis reprends mon ordinateur portable, le pavé tactile reprend vie et je veux vraiment arrêter cela. J'ai donc aussi un dossier

/etc/pm/sleep.d/97disable_touchpad (appartenant à root, + x) qui ressemble à ceci:

#!/bin/bash
case "$1" in
    thaw|resume)
        /home/yannick/bin/notouch 2>/tmp/notoucherrors
        ;;
    *)
        ;;
esac
exit $?

Et bon sang, ça ne marche pas! En effet, le script semble fonctionner après un CV, et le contenu de/tmp/notoucherrors est:

Unable to connect to X server
Unable to connect to X server

Bon sang, je veux que mon pavé tactile reste désactivé lorsque je passe en veille prolongée et que je reprends. Comment puis-je y arriver?

Voici deux autres choses que j'ai essayées et que je n'ai pas pu mettre au travail:

1) $ synclient TouchpadOff = 1

Cela revient

Couldn't find synaptics properties. No synaptics driver loaded?

2) Paramètres système -> Souris et pavé tactile. Je n'ai que des options pour la souris là-bas (j'irais même jusqu'à dire que Ubuntu pense que mon pavé tactile est une souris pour une raison quelconque). En particulier, il n'y a pas d'option pour désactiver le pavé tactile - tout ce que j'ai, c'est les options de la souris (général, vitesse du pointeur, glisser-déposer, délai d'expiration du double-clic).

3
Yannick

J'ai une solution de contournement partielle qui fera l'affaire pour l'instant - j'ai défini au hasard la variable DISPLAY et j'espère. Fonctionne pour l'instant. Je lance également notouch comme mon ID utilisateur (plutôt que root).

Mon script disable_touchpad dans sleep.d ressemble maintenant à ceci:

#!/bin/bash
case "$1" in
    thaw|resume)
        echo "running notouch" >> /tmp/notouchlogger
        export DISPLAY=:0
        su -c - yannick /home/yannick/bin/notouch 2>>/tmp/notoucherrors
        ;;
    *)
        ;;
esac
exit $?

et cela semble fonctionner.

1
Yannick

Avec les privilèges root, essayez de créer le fichier /etc/pm/sleep.d/0000trackpad.

Sudo -i gedit /etc/pm/sleep.d/0000trackpad

entrez votre mot de passe si nécessaire après le code suivant dans gedit et enregistrez le fichier

#!/bin/sh
case "$1" in
    resume)
        DISPLAY=:0.0 su USER -c '/usr/bin/synclient TouchpadOff=0' ;;
esac

déconnectez-vous et reconnectez-vous

0
vrishabh