2

这是一个类似的问题:通过调用 GetAsyncKeyState() 解决的链接。
虽然一切都很好,但我需要一个 Linux 替代品。我需要知道按钮是否被按住,而不仅仅是被按下(因为键盘缓冲区延迟)。

OpenGL/Glut 库中是否存在类似的东西,还是我必须在别处寻找?

4

3 回答 3

3

我从来没有用过 Glut,但我知道很多人会说SDL更好。我使用过 SDL,我非常喜欢它。它完成了 Glut 所做的一切以及更多。在 SDL 中,您可以使用SDL_PollEvent()在没有键盘缓冲区延迟的情况下获取键状态。

编辑:我对 Glut 几乎一无所知,但看起来您可以glutKeyboardFunc用来检测普通键,以及glutSpecialFunc不生成 ASCII 字符的键(例如 shift)。我不确定是否有更好的方法,因为这看起来不太好。

于 2009-04-30T20:29:49.197 回答
0

您可以检测何时发生按键事件,记录该状态,然后侦听按键释放事件。

于 2009-04-30T20:20:47.783 回答
0

如前所述,您必须制作自己的状态机,这很容易。但是我认为你还需要使用这个回调方法。

http://pyopengl.sourceforge.net/documentation/manual/glutKeyboardUpFunc.3GLUT.xml

于 2011-03-31T12:11:33.340 回答