DirectInputのマウス情報を取得してみると、XとYの値は、変移差分の値です。



ドキュメントをよく読むと、X軸、Y軸という記述をしています。


つまり、座標ではないということですね。


ああ、そういうことか。


ジョイスティックの代わりに使うから、変移情報を入力するようになっているんですね。


とすると、マウス座標を取得する方法としてDirectInputは使えないということになります。


方法を考えなくてはなりません。


市販のPCゲームプログラムでは、ごく当たり前にマウス入力を使っていますから、解決方法があるはずです。



フォームのイベントハンドラとDirectX描画ループは別スレッドで実行されますから、フォームのイベントハンドラからキューを使ってDirectX描画ループを実行しているスレッドへデータを送るというのは、どうでしょうか?


試してみる価値はありそうですね。