我想写一个简单的C程序,根据“按下键”和“抬起键”事件执行不同的操作。这个程序将在rxvt内部运行。我应该使用什么样的库或机制来访问按键和释放键?阅读/dev/tty是否只会提供按键释放?termcap、terminfo、ncurses和S-Lang是否也是如此?是否有一种方法可以从终端应用程序中实现这一点?
/dev/tty
ergxz8rk1#
以下链接可能对使用键盘原始模式有所帮助,该模式将给予您访问键盘事件,而不仅仅是按键释放。1.本Linux日志article1.这个在源锻造上的article1.而这个HOWTO是在一切都变糟的时候原始模式确实有缺点,你必须做自己的转换,从扫描代码到字符虽然。
g9icjywg2#
这在一般情况下不起作用。ANSI终端(所有模拟器都从它开始)只代表按键事件。它们不独立记录向下/向上事件。如果你需要底层的键盘事件访问,合适的环境实际上是一个GUI程序,甚至一个Web应用程序也会比一个终端更干净地访问按键事件。
xn1cxnb43#
我不认为ncurses会起作用。Basilevs提供的链接谈论的是“向上箭头”键和“向下箭头”键,而不是一个键的按下和释放。
3条答案
按热度按时间ergxz8rk1#
以下链接可能对使用键盘原始模式有所帮助,该模式将给予您访问键盘事件,而不仅仅是按键释放。
1.本Linux日志article
1.这个在源锻造上的article
1.而这个HOWTO是在一切都变糟的时候
原始模式确实有缺点,你必须做自己的转换,从扫描代码到字符虽然。
g9icjywg2#
这在一般情况下不起作用。ANSI终端(所有模拟器都从它开始)只代表按键事件。它们不独立记录向下/向上事件。
如果你需要底层的键盘事件访问,合适的环境实际上是一个GUI程序,甚至一个Web应用程序也会比一个终端更干净地访问按键事件。
xn1cxnb43#
我不认为ncurses会起作用。Basilevs提供的链接谈论的是“向上箭头”键和“向下箭头”键,而不是一个键的按下和释放。