下面的语句处理我的macOS应用程序中完成的任何左键单击。我希望捕获所有点击(左,右,中,轮等)。我知道我可以为每一个添加一个监视器,但有没有办法在一个事件掩码中组合所有这些事件?
NSEvent.addGlobalMonitorForEvents(matching: .leftMouseDown , handler: {
(mouseEvent:NSEvent?) in .....
答案 0 :(得分:2)
mask
参数的类型为NSEventMask
。 NSEventMask
符合OptionSet
。因此,您可以使用set语法来表示多个选项:
NSEvent.addGlobalMonitorForEvents(matching: [.leftMouseDown, .rightMouseDown, .otherMouseDown] , handler: {
(mouseEvent:NSEvent?) in .....