如何记录鼠标随时间移动的距离,以便稍后生成鼠标随时间移动的图表?
目标是能够创建一个用于监视鼠标移动的实用程序。
答案1
有很多 X11 工具使用 XTest 或其他扩展可以获取鼠标移动,例如cnee,但您也可以/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)