在 'addLocalMonitorForEventsMatchingMask' 中将 NSEventMask 连接在一起

Piping NSEventMask together in 'addLocalMonitorForEventsMatchingMask'

我有以下代码用于监听视图外的鼠标事件(NSView 的子类)。这很好用,但我不知道如何将 NSEventMasks 通过管道连接在一起。我基本上想在 NSEventMask.LeftMouseDownMaskNSEventMask.RightMouseDownMaskNSEventMask.OtherMouseDownMask.

上触发相同的事件侦听器

有谁知道如何将它们组合在一起,或者在 Swift 中是否可行?

工作代码

localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask(NSEventMask.LeftMouseDownMask) { (event: NSEvent) -> NSEvent? in

        // Event handling...

        return event
    }

可能对你有帮助。

简而言之,您现在可以使用数组,所以这似乎让编译器很高兴:

localMouseEventListener = NSEvent.addLocalMonitorForEventsMatchingMask([.LeftMouseDownMask, .RightMouseDownMask, .OtherMouseDownMask]) { (event: NSEvent) -> NSEvent? in

    // Event handling...

    return event
}