如何确定C++中的按键

如何确定C++中的按键,c++,linux,keyboard,emulation,keylistener,C++,Linux,Keyboard,Emulation,Keylistener,我正在开发一个用于Linux系统的CHIP-8仿真器。据我所知,我需要从任意16个键获取键盘输入,并将其映射到十六进制键盘。一旦我得到输入,我就可以毫不费力地将它们映射到16个CHIP-8键 但是,我不知道如何实际判断是否按下了键。我相信java会使用Kielististor,但是我找不到类似于C++中的Linux的任何东西。是否有一种方法可以告诉我,如果在任何给定的时间按下任何特定的键,会发生什么?类似于我可以调用的getKeyState函数 提前感谢。您的程序可以从标准输入读取字符 可以使用

我正在开发一个用于Linux系统的CHIP-8仿真器。据我所知,我需要从任意16个键获取键盘输入,并将其映射到十六进制键盘。一旦我得到输入,我就可以毫不费力地将它们映射到16个CHIP-8键

但是,我不知道如何实际判断是否按下了键。我相信java会使用Kielististor,但是我找不到类似于C++中的Linux的任何东西。是否有一种方法可以告诉我,如果在任何给定的时间按下任何特定的键,会发生什么?类似于我可以调用的getKeyState函数


提前感谢。

您的程序可以从标准输入读取字符

可以使用fgets库函数执行读取

例如,见:

有一个关于ncurses的教程。我已经确认,在我的MacBookPro、Mavericks 10.9.1以及Xcode命令行工具安装中,ncurses.h是指向curses.h的符号链接,两者都位于/usr/include中。这是最新的


我自己还没有创建一个特定的类。然而,在/dev/input/eventX上进行搜索时,如果X看起来是零或一,则会发现这两个单独的帖子:并且。

这是GUI还是命令行应用程序?在命令行中,您可以使用TceTattr并设置一个超时,该超时允许您使用读取样式的函数来检查是否有输入,或者使用一个库(如ncurses),该库具有检查键是否已按下的功能。如果您确实还想做其他事情,则这并不是特别有用,并假设按键是芯片模拟器中某些硬件中的中断或轮询事件。