Mouse
bash 腳本來檢測和記錄滑鼠移動?
我需要能夠每隔一段時間(例如每 0.2 秒)記錄滑鼠移動,並將它們以座標表示而不是 diff 表示。
我找到了以下腳本:
#!/bin/bash while : do cat /dev/input/mice | read -n 1 date sleep 1 done
但它似乎沒有向終端列印任何內容(或者可能都是胡言亂語)。其他討論表明 /dev/input/mice 已被棄用。最重要的是, /dev/input/mice 實際上並沒有友好格式的數據。
我是否必須手動進行轉換(從 /dev/input 文件中的格式),還是有用於此的 API?
嘗試以下命令:
xdotool getmouselocation 2>&1 | sed -rn '${s/x:([0-9]+) y:([0-9]+) .*/\1 \2/p}'
另一種選擇是 xinput。例如,
xinput test 8
會寫motion a[0]=496 a[1]=830 motion a[0]=496 a[1]=829 motion a[0]=496 a[1]=832 motion a[0]=496 a[1]=834
滑鼠移動時,其中“8”是我的滑鼠設備號。用於
xinput --list
找出您的滑鼠在設備中的數量。