Core Graphics   >     CGEvent   >   tapCreate(tap:place:options:eventsOfInterest:callback:userInfo:)
型メソッド
tapCreate(tap:place:options:eventsOfInterest:callback:
userInfo:)
イベントタップを作成します。
宣言
パラメータ
tap | 新しいイベントタップの位置。CGEventTapLocation にリストされている定数の 1 つを渡します。ルートユーザーとして実行されているプロセスのみが、HID イベントがウィンドウサーバーに入る点でイベントタップを検索することができます。他のユーザーの場合、この関数は NULL を返します。 |
place | アクティブなイベントタップのリスト内の新しいイベントタップの位置。 CGEventTapPlacement にリストされている定数の 1 つを渡します。 |
options | 新しいイベントタップが受動的リスナーかアクティブフィルタであるかを指定する定数。 |
eventsOfInterest | 観察されるべきイベントのセットを指定するビットマスク。可能なイベントのリストについては、CGEventType を参照してください。マスクの指定方法については、CGEventMask を参照してください。イベントタップが eventsOfInterest パラメータで指定された 1 つ以上のイベントを監視することを許可されていない場合、マスク内の適切なビットはクリアされます。そのアクションの結果、マスクが空の場合、この関数は NULL を返します。 |
callback | あなたが提供するイベントタップ呼び出し関数。呼び出し関数は、イベントタップがソースとして追加された実行ループから呼び出されます。呼び出し関数のスレッド安全性は、実行ループの環境によって定義されます。イベントタップ呼び出し関数の詳細については、CGEventTapCallBack を参照してください。 |
refcon | ユーザー定義データへのポインタ。このポインタは、callback パラメータで指定された呼び出し関数に渡されます。 |
戻り値
新しいイベントタップを表す Core Foundation マッハポート、またはイベントタップを作成できなかった場合は NULL。イベントタップの使用が終了したら、CFRelease 関数を使用して Mach ポートを解放する必要があります。Mach ポートを解放するとタップも解放されます。
議論
以下のいずれかの条件が当てはまる場合、イベントタップはキーから離したイベントとキーを押したイベントを受け取ります。
- 現在のプロセスは root ユーザーとして実行されています。
- 補助デバイスのアクセスが有効になっています。OS X v10.4 では、システム環境設定、ユニバーサルアクセスパネル、キーボードビューを使用してこの機能を有効にできます。
イベントタップを作成したら、以下のように実行ループに追加することができます。
- イベントタップを CFMachPortCreateRunLoopSource(_:_:_:) 関数に渡して、実行ループイベントソースを作成します。
- CFRunLoopAddSource(_:_:_:) 関数を呼び出して適切な実行ループにソースを追加します。