小编Joh*_*yAW的帖子

使用 addGlobalMonitorForEvents 监控 NSEvents 缺少手势事件

我有一个很奇怪的问题:

我的后台服务正在尝试通过NSEvents使用NSEvent.addGlobalMonitorForEvents(matching: mask, handler: handler). 到目前为止一切顺利,我能够毫无问题地获得鼠标和键盘通知,例如 mouseMoved、leftMouseDown 或 keyDown。

但我注意到,我没有收到像 3 指滑动以显示任务控制等手势的事件。目前我将所有NSEventMask值都放入 中matching:,因为我想监视任何用户活动。还有NSEventMask.any价值,但如果我使用它,我有点不明白,在所有的事件......

这是我的代码:

EventMonitor-Wrapper

public class EventMonitor {
    private var monitor: Any?
    private let mask: NSEventMask
    private let handler: (NSEvent?) -> ()

    public init(mask: NSEventMask, handler: @escaping (NSEvent?) -> ()) {
        self.mask = mask
        self.handler = handler
    }

    deinit {
        stop()
    }

    public func start() {
        self.monitor = NSEvent.addGlobalMonitorForEvents(matching: mask, handler: handler)
    }

    public func stop() {
        if self.monitor …
Run Code Online (Sandbox Code Playgroud)

macos cocoa swift

5
推荐指数
1
解决办法
1014
查看次数

标签 统计

cocoa ×1

macos ×1

swift ×1