我需要在bash中获取当前的鼠标坐标,而xdotool对我不起作用。我该怎么做?

最佳答案

为了避免所有sed / awk / cut内容,您可以使用

xdotool getmouselocation --shell

特别是,
eval $(xdotool getmouselocation --shell)

会将位置放入 shell 变量XYSCREEN中。之后,
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/

10-13 07:37