我使用 CGEventCreateKeyboardEvent
在 Mac 上创建事件并使用 CGEventPost
发布事件。以下代码非常适合按“a”键。
CGEventRef downEvent = CGEventCreateKeyboardEvent(NULL, 0, YES);
CGEventPost(kCGHIDEventTap, downEvent);
CFRelease(downEvent);
问题在于用户可能按下了修饰键。例如,当用户在发送键盘事件时已经按下 Command 键时,Command + a 将被发送到事件应用程序,而不仅仅是字符 a。
有办法解决这个问题吗?我可以明确地说我想发布一个字符,忽略任何可能已经按下的(修饰符)键。
最佳答案
您是否尝试将事件的标志设置为0
?
关于cocoa - 防止 CGEventCreateKeyboardEvent 已按下修饰键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369623/