Swift OSX 按键事件

Swift OSX key event

我一直在 swift 从事 Cocoa OSX 项目,该项目需要使用键盘输入来执行操作。在 keydown 上,我想在 window 上移动一个对象,但是一旦松开键就停止对象。我查看了 AppKit 的文档并找到了 KeyDown 函数,但我似乎无法弄清楚如何使用它。我想创建一个函数来调用我的游戏更新计时器来执行此操作。谢谢

import Cocoa
import Appkit

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {

@IBOutlet weak var window: NSWindow!

func applicationDidFinishLaunching(aNotification: NSNotification) {
    // Insert code here to initialize your application

     func keyDown(theEvent: NSEvent) {
        if (theEvent.keyCode == 1){
            println("test")
        }

    }

}

func applicationWillTerminate(aNotification: NSNotification) {
    // Insert code here to tear down your application



}

}

下面是一些示例代码:

  override func keyDown(theEvent: NSEvent) {
            if (theEvent.keyCode == 1){
           //do whatever when the s key is pressed
        } 

    }

关键代码:

 override func keyDown(with event: NSEvent) {
    if (event.keyCode == 1){
        //do whatever when the s key is pressed
        print("S key pressed")
    }
}

更新 SWIFT 3

SWIFT 4:我创建了一个 repo 来解决我游戏中的这个问题。我主要将它与我的 MTKView 一起使用,但也应该与 NSViews 一起使用。

https://github.com/twohyjr/NSView-Keyboard-and-Mouse-Input