Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想编写一个简单的 C 程序,它将根据“key down”和“key up”事件执行不同的操作。该程序将从rxvt内部运行。
我应该使用什么库或机制来访问按键和释放?/dev/tty阅读只会提供关键版本是真的吗?这对于 termcap、terminfo、ncurses 和 slang 也是如此吗?有没有办法从终端应用程序中实现这一点?
/dev/tty
以下链接可能对使用键盘原始模式有所帮助,这将使您能够访问键盘事件而不仅仅是按键释放。
原始模式确实有一个缺点,即您必须自己进行从扫描码到字符的转换。
这在一般情况下不起作用。ANSI 终端(所有仿真器都来自它)仅表示按键“按下”事件。他们不会独立记录向下/向上事件。
如果您需要低级键盘事件访问,则适当的环境实际上是一个 GUI 程序。即使是 Web 应用程序也可以比终端更清晰地访问关键事件。
我认为 ncurses 不会起作用。Basilevs 提供的链接讨论了“向上箭头”键和“向下箭头”键,而不是按键和释放。