2


0

これは同様の問題です。 LinkこれはGetAsyncKeyState()を呼び出すことで解決されました。 大丈夫ですが、Linuxに代わるものが必要です。 ボタンが押されているのではなく、押さえられているのかどうかを知る必要があります(キーボードバッファの遅延のため)。

このようなものはOpenGL / Glutライブラリに存在しますか、それとも私は他の場所を見なければなりませんか?

3 Answer


3


私はGlutを使ったことは一度もありませんが、多くの人がhttp://www.libsdl.org/ [SDL]のほうが良いと言うことを知っています。 私はSDLを使用しましたが、とても気に入っています。 それは、Glutがすることすべて、そしてそれ以上のことをします。 SDLでは、 `+ SDL_PollEvent()+`を使用して、キーボードバッファーの遅延なしにキーの状態を取得できます。

編集:Glutについてはほとんど何も知りませんが、http://www.opengl.org/resources/libraries/glut/spec3/node49.html [+ glutKeyboardFunc +]を使用して通常のキーを検出し、http ://www.opengl.org/resources/libraries/glut/spec3/node54.html [+ glutSpecialFunc +]は、ASCII文字を生成しないキー(シフトなど)用です。 これがあまり良くないように思われるので、もっと良い方法があるかどうかはわかりません。


0


キー押下イベントが発生したときを検出し、その状態を記録してから、キー解放イベントを監視できます。


0


言ったように、あなたはあなた自身のステートマシンを作る必要があるでしょう、それは簡単です。 しかし、このコールバックメソッドを使う必要もあります。