Existem muitas ferramentas X11 usando o XTest ou outras extensões que podem fazer movimentos do mouse, como o cnee , mas você também pode ler /dev/input/mice
na maioria dos sistemas e obter um fluxo de 3 bytes como você faria com um mouse PS / 2 antigo. Esse bit de python decodificará os valores x, y e calculará a distância do pixel que você move. Observe que as permissões padrão do arquivo dev não permitem a leitura para outro que não seja o grupo 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)