处理synclient的连续输出

处理synclient的连续输出

我在用同步客户端跟踪手指在触摸板上的位置。我使用以下命令。

synclient -m 100 | awk '{print $2,$3}'

此命令给出触摸板上的“x”和“y”坐标。
我想要的是,将这些坐标提供给绘制这些点的程序。一旦跟踪到新点,就应该绘制它。但我的问题是,由于该命令连续生成输出并且尚未完成,所以我不知道如何传递命令的连续生成输出。如何实现这一目标?

(我所取得的成就如下:

timeout 5 synclient -m 100 > pattern 

因此,5 秒后,“图案”文件包含了所有信息,我从文件中提取坐标并绘制线条。但我不想这样做。)

答案1

我假设每行都会产生一个新的绘图。所以像

synclient -m 100 |
  while read _ x y; do
    drawprogram $x $y
  done

应该做。如果您遇到缓冲问题,请查看stdbuf.

相关内容