私は長年のObjective-Cユーザーで、新しいプロジェクトでゆっくりとSwiftに移行しています。私はより大きなもののためにCocoaPodを使用しており、これをカバーする良いライブラリを見つけることができません。Mac OS Xのキャプチャファンクションキー
だから私はで開始する私のNSViewController viewDidLoad
の内側にこのコードを持っている。だから、最初のイベントのキャプチャは私のアプリは、システム環境設定アクセシビリティリストでチェックした後、完璧な作品
_ = NSEvent.addGlobalMonitorForEventsMatchingMask(NSEventMask.KeyDownMask) {
(event) -> Void in
print("Event is \(event)")
}
let event = NSEvent.keyEventWithType(NSEventType.KeyDown,
location: CGPoint(x:0,y:0),
modifierFlags: NSEventModifierFlags(rawValue: 0),
timestamp: 0.0,
windowNumber: 0,
context: nil,
characters: "\n",
charactersIgnoringModifiers: "",
isARepeat: false,
keyCode: 0) //NSF7FunctionKey
NSApplication.sharedApplication().sendEvent(event!)
。 OS Xのどの場所でも、キープレスをキャプチャします。今度はdocsでは、ファンクションキーのために私はkeyEventWithType
を使うべきだと言います。
このgistが見つかりましたが、同じsharedApplication
インスタンスに対応していることに気付きましたが、イベントをキャッチする方法はわかりません。私は特定の方法で委任しますか?また、Fキーの定数はint
であり、メソッドはUint16
を受信したいとします。私はそれを型キャストすることができますが、私は間違って使用していると思います。