以编程方式禁用macosx中的内置键盘



有办法禁用macos x中的键盘吗?

我正在寻找一种在应用程序中使用这种函数性的方法。所以最好是可以用程序完成的,不需要root预览的东西?

我希望在操作系统中的任何地方都能启用键盘,即使应用程序在后台,直到我通过按下按钮来启用它。

我是macos编程的新手,所以会感谢更多的详细说明:(

更新:我正在尝试使用这个:CGEventTapCreate,但无法使其工作。有人知道如何在swift 3中工作吗?

您可以覆盖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

最新更新