防止CGEventCreateKeyboardEvent已按下修饰键

时间:2010-07-30 07:59:46

标签: cocoa events

我正在使用CGEventCreateKeyboardEvent创建并CGEventPost在Mac上发布活动。以下代码适用于按下“a”键。

CGEventRef downEvent = CGEventCreateKeyboardEvent(NULL, 0, YES);
CGEventPost(kCGHIDEventTap, downEvent);
CFRelease(downEvent);

问题在于用户可能按下了修改键。例如,当用户在发送键盘事件时已按下Command键时,Command + a将被发送到活动应用程序,而不仅仅是字符a。

有办法解决这个问题吗?我可以明确地说我想发布一个字符,忽略可能已被按下的任何(修饰符)键。

1 个答案:

答案 0 :(得分:1)

您是否尝试将事件的标记设置为0