用fprintf发送一个箭头键

我正在testingpipe道,并打了一个小路障。

我想能够模拟通过由popen打开的文件指针按右箭头键。 文件指针在不同的terminal上打开一个显示程序,就像投影仪一样。 我想发送一个信号来推进下一个图像(右箭头键)。

我怎么去发送这个信号? 我意识到这将是特定于我的电脑(BOIS /键盘设置),但我不希望这是便携式无论如何。

从我的试验看来,通过fprintf发送的所有内容都被解释为可读的字符,而不是特殊的编码。

幻灯片程序不能更改,所以这不是一个选项。 任何方向将不胜感激。

想到两种可能性:

  • 期望程序可以用来控制终端应用程序。 其维基展示了一个Expect控制寻呼机的例子 。
  • 另一方面, 发送箭头键给Popen的问题声称会导致一些有用的东西。 特别注意接受的答案,指向如何发送向上箭头键popen子 ,它通过管道发送箭头键的文字转义序列。

从评论看,这似乎是要求。 箭头(光标)键转义序列是非常标准化的,如图所示

  • Bash Prompt HOWTO:第6章ANSI转义序列:颜色和光标移动
  • VT100.net:VT100用户指南:第3章。程序员信息 ,例如CUF (游标向前)。

如果这对你有用,其中一个缺点是你可能不得不经常使用fflush来使其工作。