Я пытаюсь прикрепить обработчик событий к перемещению мыши в простом приложении macOS.
Я пробовал решения в этом и этом вопросе stackoverflow.
Мой код выглядит следующим образом:
func applicationDidFinishLaunching(aNotification: NSNotification) {
NSEvent.addLocalMonitorForEventsMatchingMask(NSEventMask.KeyDownMask, handler: keyDown);
}
func keyDown(event: NSEvent!) -> NSEvent {
NSLog("key down is \(event.keyCode)");
return event
}
Код взят из первого вопроса stackoverflow и кажется, что он работает там. Монитор локальный. Мне потребуется глобальный монитор в моем приложении, но ни один из них не работает.
Функция keyDown не вызывается. Поэтому событие KeyDown не отслеживается.
Что я делаю не так? Насколько я понимаю, AXIsProcessTrusted()
не обязательно должно быть true
, если предполагается, что мониторинг происходит локально.