プログラム全体が複雑すぎて、ここに表示できません。基本的に、最近のgitcommitの緑色のハイライトに注意してください。私はDirectInputを初めて使用するので、いくつかのエラーが発生したと思います。私はMSDNのドキュメントを非常に注意深く調べたので、これを捨ててFIX ITFORMEと刻印するだけではないことを約束します。:)
基本的に、問題をEngine :: getEvent周辺のコードの領域に絞り込んだと思います(238行目以降)。私はこれらの機能がどのように機能するかを理解していません、そして私は異なる結果を達成するために特定の部分をいじりました。ここでの私の目標は、キーボードイベントを直接読み取り、それらの生の数値を画面に出力することです(数値の意味については後で扱います)。ここでの問題は、KEYBOARD_BUFFER_SIZEに関連しています。小さくするとプログラムは正常に動作しているように見えますが、イベントは出力されません。大きくすると、動作は少し良くなりますが、速度が低下してからフリーズし始めます(OpenGLウィンドウには回転するカラーキューブがあります)。キーボードイベントを適切にキャプチャするにはどうすればよいですか?
コードの上位にあるすべてのセットアップ手順で戻り値を確認しました。それらはすべてDI_OKを問題なく返します。