2011-07-14 5 views
7

現在私の大学の研究プロジェクトに取り組んでいます。目標は、Microsoft Kinectカメラを使用してMacを制御することです。もう1人の学生がKinectドライバ(Macの背後にある天井や壁のどこかにマウントされ、Macの画面上のすべての指の位置を出力します)を書いています。OS Xでマルチタッチイベントを生成して投稿して、外部カメラを使用してMacを制御する

この指の位置を使用して反応させるのは私の責任です。目標は、1本の指でマウスを操作し、トラックパッド上にあるように、同じ方法で複数の指で反応させることです。

これは簡単で簡単なことだと思っていましたが、そうではありません。実際には(CGEventを使用して)1本の指でマウスカーソルを操作するのは非常に簡単ですが、残念ながらマルチタッチジェスチャを作成してシステムに公開するための公開APIはありません。

私は、可能な限り低い位置でイベントタップを使用してすべてのCGEventsをキャッチし、それらを逆アセンブルしようとするなど、多くの研究を行ってきましたが、実際の進歩はこれまでありませんでした。私はこのつまずいとイベントタップのためにも最低の位置が十分に深くないことを、実現したより

Extending Functionality of Magic Mouse: Do I Need a kext?

私はそれを得たときは、右、内蔵のトラックパッド(とMagicMouseとMagicTrackpad )は、KEXT-Kernel-Extensionを介してプライベートMultitouchSupport-フレームワークと通信します。このフレームワークは、着信データを何らかの形で生成してOSに送信します。

したがって、トラックパッドのように非常に同じことを行うには、MultitouchSupport.frameworkのプライベートAPIを使用する必要があります。 KEXT-Extensionを書く必要がありますか?

MultitouchSupportフレームワークを使用する必要がある場合: プライベートAPIを取得するにはどうすればできますか? (私はクラスダンプを知っていますが、このフレームワークではないObjective-Cフレームワークでしか動作しません)

何かの応答がありがとう! NexD。

+0

誰もがこのための解決策を見つけましたか?私は2,3日前に同様の問題に苦しんでいますが、何もうまくいかないようです。( – Nostradamus

+0

ここに提案のようなものを試すことができますhttp://stackoverflow.com/a/2489593/895803別の解決方法を考え出しましたか? – wheels53

答えて

0

「目標は、1本の指でマウスを操作し、同じ方法で複数の指で反応させることです」ここでは、Kinectから指を追跡しようとしていることを理解しています。しかし、Kinectは主要な関節のみを捕捉します。しかし、あなたは私が推測する他のサードパーティライブラリでこれを行うことができます。ここに私が見たサンプルプロジェクトがあります。しかし窓のために。そこに大きな画像を取得しようとするhttp://channel9.msdn.com/coding4fun/kinect/Finger-Tracking-with-Kinect-SDK-and-the-Kinect-for-XBox-360-Device

関連する問題