8200dpiのゲーミングマウスを購入しました。ただし、Linuxで使用すると問題が発生します。 PCを使用したり、ビデオを視聴したりしない場合、テーブルに触れたり、部屋を歩いている人に反応して、マウスが短い動きをすることがあります。これらの応答によりスクリーンセーバーが終了し、ビデオプレーヤーのGUIが表示されます。これは面倒です。
それに対処するにはどうすればよいですか?
可能な解決策は、以下のバックグラウンドスクリプトです。
xprintidle
はマウスまたはキーボードのイベントによってトリガーされるため(画面上で発生するイベントではなく)、スクリプトは、たとえば映画を再生します。
そうすれば、コントロールやコンピューターに簡単にアクセスできる一方で、不要なマウス操作が何かを混乱させることを恐れる必要はありません。
いつものように(そしてバックグラウンドスクリプトの場合もそうであるように)、スクリプトは実質的にリソースをまったく消費しないような方法で記述されています。
#!/usr/bin/env python3
import subprocess
import time
# ---
# set your device (mouse), as found from the command: xinput list
device = 8
# set the desired idle time (in seconds) to disable the mouse
set_idletime = 5
# ---
# don't change anything below
idle1 = 0
while True:
time.sleep(1)
idle2 = int(int(subprocess.check_output(["xprintidle"]).decode("utf-8").strip())/1000)
if all([idle1 <= set_idletime, idle2 > set_idletime]):
subprocess.Popen(["xinput", "set-prop", str(device), "Device Enabled", "0"])
Elif idle2 < idle1:
subprocess.Popen(["xinput", "set-prop", str(device), "Device Enabled", "1"])
idle1 = idle2
スクリプトにはxprintidle
が必要です。
Sudo apt-get install xprintidle
スクリプトを空のファイルにコピーし、mouse_toosensitive.py
として保存します
ターミナルで実行して、マウスのデバイス(数値、整数)を見つけます。
xinput list
スクリプトのヘッドセクションで、デバイス番号と目的のアイドル時間の両方を設定します(スクリプトの説明を参照)。
次のコマンドを使用して、ターミナルウィンドウから実行してテスト実行します。
python3 /path/to/mouse_toosensitive.py
すべてが正常に機能する場合は、スタートアップアプリケーションに追加します。[ダッシュ]> [スタートアップアプリケーション]> [コマンドを追加]:
/bin/bash -c "sleep 15 && python3 /path/to/mouse_toosensitive.py"
xscreensaver
を使用している場合、-- pointerHysteresis
にぴったり収まる構成パラメーターがあります。
マウスが1秒以内にこれよりも多くのピクセルを移動する場合は、それを無視します(「アクティビティ」と見なさないでください)。デスク。デフォルト:10ピクセル。
私が試みる別の解決策は、不要な動きを最小限に抑えることができるニースシリコンマウスパッドを購入することです。
もちろん、次のようなマウスコントロールを既に実験しているはずです。
$ xset mouse [speed] [threshold]
そして
入力デバイス番号を見つける
$ xinput
$ xinput --set-prop 9 'Device Accel Constant Deceleration' 3
使用可能な値を試しても解決しない場合は、マウスパッドをより多くのドラッグがあるサーフェスに変更してみてください。言い換えれば、その能力のさまざまな感度のために異なるタイプのマウスパッドで実験してください。
マウスの背面の下にインクペンを置き、光学センサーを移動に反応する距離以上に持ち上げ、マウスを再び使用する場合はインクペンを取り外します。