Touchpad Synaptic (script pour activer-désactiver)

Vos petites astuces, répertoire des tutoriels et astuces
Répondre
melissa6969
Messages : 485
Enregistré le : lun. 24 oct. 2016 22:30

Touchpad Synaptic (script pour activer-désactiver)

Message par melissa6969 »

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

Message par melissa6969 »

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 : 3874
Enregistré le : lun. 22 août 2016 05:06

Re: Script pour activer, désactiver le touchpad

Message par david37 »

Merci pour l'astuce ;)
PC1: Mobo: Gigabyte B550 AORUS Elite 2 / CPU: AMD Ryzen 7 3700X / GPU: MSI Radeon RX 580 Armor / RAM: 32 GB @3600 MHz CL16 / SSD: Samsung 970 EVO 500 GB / LM 20.2 Xfce
PC2: HP Pavilion 15 / AMD Ryzen 5 5500U with Radeon Graphics / 16GB RAM / 500 GB SSD / Debian 11 Xfce
PC3: Dell-Latitude E7240 / 2.1GHz i7-4600U / Intel Haswell-ULT HD 4400 / 8GB RAM / 250 GB Hard Drive / LM 20.2 Xfce
capdeframint
Messages : 2493
Enregistré le : jeu. 2 juin 2016 08:57
Localisation : Hautes-Alpes: GAP

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

Message par capdeframint »

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:PCportable HP Pavilion 15-eh3027nf, proc Ryzen 7 7730U , Ram 16 Go, SSD 512 Go, LM 22.2 XFCE Dual Boot W11/LM 22.2
PC2: PC portable Lenovo Ideapad 3 15ALC6 (82KU002GFR),proc Ryzen 7 5700, Ram 8Go, SSD 512 Go, LM 21.1 XFCE
Dual boot: Windows 11 Family/ Linuxmint 22.2
melissa6969
Messages : 485
Enregistré le : lun. 24 oct. 2016 22:30

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

Message par melissa6969 »

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
paul74
Messages : 2
Enregistré le : dim. 31 déc. 2017 18:43
Localisation : Haute-Svoie

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

Message par paul74 »

Bonjour et merci à Melissa,

Perso, je n'utilise pas le touchpad du tout, et j'en ai marre que ce "machin" me pollue les entrées au clavier si mon poignet l'effleure.
zeb
Messages : 16101
Enregistré le : ven. 19 juin 2015 22:13
Localisation : plus ici

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

Message par zeb »

paul74 a écrit : jeu. 7 mars 2019 09:39 Bonjour et merci à Melissa,

Perso, je n'utilise pas le touchpad du tout, et j'en ai marre que ce "machin" me pollue les entrées au clavier si mon poignet l'effleure.
:l un an plus tard, on travaille dans le TP ? :mrgreen:

Merci cyrille pour les tuyaux ;)
zeb
Messages : 16101
Enregistré le : ven. 19 juin 2015 22:13
Localisation : plus ici

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

Message par zeb »

;) Juste l'année qui change, c'est paul74 a fait remonter le sujet
Répondre