不要让鼠标从待机状态唤醒显示


12

我离开计算机一段时间后,喜欢将显示器置于省电/待机模式。如果不是超灵敏鼠标的话也可以。有时,驱动程序读取一些肉眼看不到的动作(即光标),这会破坏省电功能。在返回待机状态之前,它将等待另外10分钟。

我的解决方法是绑定到以下脚本C-S-q

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

通过使用,xset我将值分别设置为2秒,然后再进入待机状态。反正不好。有时,在输入密码之前,我会想念一些很酷的运气。我可以使光标移动,但它很笨拙。(顺便说一句,xlock的选项mousemotion没有帮助-它只是隐藏了光标,但仍然触发了显示。)

那么问题来了:是否有办法使显示器进入待机状态并停留在那里直到按下键盘键?我正在运行gentoo和最近使用的Xorg,但我希望答案不必特定于发行版。

基本上,答案可以和如何在命令行中启用/禁用鼠标一样简单?它认为,如果DPMS不知道这个主意,那就可以完成工作。


1
如果问题出在硬件上,那么硬件可能就是解决方案-将鼠标移到想要使用它的地方。(好吧,这讽刺,但是你明白了)。
new123456 2011年

一个不错的建议,但是倒置它仍然会读到一些东西:)
nperson325681 2011年

即使是最敏感的光学鼠标,如果没有某种物体在距离传感器约一英寸的范围内,也不会记录任何运动。如果是机械鼠标,只需将球弹出即可达到相同的效果。
Shinrai 2011年

1
嗯 让我们考虑一下不需要翻转鼠标的事情。:)
nperson325681 2011年

不,你是对的,这是一个很好的问题(这就是为什么我反对它)。但是我同意@ new123456,有时机械解决方案会更容易(而且可能没有人为此提供帮助-我不是Linux专家,所以我肯定不会)。
Shinrai 2011年

Answers:


5

@pbm在Unix SE网站上有一篇很棒的文章来介绍这一点。

简而言之,首先使用xinput list来获取鼠标的设备ID,然后使用

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

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

禁用和启用鼠标。

我刚刚通过禁用鼠标然后调用进行了测试xset dpms force standby。挥动鼠标几秒钟不会干扰屏幕,但是按一个键就可以了。然后,使用第二条命令将鼠标恢复为正常,包括默认启动脚本为我设置的“恒定减速”设置。

您应该能够将这两个命令传递给-startCmd-endCmd选项,xlock以获取所需信息。


1
除了将--set-prop选项与“ Device Enabled / Disabled”(设备已启用/禁用)属性一起使用之外,还可以使用--enable和--disable选项,例如xinput --enable [device]和xinput --disable [device] 。
thebodzio

4

我在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 )

一些注意事项:

  • 我也强迫显示器关闭。
  • 最好使用全名而不是ID。

我希望这个对你有用。


看起来不错,但我不使用dbus或gnome,所以不会尝试。
nperson325681
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.