Mac OS X(10.7.3)のゲームパッドからアナログスティックでマウスを操作するアプリを作っています。現在、かなりうまく機能しており、デスクトップとほとんどのゲームでカーソルを制御できます。しかし、Team Fortress 2 では、照準を制御することはできませんが、メニューでカーソルを制御することはできます。マウスホイールとクリックはどこでも機能します。もう1つの奇妙なことは、実際のマウスを動かすと、通常の照準を合わせる前に、照準が「仮想マウス」からの移動距離を「ジャンプ」するため、イベントを受け取ることです。
ゲームオプション「生のマウス入力」が無効になっています(osxでもサポートされていないと思います)。また、同様のアプリケーションで照準をうまく制御できます。
ゲームが「デルタ移動」または「相対移動」イベントなどを探していると思われますが、コードは絶対位置を使用してカーソルの位置を設定します。これを変更する方法はわかりません。
mouseMoved イベントを送信するために使用されるコードのスニペットを次に示します。
編集:くだらないコードが削除されました!
. 編集:
また、この方法を行ったため、カーソルがクレイジーにならないように、画面の境界を手動で確認する必要があります。そのため、マルチスクリーン設定で、ユーザーが解像度を変更すると、最悪の状態になります。移動量を送信するだけで、OSにカーソルの制約を任せることができれば、はるかに良いでしょう。
.
問題は 、マウス移動イベントを間違った方法で行っているかということです。
どうすればこれを修正できますか?
EDIT2:それはただのばかげたバグでした、ごめんなさい= P