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

e3bfsja2  于 2023-02-11  发布在  Linux
关注(0)|答案(3)|浏览(125)

我想写一个简单的C程序,根据“按下键”和“抬起键”事件执行不同的操作。这个程序将在rxvt内部运行。
我应该使用什么样的库或机制来访问按键和释放键?阅读/dev/tty是否只会提供按键释放?termcapterminfoncursesS-Lang是否也是如此?是否有一种方法可以从终端应用程序中实现这一点?

ergxz8rk

ergxz8rk1#

以下链接可能对使用键盘原始模式有所帮助,该模式将给予您访问键盘事件,而不仅仅是按键释放。
1.本Linux日志article
1.这个在源锻造上的article
1.而这个HOWTO是在一切都变糟的时候
原始模式确实有缺点,你必须做自己的转换,从扫描代码到字符虽然。

g9icjywg

g9icjywg2#

这在一般情况下不起作用。ANSI终端(所有模拟器都从它开始)只代表按键事件。它们不独立记录向下/向上事件。
如果你需要底层的键盘事件访问,合适的环境实际上是一个GUI程序,甚至一个Web应用程序也会比一个终端更干净地访问按键事件。

xn1cxnb4

xn1cxnb43#

我不认为ncurses会起作用。Basilevs提供的链接谈论的是“向上箭头”键和“向下箭头”键,而不是一个键的按下和释放。

相关问题