Es gibt einen großartigen Beitrag von @pbm, der dies behandelt, drüben auf der Unix SE-Site.
Kurz gesagt, verwenden Sie zuerst xinput list
um die Geräte-ID für Ihre Maus abzurufen, und verwenden Sie dann
xinput --set-prop [ID#] "Device Enabled" "0"
und
xinput --set-prop [ID#] "Device Enabled" "1"
zum Deaktivieren und Aktivieren der Maus.
Ich habe diese hier gerade getestet, indem ich die Maus deaktiviert und dann xset dpms force standby
aufgerufen habe . Das Herumschwenken der Maus für einige Sekunden hat den Bildschirm nicht gestört, aber das Drücken einer einzigen Taste hat gut funktioniert. Mit dem zweiten Befehl kehrte die Maus dann wieder in den Normalzustand zurück, einschließlich der Einstellung "Konstante Verzögerung", die meine Standard-Startskripte für mich eingestellt haben.
Sie sollten diese beiden Befehle an -startCmd
übergeben können und -endCmd
Optionen zu xlock
um zu bekommen, wonach Sie suchen.
Ich mache es so in 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 )
Einige Anmerkungen:
- Ich erzwinge auch das Abschalten des Monitors.
- Verwenden Sie besser den vollständigen Namen statt der ID.
Ich hoffe, das hilft.