マウスがスタンバイからディスプレイを起動させないでください


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

悪い提案ではありませんが、逆さまになったまま何かを読みます:)
unperson325680

最も敏感な光学式マウスでさえ、センサーから約1インチ以内に何らかの物体がなければ動きを記録しません。機械式マウスの場合は、ボールをポップするだけで同じ効果が得られます。
-Shinrai

1
えー マウスの反転を必要としないものを考えてみましょう。:)
unperson325680

いや、あなたは正しい、それは良い質問です(だから私はそれを支持しました)。しかし、@ new123456には同意します。時には機械的な解決策のほうが簡単な場合があります(そして、この点については誰もあなたを助けてくれないかもしれません。
-Shinrai

回答:


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。マウスを数秒間動かしても画面を乱すことはありませんでしたが、1つのキーを押すだけでうまくいきました。次に、2番目のコマンドを使用すると、デフォルトの起動スクリプトで設定された「一定の減速」設定など、マウスが正常に戻りました。

これらの2つのコマンドを-startCmd-endCmdオプションに渡して、xlock目的のものを取得できる必要があります。


1
「デバイスの有効化/無効化」プロパティとともに--set-propオプションを使用する代わりに、xenable --enable [device]やxinput --disable [device]などの--enableおよび--disableオプションも使用できます。 。
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を使用しないので、試してみません。
unperson325680
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.