Ne laissez pas la souris réveiller les écrans de veille


12

J'aime mettre mes écrans en mode d'économie d'énergie / veille lorsque je quitte l'ordinateur pendant un certain temps. Ce serait bien s'il n'y avait pas de souris hypersensible. Parfois, le conducteur lit certains mouvements qui ne sont pas visibles à l'œil nu (le curseur, c'est-à-dire) et cela rompt l'économie d'énergie. Il attendrait encore 10 minutes avant de revenir en mode veille.

Ma solution de contournement est le script suivant lié à C-S-q:

xlock -startCmd 'xset dpms 2 2 2' -endCmd 'xset dpms 600 1200 1300' -mode blank -echokeys -timeelapsed +usefirst

En utilisant, xsetj'ai défini les valeurs à 2 secondes chacune avant de passer en veille. Ce n'est pas sympa de toute façon. Parfois, il y a des fortunes cool que je veux lire avant de taper le mot de passe. Je pourrais garder le curseur en mouvement mais c'est grossier. (Soit dit en passant, l'option de xlock mousemotionn'aide pas - elle masque simplement le curseur mais les affichages se déclenchent néanmoins.)

Donc, la question: existe-t-il un moyen de mettre les écrans en veille et de les conserver jusqu'à ce qu'une touche du clavier soit enfoncée? J'exécute gentoo et Xorg récent, mais j'espère que la réponse ne doit pas être spécifique à la distribution.

Fondamentalement, la réponse peut être aussi simple que d'activer / désactiver la souris dans la ligne de commande ? Il pense que cela ferait l'affaire si DPMS ne connaissait pas l'idée.


1
Si c'est le matériel qui est le problème, alors le matériel pourrait être la solution - retournez la souris jusqu'à ce que vous vouliez l'utiliser. (D'accord, c'était sarcastique, mais vous obtenez le point).
new123456

Ce n'est pas une mauvaise suggestion, mais cela continuerait à lire quelque chose tout en étant à l'envers :)
nperson325681

Même les souris optiques les plus sensibles n'enregistreront aucun mouvement sans un objet quelconque à environ un pouce ou deux du capteur. S'il s'agit d'une souris mécanique, sortez simplement la balle pour obtenir le même effet.
Shinrai

1
Eh. Pensons à quelque chose qui ne nécessite pas de retourner la souris. :)
nperson325681

Non, vous avez raison, c'est une bonne question (et c'est pourquoi je l'ai votée positivement). Mais je suis d'accord avec @ new123456 que parfois une solution mécanique est plus facile (et il se peut que personne ne vienne pour vous à ce sujet - je ne suis pas un gars Linux, donc je ne peux certainement pas).
Shinrai

Réponses:


5

Il y a un excellent article de @pbm qui couvre cela, sur le site Unix SE.

En bref, utilisez d'abord xinput listpour 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 déranger 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 m'ont défini.

Vous devriez pouvoir passer ces deux commandes aux options -startCmdet pour obtenir ce que vous recherchez.-endCmdxlock


1
Au lieu d'utiliser l'option --set-prop avec la propriété «Device Enabled / Disabled», on peut également utiliser les options --enable et --disable, par exemple xinput --enable [device] et xinput --disable [device] .
thebodzio

4

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 notes:

  • J'expose également le moniteur.
  • Mieux vaut utiliser le nom complet au lieu de l'ID.

J'espère que ca aide.


Ça a l'air bien mais je n'utilise pas dbus ou gnome donc je ne vais pas l'essayer.
nperson325681
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.