Windowsではグローバルフックを利用して、キーボードやマウスなどの動きを監視することができます。Mac OS XやLinuxでも同じような実装ができるのでしょうか?キーボードやマウスの動きを監視するようなプログラムを実装できますか?
Mac OS X では AppKit の機能の一部として実装されていますので、すべての Cocoa アプリケーションでマウスイベントをハンドルできます。
http://developer.apple.com/documentation/Cocoa/Conceptual/EventO...
こちらは、ハンドルできるマウスイベントの種類について記述されています。マウスのボタンダウン、ボタンリリース、ドラッグ、移動の4つがあります。
http://developer.apple.com/documentation/Cocoa/Conceptual/EventO...
こちらでは、イベントのディスパッチの動作について、簡単な説明が記述されています。
Carbon アプリケーションの場合は以下のようになります。
http://developer.apple.com/documentation/Carbon/Conceptual/Carbo...
CarbonアプリでEventManagerを使ったプログラミングについては以下のpdfが参考になります。
http://developer.apple.com/documentation/Carbon/Conceptual/Carbo...
kimbaraさんの紹介されている方法はグローバルフックとは性格が異なるのではないかと。MacOSXでアプリケーション/ウィンドウのイベントを横取りする方法としては,Objective-Cの動的バインドの特長を利用して,自前のクラスをフレームワークのクラスと置き換える方法があるようです。その為の方法ではないので変更が衝突した場合の動作に不安が残りますが...。
時間が無くてまだ調べれていませんでした。チェックしてみます。ありがとうございました!!
Mac OS Xは出来そうですね。早速読んでみます。ありがとうございます。Linuxに関してももご存知であれば教えていただけると助かります。