我需要在bash中获取当前的鼠标坐标,而xdotool对我不起作用。我该怎么做?
最佳答案
为了避免所有sed / awk / cut内容,您可以使用
xdotool getmouselocation --shell
特别是,
eval $(xdotool getmouselocation --shell)
会将位置放入 shell 变量
X
,Y
和SCREEN
中。之后,echo $X $Y
将提供一个片段供以后使用
xdotool mousemove
或任何其他用途。我额外需要按顺序单击几个位置是一个文件positions.txt(由几次eval / echo运行提供):
123 13
423 243
232 989
使用它的代码是:
while read line; do
X=`echo $line| cut -c1-3`;
Y=`echo $line| cut -c4-7`;
xdotool mousemove --sync $(( 0.5 + $X )) $(( 0.5 + $Y ));
xdotool click 1
done < positions.txt
如果不需要缩放像素(与我的情况不同),这可能很简单
while read line; do
xdotool mousemove --sync $line;
xdotool click 1
done < positions.txt
关于bash - 我如何在bash中获取当前的鼠标坐标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8480073/