Touchpad Synaptic (script pour activer-désactiver)

Demandez et postez vos petites astuces, répertoire des tutoriels et astuces
melissa6969
Messages : 485
Enregistré le : lun. 24 oct. 2016 22:30

Touchpad Synaptic (script pour activer-désactiver)

Messagepar melissa6969 » sam. 6 janv. 2018 17:11

Bonjour à tous.

si un tel sujet existe déjà ou que la section est pas bonne, merci aux modos de m'y signaler.

une petite astuce qui se veut être une alternative au logiciel Touchpad-Indicator.
je ne sais pas si je suis la seule, mais touchpad-indicator a tendance à ne pas fonctionner correctement, quand on passe beaucoup de temps à jongler entre le touchpad et la souris notamment, au bout d'un moment, touchpad-indicator ne bloque plus le touchpad malgré le branchement de la souris (en tout cas sur mon pc)

du coup pour ceux qui auraient un ou des problèmes, je vous propose un script (je l'avoue, ce n'est pas moi qui l'ai fait, je l'ai récupéré sur le forum anglais de ArchLinux, c'est le seul script chez moi qui fonctionne de façon optimale, et j'en ai essayé des dizaines pourtant)

pour commencer on ouvre notre éditeur de texte favori, et on copie colle ceci dedans

Code : Tout sélectionner

#!/bin/bash

## Get the touchpad id. The -P means perl regular expressions (for \K)
## the -i makes it case insensitive (better portability) and the -o
## means print only the matched portion. The \K discards anything matched
## before it so this command will print the numeric id only.
TID=$(xinput list | grep -iPo 'touchpad.*id=\K\d+')

if [ -s "$TID" ] ; then
    echo "Touchpad not found"
    exit 1
fi

list=`xinput --list | grep -i mouse`

if [ ${#list} -eq 0 ]; then
    xinput enable "$TID"
else
    xinput disable "$TID"
fi

udevadm monitor -k -s input | while read line ; do

    if grep -q -E "KERNEL.*add.*mouse" <<< "$line" ; then

        xinput disable "$TID"
        notify-send "TOUCHPAD  DÉSACTIVÉ" "Souris Branchée"

    elif grep -q -E "KERNEL.*remove.*mouse" <<< "$line" ; then

        xinput enable "$TID"
        notify-send "TOUCHPAD  ACTIVÉ" "Souris Débranchée"
    fi

done

ce script vérifie via la commande xinput, si une souris est détectée donc branchée, si oui, le touchpad est désactivé, si on débranche la souris, le touchpad se réactive tout seul.

ensuite une fois la syntaxe copié dans l'éditeur de texte, on l'enregistre sous le nom
.touchpad.sh
le .sh est obligatoire, c'est l'extension du script shell qui permet de faire fonctionner évidemment notre script.
ça donne ceci (encadré rouge pour le nom donné)
Touchpad_10.png

notre script est enregistré dans notre /home, on ne le voit pas, puisqu'on l'a nommé avec un point devant, pour qu'il soit un fichier caché, donc on va dans notre gestionnaire de fichiers, on fait CTRL + h et les fichiers cachés apparaissent ainsi que notre script, comme sur ma capture, encadré en rouge.
Touchpad_11.png

ensuite on va dans les paramètres système, et au va dans la section
application au démarrage
on clique sur ajouter
ensuite sur commande personnalisée
comme sur ma capture, encadré en rouge
Touchpad_12.png

ensuite on rempli les champs demandés, comme sur ma capture
Touchpad_13.png

pour la case COMMANDE, on choisit notre script précédemment créer, donc on fait ainsi
- on clique sur parcourir
- ensuite sur dossier personnel chiffre 1 et encadré rouge sur ma capture d'écran
- ensuite on fait un clic droit et on choisit ""afficher les fichiers cachés"" chiffre 2 et encadré rouge sur ma capture d'écran
Touchpad_14.png

- et pour finir on double clique sur notre fichier ""touchpad.sh"" encadré rouge sur ma capture
Touchpad_15.png

et on enregistre le tout, encadré en rouge sur ma capture
Touchpad_16.png

il reste plus qu'à tout fermer.
si vous utilisez touchpad-indicator, pensez à le désactiver des programmes au démarrage avant de faire les tests pour le script.
si vous utilisez pas touchpad-indicator bah vous avez pas besoin de le désactiver hein ;)

il vous reste plus qu'à redémarrer le pc et le script se lancera en arrière-plan automatiquement, et sera fonctionnel.
pour vous en convaincre, suffit de débrancher la souris et vérifier que le touchpad fonctionne.
brancher la souris, et vérifier que le touchpad est bien inactif.
pensez à bien laisser activé le touchpad dans les paramètres du système, dans la catégorie souris et pavé tactile
si il est désactivé dans les paramètres, le script ne pourra pas l'activer de lui-même.

j'ai effectué divers tests, plusieurs boots, reboots, déconnexion de la session, mise en veille du pc, le script est tout le temps fonctionnel, si je branche ou débranche la souris, le pavé tactile s'active ou se désactive comme prévu, pas de bugs, pas de crashs, ça fait maintenant deux semaines que je m'en sers, et tout va bien.

j'ai effectué ces tests sur ma ArchLinux Cinnamon et sur ma Debian Sid Cinnamon, donc pour les autres environnements, je ne peux pas garantir que ça soit fonctionnel, mais en théorie, il n'y a pas de raison, puisque ça agit directement sur xinput.
le script fonctionne uniquement avec les touchpads de marque Synaptic


si les experts du forum suggèrent un changement pour une amélioration du script, je suis preneuse ;)
n'hésitez pas à me faire part de vos retours :)
Modifié en dernier par débitant le mer. 7 mars 2018 14:22, modifié 2 fois.

melissa6969
Messages : 485
Enregistré le : lun. 24 oct. 2016 22:30

Re: Script pour activer, désactiver le touchpad

Messagepar melissa6969 » ven. 19 janv. 2018 14:26

EDIT Du 19 Janvier 2018
modif du script


ajout des notifications lors du branchement débranchement de la souris, grâce à ces 2 variables

Code : Tout sélectionner

notify-send "TOUCHPAD  DÉSACTIVÉ" "Souris Branchée"
        notify-send "TOUCHPAD  ACTIVÉ" "Souris Débranchée"

le texte de la notif peut être modifier à volonté et selon votre guise, ne surtout pas oublier de mettre les guillemets pour le texte, sinon les notif ne fonctionneront pas.

et modification du script pour permettre son exécution directement au sein du kernel toujours avec xinput comme système de surveillance à chaud d'un branchement ou débranchement de souris..

et modification pour permettre au touchpad d'être désactivé quand une souris est déjà branchée lors du démarrage du pc..

lors de l'utilisation du script bien penser à désactiver le logiciel touchpad-indicator, sinon il y aura conflit entre les 2

Avatar du membre
david37
modérateur
Messages : 2572
Enregistré le : lun. 22 août 2016 05:06

Re: Script pour activer, désactiver le touchpad

Messagepar david37 » mar. 6 mars 2018 23:23

Merci pour l'astuce ;)
PC1: Hp pavilion g6 / 1.36 GHz AMD E2-1800 APU with Radeon(tm) HD Graphics / 500 GB hard drive / 4G RAM /
LM 18.3 Mate x64
PC2: Hp-Pavilion Slimline / 2.5 GHz AMD RV710 / 4GB RAM / 500 GB hard drive / LM 18.3 Mate x64 & LM 18.3 Cinnamon x64
PC3: Lenovo ThinkPad R61i / 1.87 GHz Intel T2390 / NVIDIA G86M / 2GB RAM / 100 GB Hard Drive / LMDE2-Mate x64
PC4: Dell-Latitude E7240 / 2GHz i5-4310U / Intel Haswell-ULT HD 4400 / 8GB RAM / 256 GB Hard Drive / LM19 xfce x64

capdeframint
Messages : 682
Enregistré le : jeu. 2 juin 2016 08:57

Re: Toucpad Synaptic (script pour activer-désactiver)

Messagepar capdeframint » jeu. 8 mars 2018 20:42

Très beau travail mais pourquoi veux tu absolument désactiver le Touchpad lorsque tu branches une souris ? J'utilise très souvent mon portable avec une souris et je passe du Touchpad à la souris indifféremment et ça ne pose aucun problème de fonctionnement.
PC1: ordi tour Packard Bell iXtreme M5140, proc AMD Phenom II 1035TX6,Ram12 Go,1 SSD de 250 Go+1 disque HDD de 1 To.Carte Video NVidia. LMDE3 XFCE
Double boot: Windows 10 Family (en totalité sur le SSD) + LMDE3 XFCE (/ sur le SSD et Home sur le HDD)
PC2:portable HP Pavilion DV7-3125ef, proc Intel i3, Ram8 Go, 1 SSD de 240 Go+ 1 disque HDD de 640 Go.Carte video NVidia GT218M, LM19 Cinnamon
Double boot: Windows 10 Pro (sur le SSD) et LM19 (/ sur le SSD et Home sur le HDD).

melissa6969
Messages : 485
Enregistré le : lun. 24 oct. 2016 22:30

Re: Touchpad Synaptic (script pour activer-désactiver)

Messagepar melissa6969 » jeu. 8 mars 2018 22:03

parce que je me sers jamais du touchpad quand je suis chez moi, et quand le chat va sur mon pc pour se tenir au chaud, alors si je laisse le touchpad en route, je t'explique pas les conneries involontaires qu'il ferait ;)

et quand je suis en déplacement, notamment en train avec mon pc, j'utilise que le touchpad, et une fois arrivée chez les clients, je rebranche la souris, et ça désactive le touchpad directement.
c'est une vieille habitude que j'avais sur w8.1, c'est peut-être pas la meilleure ""technique"" du monde mais elle me convient parfaitement vu que je suis pas très habile avec le touchpad (ça m'agace vite, je préfère la bonne vieille souris) :D


Retourner vers « Trucs et Astuces »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité