【发布时间】:2014-02-14 14:30:22
【问题描述】:
我想在 Linux 中创建命令行游戏,但我不知道如何获取关键状态。我听说过 getch() 但这会停止程序。
【问题讨论】:
标签: c++ linux console keyboard
我想在 Linux 中创建命令行游戏,但我不知道如何获取关键状态。我听说过 getch() 但这会停止程序。
【问题讨论】:
标签: c++ linux console keyboard
我花了一点时间阅读。显然,如果没有图书馆的帮助,这是一件很难做到的事情。许多人推荐图书馆ncurses。如果你想尝试自己做,你需要学习切换终端模式和类似的疯狂的东西。这个帖子信息量很大:Non-blocking keyboard read - C/C++
【讨论】:
在this文章中,作者实现了一个cKeyboard类,直接监听来自/dev/event0的事件。然后按如下方式使用该类:
#include "keyboard.h"
cKeyboard kb;
...
if (kb.getKeyState(KEY_UP)) {
// do something
}
它非常适合我,但我不得不将 event0 更改为 event4。
【讨论】: