2017-01-23 8 views
0

以下のステートメントは、MacOSアプリケーションで実行された左クリックを処理します。すべてのクリック(左、右、中央、ホイールなど)をキャプチャしたいと思います。私はそれぞれのモニタを追加することができますが、1つのイベントマスクでそれらのイベントをすべて組み合わせる方法はありますか?NSEventMaskで複数のNSEventを一致させる

NSEvent.addGlobalMonitorForEvents(matching: .leftMouseDown , handler: { 
      (mouseEvent:NSEvent?) in ..... 

答えて

1

maskパラメータは、タイプNSEventMaskです。 NSEventMaskOptionSetに準拠しています。そのため、set構文を使用して複数のオプションを表すことができます。

NSEvent.addGlobalMonitorForEvents(matching: [.leftMouseDown, .rightMouseDown, .otherMouseDown] , handler: { 
      (mouseEvent:NSEvent?) in ..... 
関連する問題