マウスモーションテレメトリ

マウスモーションテレメトリ

後で時間の経過とともにマウスの動きグラフを生成できるように、時間の経過とともにマウスが移動した距離を記録するにはどうすればよいですか。

目的は、マウスの動きを監視するユーティリティを作成することです。

答え1

XTestやその他の拡張機能を使用してマウスの動きをキャプチャするための多くのX11ツールがあります。しかし、/dev/input/mice以前のPS / 2マウスで行ったように、ほとんどのシステムで読み取って3バイトのストリームを取得することもできます。このPythonフラグメントはx、yの値をデコードし、移動した距離をピクセル単位で計算します。 devファイルのデフォルト権限では、group以外の項目を読み取ることはできませんinput

#!/usr/bin/python
# calc mouse distance travelled
# https://unix.stackexchange.com/a/397985/119298
import struct
total = 0.
with open("/dev/input/mice") as fd:
    while True:
        x, y = struct.unpack("xbb", fd.read(3))
        total += (x*x+y*y)**.5
        print("%d" % total)

関連情報