如何在C中轮询键盘键?
我正在寻找某种替代kbhit()for Mac的方法,它允许我轮询特定键盘键的状态。我唯一的要求是它不能被阻塞,或者要求我按回车键。我在这个网站上看到了一些类似的帖子,但它们似乎都被屏蔽了 我真的只想能够运行一个循环,并检查在每个循环过程中是否按下或未按下特定的键,而不会减慢或阻塞循环的其余部分。来自c-faq: “用于编写kbhit的代码片段集合”如何在C中轮询键盘键?,c,C,我正在寻找某种替代kbhit()for Mac的方法,它允许我轮询特定键盘键的状态。我唯一的要求是它不能被阻塞,或者要求我按回车键。我在这个网站上看到了一些类似的帖子,但它们似乎都被屏蔽了 我真的只想能够运行一个循环,并检查在每个循环过程中是否按下或未按下特定的键,而不会减慢或阻塞循环的其余部分。来自c-faq: “用于编写kbhit的代码片段集合” 在STDIN\u FILENO上的ncurses和epoll的组合在过去对我很有效(当然是完全单线程)。你能给我看一些可能解释你的意思的链接吗?谢
在
STDIN\u FILENO
上的ncurses
和epoll
的组合在过去对我很有效(当然是完全单线程)。你能给我看一些可能解释你的意思的链接吗?谢谢,只是ncurses
提供了getch
函数,它与您的kbhit
类似。但是您需要一种方法来知道输入何时准备就绪,这就是epoll
的输入位置——否则您的程序将不得不在键盘上阻塞读取。