2016-10-09 15 views
0

キーボードのキーが押されたことを背景アプリケーションが知ることは可能ですか?keydownイベントの処理方法は? | Swift3 OSX

区別する必要がないキーは問題ではなく、アプリケーションはアクセス不能になる可能性があります。

+0

http://stackoverflow.com/a/34562563/2303865 –

答えて

0

イベントがスタート

override func viewDidLoad() { 
     super.viewDidLoad() 
     // Start monitoring 
     eventMonitor = NSEvent.addGlobalMonitorForEvents(matching: .keyDown, 
     handler: onEvent) 
} 

ようmonitorngそして、ハンドラメソッドは、あなたがしたかったルックilke

func onEvent(_ incomingEvent: NSEvent) { 
     print("KeyPressed \(incomingEvent.characters!)") 
} 

になりますあなたのviewDidLoad()メソッドで

var eventMonitor: Any? 

ように監視宣言キープレスイベントを取得するためにアプリのアクセシビリティを有効にします。次のコードはaccessibiltを要求するユーザーのポップを表示します。

let options : NSDictionary = [kAXTrustedCheckOptionPrompt.takeRetainedValue() as NSString: true] 
関連する問題