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

OpenGL / Glut库中是否存在类似的内容,或者我是否需要查看其他内容?

有帮助吗?

解决方案

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

编辑:我对Glut几乎一无所知,但看起来你可以使用 glutKeyboardFunc 检测正常密钥, glutSpecialFunc 。我不确定是否有更好的方法,因为这看起来不太好。

其他提示

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

如上所述,您必须制作自己的状态机,这很容易。但是你也需要使用这种回调方法。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top