swift - 在 NSEventMask 中匹配多个 NSEvents

标签 swift macos nsevent

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

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

最佳答案

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

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

关于swift - 在 NSEventMask 中匹配多个 NSEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41814378/

相关文章:

ios - RxSwift 框架崩溃

ios - Swift 中的通用赋值

python - 由于系统 Python 2.7 的要求,Pygame 安装失败,即使我有 Python 2.7

css - 在 mac os x 上的 safari 中呈现问题,可能是 z-index 问题

cocoa - 如何处理急救人员和 NSPopover

ios - 在 Swift 中,自定义 View 的 drawRect 未正确更新

ios - 我想获取屏幕左侧的后退按钮,但无法获取它

git - 远程 : Invalid username or password. 致命:身份验证失败

swift - 让 keydown NSEvent 在 Swift 中运行一次

objective-c - 如何更改scrollWheel : handler into a magnifyWithEvent: call?