2009-04-30 7 views
2

これは同様の問題です:Link
これはGetAsyncKeyState()を呼び出して解決しました。すべての良いとダンディー、私はLinuxの代替が必要です。私はボタンがであるかどうかを知る必要があります。キーボードバッファの遅延のために、押しただけではなく、が押されています。

OpenGL/Glutライブラリにはこのようなことがありますか、それとも別の場所で見る必要がありますか?OpenGL/Glutでボタンが押されているかどうかを教えてください。 (Linux)

答えて

3

私はGlutを一度も使用していませんが、多くの人がSDLが優れていると言います。私はSDLを使用しており、私はそれが大好きです。それはGlutがやることのすべてをより多く行います。 SDLでは、SDL_PollEvent()を使用して、キーボードバッファ遅延なしでキー状態を取得できます。

編集:Glutについてはほとんど分かりませんが、glutKeyboardFuncは通常のキーを検出し、ASCII文字を生成しないキー(シフトなど)はglutSpecialFuncのように見えます。これは良い方法ではないように私は良い方法があるかどうかは分かりません。

+0

これは私がやらなければならないものです。 SDLは他の多くの問題も解決します。ありがとう! – Wally

0

キー押しイベントが発生したことを検出し、その状態を記録して、キーリリースイベントをリスンすることができます。

+0

現在、私は(やっている)ものです。問題は、glutKeyboardFunc()が現在の状態を渡さないということです。キーのASCII文字だけを渡します。 – Wally

+0

興味のあるボタンを確認してください。自分のボタンステートマシンを動かす必要があります。 –

関連する問題