cocoa - 防止 CGEventCreateKeyboardEvent 已按下修饰键

标签 cocoa events

我使用 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/

相关文章:

objective-c - 如何制作一个类似 iTunes 的(播放列表、库)左侧(可折叠)导航栏?

cocoa - 在 NSMenuItem 中添加 NSSubmenu 项

cocoa - 如何将 4 字符 OSType/NSFileHFSTypeCode 与特定 UTI 关联

ios - 在 stringByReplacingOccurrencesOfString 中替换的字符串数

iphone - 在Cocoa中,如何使用 NSTimeZone 以字符串形式获取系统时区偏移量?

android - 捕获Intent.ACTION_MEDIA_BUTTON事件

jquery - CSS 按钮响应 "beacon"作为点击事件

c# - 编辑模式下 DataGridView C# 行中的默认值

c# - 我应该仅使用事件聚合器来防止内存泄漏吗?

java - JDateChooser : MouseClicked event doesn't get fired