如何模拟按下macOS修改键

时间:2018-09-17 13:49:15

标签: swift cocoa macos-mojave

我正在尝试从macOS桌面应用程序模拟按下修改键。设置击键的修饰符标志时,可以发送带修饰符的单个击键:

let keyd = CGEvent(keyboardEventSource: self.src, virtualKey: 0x06, keyDown: true) (v)
let keyu = CGEvent(keyboardEventSource: self.src, virtualKey: 0x06, keyDown: false) (v)

keyd?.flags = CGEventFlags.maskShift; //shift modifier

keyd?.post(tap: self.loc)
keyu?.post(tap: self.loc) 

仅发送修饰符,例如从我的应用程序模拟Shift并从键盘上按键不起作用。

我尝试根据Emulate / send Modifier Key (Cntrl, Alt, fn, Shift) in OSx创建事件点击,没有运气。

我能够通过AppleScript发送修改键来破解。事实是,在莫哈韦沙漠(Mojave)中似乎不再允许这样做。

是否只发送修饰键?

1 个答案:

答案 0 :(得分:0)

终于可以使用事件点击来监听按键并设置修饰符将其标记为 Emulate / send Modifier Key (Cntrl, Alt, fn, Shift) in OSx