【发布时间】:2011-10-11 16:19:22
【问题描述】:
我正在尝试编写 ghostscript 的克隆,但我不知道它们是如何制作的,因此您可以在图形窗口中键入,并且击键显示在终端窗口中,就像您在那里键入它们一样首先。因此,收到 KeyRelease 事件后,我可以以某种方式将 char 填充到 stdin 中,以便使用普通文件读取代码读取吗?或者我是否必须在标准输入前创建自己的内部缓冲区,以便可以将新字符插入其中?或者是否有一些简单的方法可以将键盘事件从我的应用程序窗口映射到 Xterm?
我愿意做这项工作,但我什至不知道我在这里寻找什么。救命?!!
【问题讨论】:
-
ghostscript 是否真的将按键事件重定向到它自己的
stdin或者它只是捕获按键并处理它们,就好像它们来自stdin? -
不确定。我想这是在问之前要做的事情。 :(
-
“将它们都发送到同一个地方”的方法是我的做法,尝试将内容输入您自己的
stdin似乎是一堆毫无意义的忙碌工作。无论如何,很容易陷入错误的道路,提出问题是一种快速了解问题并指出您遗漏的明显事情的方法。 -
我只花了一个小时查看 gs 源。还没找到。
-
你找到X事件循环了吗?我很确定 ghostscript 使用原始 XLib 作为 UI,所以在某处应该有一个很丑的
switch声明。 OTOH,十多年来我没有做过任何 X 编程,所以请相信我所说的。
标签: c unix x11 ghostscript stdio