Swif / Какао / MacOS - Как остановить отправку ключа - PullRequest
0 голосов
/ 03 марта 2019

У меня есть глобальная горячая клавиша для моего приложения, но после того, как оно вызвано, оно ищет следующую нажатую букву, чтобы изменить его поведение.Проблема в том, что письмо все еще набирается в текстовом редакторе, если оно открыто.Есть ли способ остановить его прохождение?

Редактировать: Вот код, который у меня есть до сих пор:

let options = NSDictionary(object: kCFBooleanTrue, forKey: kAXTrustedCheckOptionPrompt.takeUnretainedValue() as NSString) as CFDictionary
let trusted = AXIsProcessTrustedWithOptions(options)
if (trusted) {
    NSEvent.addGlobalMonitorForEvents(matching: .keyDown, handler: self.handler)
}

Метод обработчика:

func handler(event: NSEvent!) {
    let key = event.keyCode
    let flag = event.modifierFlags.rawValue
    if waitForNextLetter {
        waitForNextLetter = false
        // don't let this letter be dispatched
    }
    if key == 0 && flag == 655650 {
        waitForNextLetter = true
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...