OpenGL /GLUTを使用して、「a」と「j」の2つのキーが同時に押されているかどうかをどのように検出しますか?
(このプログラムは OSX GCC、Windows GCC、Windows VS2005 でコンパイルする必要があるため、OS 依存のハックは行わないでください。)
次のことを試してください。
glutIgnoreKeyRepeat物理的なキーダウン/キーアップイベントのみを取得するために使用しますglutKeyboardFuncキーダウンイベントをリッスンするコールバックを登録するために使用します。glutKeyboardUpFuncキーアップイベントをリッスンするコールバックを登録するために使用します。bool keystates[256]キーボードキーの状態を格納する配列を作成します。keystates[key] = trueます。keystates[key] = falseます。(keystates['a'] || keystates['A']) && (keystates['j'] || keystates['J'])。その方向を見てください。私はそれをテストしていませんが、動作するはずです。また、「特別な」キーのメッセージを受信するglutSpecialFunc必要がある場合もあります。glutSpecialUpFunc
また、GLUTは本当に古いものであり、はるかに優れた代替手段があることに注意してください。
よりシンプルで貪欲に依存しない入力関数を意味する場合は、「より良い代替手段」によって GetAsyncKeyState 関数で取得します...