【问题标题】:prevent CGEventCreateKeyboardEvent already pressed modifier keys防止 CGEventCreateKeyboardEvent 已经按下修饰键
【发布时间】:2010-07-30 07:59:45
【问题描述】:

我使用CGEventCreateKeyboardEvent 创建并使用CGEventPost 在 Mac 上发布事件。以下代码非常适合按“a”键。

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

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

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

【问题讨论】:

    标签: cocoa events


    【解决方案1】:

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

    【讨论】:

    • 没有尝试过,认为这无济于事,因为修饰键是由先前的事件设置的。不过值得一试。编辑:工作,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多