私が達成したいこと:
ターゲットは、Mac OS X ライブラリ (dylib/bundle/framework) を作成することです。これは、ライブラリをロードしたアプリケーションのすべてのマウスおよびキーボード イベントをインターセプトします。これらのイベントを変更するのではなく、ログに記録したいだけです。ライブラリには、ログに記録されたイベントの詳細を公開する C API が必要です。
私が現在作っているもの:
アプリケーションがロードするライブラリ内からアプリケーションのマウス イベントとキーボード イベントを検出するための 2 つの方法を実装しました。
1) Carbon を使用してイベント ハンドラーをインストールします。何らかの理由で、InstallApplicationEventHandler または InstallEventHandler( GetApplicationEventTarget(), ... ) を使用してもうまくいきませんでした。アプリケーション以外のすべてのイベント (ライブラリをロードするターゲット アプリケーションに配信されるイベントを除くすべてのイベント) をキャッチすることしかできませんでした。
2) CGEventTaps: マウス ( http://osxbook.com/book/bonus/chapter2/altermouse/ ) とキーボード ( http://osxbook.com/book/bonus/chapter2/alterkeys/ ) のもの。これらは機能しますが、システム全体です。ライブラリをロードしたアプリケーションに配信されたイベントのみをライブラリにキャッチさせたいと考えています。
システム全体ではなく、アプリケーション全体のキーボードとマウスのフック/タップを作成する方法を知っている人はいますか?