No permita que el mouse active las pantallas desde el modo de espera

12

Me gusta poner mis pantallas en modo ahorro de energía / espera cuando dejo la computadora por un tiempo. Estaría bien si no fuera por el ratón hipersensible. A veces, el conductor lee en algún movimiento que no es visible a simple vista (el cursor, eso es) y rompe el ahorro de energía. Esperaría otros 10 minutos antes de volver a su modo de espera.

Mi solución es el siguiente script vinculado a C-S-q:

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

Al usarlo xset, configuro los valores en 2 segundos cada uno antes de pasar al modo de espera. No es agradable, de todos modos. A veces hay buenas fortunas que quiero leer antes de escribir la contraseña. Podría mantener el cursor en movimiento, pero es confuso. (Por cierto, la opción de xlock mousemotionno ayuda: solo oculta el cursor pero las pantallas se activan de todos modos).

Entonces, la pregunta: ¿hay alguna manera de hacer que las pantallas se pongan en espera y permanezcan allí hasta que se presione una tecla del teclado? Estoy ejecutando gentoo y Xorg reciente, pero espero que la respuesta no tenga que ser específica de la distribución.

Básicamente, la respuesta puede ser tan simple como cómo habilitar / deshabilitar el mouse dentro de la línea de comando . Piensa que haría el trabajo si DPMS no conoce la idea.

nperson325681
fuente
1
Si el problema es el hardware, entonces el hardware podría ser la solución: voltee el mouse hasta que quiera usarlo. (Bien, eso fue sarcástico, pero entiendes el punto).
nuevo123456
No es una mala sugerencia, pero no por ello deja de leer algo mientras que ser al revés :)
nperson325681
Incluso los ratones ópticos más sensibles no registrarán ningún movimiento sin un objeto de algún tipo dentro de aproximadamente una pulgada del sensor. Si se trata de un mouse mecánico, simplemente saque la bola para lograr el mismo efecto.
Shinrai
1
Eh Pensemos en algo que no requiere voltear el mouse. :)
nperson325681
No, tienes razón, es una buena pregunta (y es por eso que lo voté). Pero estoy de acuerdo con @ new123456 en que a veces una solución mecánica es más fácil (y puede ser que nadie te ayude en esto, no soy un chico de Linux, así que seguro que no puedo).
Shinrai

Respuestas:

5

Hay una gran publicación de @pbm que cubre esto, en el sitio de Unix SE.

En resumen, primero use xinput listpara obtener la ID del dispositivo para su mouse, y luego use

xinput --set-prop [ID#] "Device Enabled" "0"

y

xinput --set-prop [ID#] "Device Enabled" "1"

para deshabilitar y habilitar el mouse.

Acabo de probar esto aquí deshabilitando el mouse y luego llamando xset dpms force standby. Agitar el mouse durante varios segundos no hizo nada para perturbar la pantalla, pero presionar una sola tecla funcionó bien. El uso del segundo comando devolvió el mouse a la normalidad, incluida la configuración de "desaceleración constante" que mis scripts de inicio predeterminados establecieron para mí.

Usted debe ser capaz de pasar estos dos comandos al -startCmdy -endCmdopciones para xlockconseguir lo que está buscando.

Paul Whittaker
fuente
1
En lugar de usar la opción --set-prop junto con la propiedad "Device Enabled / Disabled", también se pueden usar las opciones --enable y --disable, por ejemplo, xinput --enable [dispositivo] y xinput --disable [dispositivo] .
thebodzio
4

Lo hago de esta manera en 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 )

Algunas notas:

  • También estoy obligando a apagar el monitor.
  • Mejor use el nombre completo en lugar de la ID.

Espero que esto ayude.

MiLo
fuente
Se ve bien pero no uso dbus o gnome, así que no lo probaré.
nperson325681