Na webu Unix SE je skvělý příspěvek od @pbm, který to popisuje.
Stručně řečeno, nejprve použijte xinput list
k získání ID zařízení pro vaši myš a poté použijte
xinput --set-prop [ID#] "Device Enabled" "0"
a
xinput --set-prop [ID#] "Device Enabled" "1"
pro deaktivaci a zapnutí myši.
Právě jsem je zde otestoval vypnutím myši a následným voláním xset dpms force standby
. Několik sekund mávání myší nerušilo obrazovku, ale stisknutí jediné klávesy fungovalo dobře. Pomocí druhého příkazu se myš vrátila zpět do normálu, včetně nastavení „konstantní zpomalení“, které mi nastavily výchozí spouštěcí skripty.
Měli byste být schopni předat tyto dva příkazy do -startCmd
a -endCmd
možnosti na xlock
abyste dosáhli toho, po čem toužíte.
V Ubuntu to dělám takto:
#!/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 )
Několik poznámek:
- Také vynucuji vypnutí monitoru.
- Je lepší použít celé jméno místo ID.
Doufám, že to pomůže.