我是Swift编码的新手,我试图创建一个简单的Mac应用程序,在其中我可以打开一些应用程序,切换到新的Space,再打开一些其他应用程序,等等。
我决定尝试模拟虚拟按键,以便切换到预先创建的Space。 (在我的系统上,将“ ctrl-a”切换到第一个空格,将“ ctrl-b”切换到第二个空格,依此类推。
以前的搜索在这里为我提供了以下代码:
func keyPress(letterKeyCode: CGKeyCode) {
let controlKeyDownEvent = CGEvent(keyboardEventSource: nil, virtualKey: CGKeyCode(kVK_Control), keyDown: true)
controlKeyDownEvent?.flags = CGEventFlags.maskCommand
controlKeyDownEvent?.post(tap: CGEventTapLocation.cghidEventTap)
let letterKeyDownEvent = CGEvent(keyboardEventSource: nil, virtualKey: letterKeyCode, keyDown: true)
letterKeyDownEvent?.flags = CGEventFlags.maskCommand
letterKeyDownEvent?.post(tap: CGEventTapLocation.cghidEventTap)
let letterKeyUpEvent = CGEvent(keyboardEventSource: nil, virtualKey: letterKeyCode, keyDown: false)
letterKeyUpEvent?.flags = CGEventFlags.maskCommand
letterKeyUpEvent?.post(tap: CGEventTapLocation.cghidEventTap)
let controlKeyUpEvent = CGEvent(keyboardEventSource: nil, virtualKey: CGKeyCode(kVK_Control), keyDown: false)
controlKeyUpEvent?.flags = CGEventFlags.maskCommand
controlKeyUpEvent?.post(tap: CGEventTapLocation.cghidEventTap)
}
但是它不起作用。任何帮助表示赞赏。