2013-01-11 5 views
63

Quartz Eventsを使用してカーソルを移動するOS X用のユーザースペースデバイスドライバを作成しています。特に、ウィンドウモードで実行されるゲームの場合、問題が発生しました。マウスポインタ(=ウィンドウの境界内にそれを保持する/保持する)。たとえば、ゲームウィンドウの外に出て、デスクトップまたは近くの非アクティブなアプリケーションをクリックします。CGAssociateMouseAndMouseCursorPositionの検出

アクティブなアプリケーションがCGAssociateMouseAndMouseCursorPositionを呼び出すときだけ検出できる場合は、これを修正できます。

どうすればよいですか?任意のアイデアが評価されます。

+0

あなた自身のイベントを投稿するのではなく、HIDドライバ/デバイスとして表示する方法はありませんか?それはアプローチかもしれません... – nielsbot

答えて

-1

私はいくつかの異なるマウス論理層(異なる入力デバイスのブリッジなど)を作成しました。私は、OSレベルのWM_INPUTイベントにフックすることが確実であることを発見しました非常にリアルタイムマウス位置情報。また、Windowsの非常に基本的なDLLの1つから必要なマウスデータをポーリングするだけでは厳格ではないソリューションもあります。彼らは雷が速いです。あなたは10msタイマーでポーリングすることができ、最新のマシンではパフォーマンスの低下は見られません。マウスポインタを使っている場合、この1つのアプリinisde新しいウィンドウにフォーカスを変更自動的につかむだろう - 私はフォーカスと呼ばれるオプションがあり、これはあなたに

を助けることができるかどうか知らない

+0

これはOS Xの私の問題にどのように当てはまるのか分かりません。 – Dae