在NSEventMask中匹配多个NSEvent

时间:2017-01-23 19:46:45

标签: swift macos nsevent

下面的语句处理我的macOS应用程序中完成的任何左键单击。我希望捕获所有点击(左,右,中,轮等)。我知道我可以为每一个添加一个监视器,但有没有办法在一个事件掩码中组合所有这些事件?

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

1 个答案:

答案 0 :(得分:2)

mask参数的类型为NSEventMaskNSEventMask符合OptionSet。因此,您可以使用set语法来表示多个选项:

NSEvent.addGlobalMonitorForEvents(matching: [.leftMouseDown, .rightMouseDown, .otherMouseDown] , handler: {
            (mouseEvent:NSEvent?) in .....