私は現在、大学の研究プロジェクトに取り組んでいます。目標は、Microsoft Kinect カメラを使用して Mac を制御することです。別の学生は、Kinect ドライバー (Mac の背後の天井または壁のどこかに取り付けられ、Mac の画面上のすべての指の位置を出力します) を作成しています。
その指の位置を使用して反応するのは私の責任です。目標は、1 本の指を使用してマウスを制御し、トラックパッド上にある場合とまったく同じように複数の指で反応することです。
これは簡単で簡単だと思いましたが、そうではありません。1 本の指を使用して (CGEvent を使用して) マウス カーソルを制御するのは実際には非常に簡単ですが、残念ながら、Multitouch-Gestures を作成してシステムに送信するためのパブリック API はありません。
可能な限り低い位置でイベント タップを使用してすべての CGEvents をキャッチし、それらを分解しようとするなど、多くの調査を行いましたが、これまでのところ実際の進歩はありません。
私がこれに出くわし、イベントタップの最も低い位置でさえ十分に深くないことに気付きました: Magic Mouse の機能を拡張する: kext は必要ですか?
うまくいけば、組み込みのトラックパッド (および MagicMouse と MagicTrackpad) は、KEXT-Kernel-Extension を介してプライベートな MultitouchSupport-framework と通信し、受信データを何らかの方法で生成して OS にポストします。
したがって、MultitouchSupport.framework のプライベート API を使用して、トラックパッドとまったく同じことを行う必要がありますよね? または、KEXT-Extension を作成する必要がありますか?
また、MultitouchSupport フレームワークを使用する必要がある場合: プライベート API を取得するために分解するにはどうすればよいですか? (私はクラスダンプを知っていますが、それはObjective-Cフレームワークでのみ機能しますが、このフレームワークはそうではありません)
返信ありがとうございます。NexD。