Отключить встроенную клавиатуру в Mac OS X программно? - PullRequest
0 голосов
/ 20 ноября 2018

Есть ли способ отключить клавиатуру в macos x?

Я ищу способ использовать эту функцию в приложении.Поэтому желательно что-то, что может быть сделано программно и не требует корневых преимуществ?

Я хочу, чтобы клавиатура была отключена повсюду в операционной системе, даже если приложение находится в фоновом режиме, пока я не включу ее нажатием кнопкинапример.

Я новичок в программировании на Mac OS, поэтому буду признателен за дополнительные разработки:)

ОБНОВЛЕНИЕ: я пытаюсь использовать это: CGEventTapCreate , но не могу получить егоРабота.Кто-нибудь знает, как заставить его работать в Swift 3?

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете переопределить события keyDown и keyUp и выйти из функции без вызова ее суперкласса

override func keyDown(with event: NSEvent) {
    //super.keyDown(event)
}
override func keyUp(with event: NSEvent) {
    //super.keyUp(event)
}

Приведенный выше код работает для NSTextView

Для NSTextField вы должны вручную удалить буквупоступил.Что касается NSTextfield, событие keyDown не будет вызываться при переопределении.

override func keyUp(with event: NSEvent) {
    self.stringValue = ""
}

Я использовал эти методы, но не совсем уверен, правильно ли это сделать ... Но это работает: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...