我有一个很奇怪的问题:
我的后台服务正在尝试通过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)