Il y a un excellent article de @pbm qui couvre cela, sur le site Unix SE.
En bref, utilisez d'abord xinput list
pour obtenir l'ID de périphérique de votre souris, puis utilisez
xinput --set-prop [ID#] "Device Enabled" "0"
et
xinput --set-prop [ID#] "Device Enabled" "1"
pour désactiver et activer la souris.
Je viens de les tester ici en désactivant la souris puis en appelant xset dpms force standby
. Agiter la souris pendant plusieurs secondes n'a rien fait pour perturber l'écran, mais appuyer sur une seule touche a bien fonctionné. L'utilisation de la deuxième commande a ensuite ramené la souris à la normale, y compris le paramètre de "décélération constante" que mes scripts de démarrage par défaut ont défini pour moi.
Vous devriez pouvoir passer ces deux commandes au -startCmd
et -endCmd
options à xlock
pour obtenir ce que vous recherchez.
Je le fais de cette façon dans Ubuntu :
#!/bin/bash
# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
echo "Script already running. Exit..."
exit
fi
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
if echo $line | grep "boolean true" &> /dev/null; then
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
xset dpms force off
else
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
fi
done )
Quelques remarques :
- Je force également le moniteur à s'éteindre.
- Mieux vaut utiliser le nom complet au lieu de l'ID.
J'espère que cela vous aidera.