Cocoaを使用せずにC++を使用してOSXでキーボード入力を取得したい場合は、廃止予定のCarbon UPPハンドラを使用し、IOHIDを使用しない場合は余分な作業が必要です。 私はquartzイベントタップを使って単純なマウスクラスを実装しています。それは魅力的なように機能し、今ではキーボードクラスを実装するために使いたいと思います。OSX Carbon:Quartzイベントタップでキーボード入力を取得する
- 現在のプロセスがrootユーザーとして実行されています。とにかくCGEventTapCreate下参照状態として次のいずれかに該当する場合 http://developer.apple.com/library/mac/#documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html
あなたはキーイベントをのみアクセスすることができます。
- 補助デバイスのアクセスが有効になっています。 Mac OS X v10.4では、 システム環境設定、ユニバーサルアクセス パネル、キーボードビューを使用してこの機能を有効にすることができます。
これは私のアプリケーションが奇妙な設定なしで動作するようにしたいので、非常に重大な制限です。 これを回避する方法はありますか?もしそうでなければ、Carbonのタップを使う代わりに何かがありますか? ありがとう!
ちょっと、それは価値があるよりも、とにかくその大きな騒ぎです。私はココアからのキーイベントを(NSApplication sendEvent関数の中で)キャプチャしています。なぜなら、私はアプリケーションレベルのイベントしか必要としないからです。ありがとう! – moka