Hay una gran publicación de @pbm que cubre esto, en el sitio de Unix SE.
En resumen, primero use xinput list
para obtener la identificación 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í desactivando el mouse y luego llamando a xset dpms force standby
. Mover el mouse durante varios segundos no alteró la pantalla, pero presionar una sola tecla funcionó bien. Usando el segundo comando, el mouse volvió a la normalidad, incluida la configuración de "desaceleración constante" que mis scripts de inicio predeterminados establecieron para mí.
Debería poder pasar estos dos comandos al -startCmd
y -endCmd
opciones a xlock
para conseguir lo que buscas.
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 forzando el apagado del monitor.
- Mejor use el nombre completo en lugar de la identificación.
Espero que esto ayude.