나중에 시간 경과에 따른 마우스 움직임 그래프를 생성할 수 있도록 시간 경과에 따라 마우스가 이동한 거리를 기록하려면 어떻게 해야 합니까?
목표는 마우스 움직임을 모니터링하는 유틸리티를 만드는 것입니다.
답변1
XTest나 기타 확장 기능을 사용하여 마우스 움직임을 캡처할 수 있는 X11 도구가 많이 있습니다.무릎, 그러나 /dev/input/mice
이전 PS/2 마우스에서 했던 것처럼 대부분의 시스템에서 읽고 3바이트 스트림을 얻을 수도 있습니다. 이 파이썬 조각은 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)