Lassen Sie die Maus nicht aus dem Standby-Modus aufwachen

3513
progo

Wenn ich den Computer für einige Zeit verlasse, setze ich meine Displays gerne in den Energiesparmodus / Standby-Modus. Es wäre in Ordnung, wenn es keine überempfindliche Maus gäbe. Manchmal liest der Fahrer eine Bewegung ein, die mit bloßem Auge nicht sichtbar ist (also der Cursor), und der Stromsparmodus wird unterbrochen. Es würde noch 10 Minuten warten, bevor es wieder in den Standby-Modus geht.

Mein Workaround ist das folgende Skript, das an Folgendes gebunden ist C-S-q:

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

Mit xsetsetze ich die Werte auf jeweils 2 Sekunden, bevor ich in den Standby-Modus gehe. Es ist sowieso nicht schön. Manchmal gibt es coole Dinge, die ich lesen möchte, bevor ich das Passwort eingebe. Ich könnte den Cursor in Bewegung halten, aber er ist unübersichtlich. (Die Option von xlock mousemotionhilft übrigens nicht - es verdeckt nur den Cursor, aber die Anzeigen werden trotzdem gestartet .)

Also die Frage: Gibt es eine Möglichkeit, Displays in den Standby-Modus zu versetzen und dort zu bleiben, bis eine Tastaturtaste gedrückt wird? Ich arbeite mit gentoo und dem jüngsten Xorg, aber ich hoffe, die Antwort muss nicht spezifisch sein.

Grundsätzlich kann die Antwort so einfach sein, wie die Maus in der Befehlszeile aktiviert / deaktiviert werden kann . Ich denke, das würde den Job erledigen, wenn DPMS die Idee nicht kennt.

12
Wenn die Hardware das Problem ist, könnte die Hardware die Lösung sein - drehen Sie die Maus um, bis Sie sie verwenden möchten. (Okay, das war * sarkastisch, aber Sie haben den Punkt verstanden). new123456 vor 13 Jahren 1
Kein schlechter Vorschlag, aber es würde immer noch etwas auf dem Kopf stehen :) progo vor 13 Jahren 0
Selbst die empfindlichsten optischen Mäuse können keine Bewegung ohne ein Objekt innerhalb von etwa einem Zoll des Sensors registrieren. Wenn es sich um eine mechanische Maus handelt, knallen Sie den Ball einfach heraus, um den gleichen Effekt zu erzielen. Shinrai vor 13 Jahren 0
Eh. Denken wir an etwas, bei dem die Maus nicht gewendet werden muss. :) progo vor 13 Jahren 1
Nee, du hast recht, es ist eine gute Frage (und deshalb habe ich sie angehoben). @ New123456 stimme jedoch zu, dass manchmal eine mechanische Lösung einfacher ist (und es kann sein, dass niemand für Sie durchkommt - ich bin kein Linux-Typ, also kann ich das nicht). Shinrai vor 13 Jahren 0

2 Antworten auf die Frage

5
Paul Whittaker

Es gibt einen großartigen Beitrag von @pbm, der dies auf der Unix SE-Site behandelt.

Kurz gesagt, verwenden Sie zuerst xinput listdie Geräte-ID für Ihre Maus und dann die

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

und

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

Deaktivieren und aktivieren Sie die Maus.

Ich habe diese hier gerade getestet, indem Sie die Maus deaktiviert und dann aufgerufen haben xset dpms force standby. Das Bewegen der Maus für einige Sekunden hat den Bildschirm nicht gestört, aber das Drücken einer einzigen Taste funktionierte einwandfrei. Mit dem zweiten Befehl kehrte der Mauszeiger zurück zum Normalzustand, einschließlich der Einstellung "konstante Verzögerung", die von meinen Standard-Startskripts für mich festgelegt wurde.

Sie sollten in der Lage sein, diese beiden Befehle an die Optionen -startCmdund -endCmdzu übergeben xlock, um das zu erhalten, wonach Sie suchen.

Anstelle der Option --set-prop zusammen mit der Eigenschaft "Device Enabled / Disabled" können auch die Optionen --enable und --disable verwendet werden, z. B. xinput --enable [device] und xinput --disable [device] . thebodzio vor 11 Jahren 1
4
MiLo

Ich mache es in Ubuntu so:

#!/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 Notizen:

  • Ich zwinge auch den Monitor aus.
  • Verwenden Sie besser den vollständigen Namen anstelle der ID.

Ich hoffe, dass das hilft.

Sieht gut aus, aber ich benutze weder Dbus noch Gnome, also probiere es nicht aus. progo vor 12 Jahren 0