在Linux终端应用程序中如何接收按键和键释放事件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (174)

我想编写一个简单的C程序,它将根据“关键”和“关键”事件执行不同的操作。该程序将从rxvt内运行。

我应该使用什么样的库或机制来访问按键和版本?阅读/dev/tty是否只能提供主要版本?有没有一种方法可以在终端应用程序中实现这一点?

提问于
用户回答回答于

这在一般情况下不起作用。ANSI终端仅代表关键的“按压”事件。他们不会独立记录/停止事件。

如果你需要低级别的键盘事件访问,那么适当的环境实际上就是一个GUI程序。即使是一个Web应用程序,与终端相比,对于关键事件的访问也会更清晰。

用户回答回答于

以下链接在使用键盘原始模式时可能会有所帮助,这可以让你访问键盘事件而不仅仅是发布密钥。

  1. 这篇Linux Journal 文章
  2. 这篇文章在SourceForge上
  3. 当这一切都变坏时,这个HOWTO

原始模式的缺点是你必须自己从扫描代码转换为字符。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励