我已经安装了一个键盘挂钩:
CGEventRef myCGEventCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {
基本上我想获取用户的键盘点击,吃掉输入,然后发布我自己的输入。
因此,如果他点击“g”,我可能想将“foo”发布到文本字段。
我正在用这里找到的文本字段写信CGEventPost
: http CGEventSetUnicodeString
:
//www.mail-archive.com/cocoa-dev@lists.apple.com/msg23343.html
问题是我以编程方式输入的每个字符都在敲击键盘钩子。所以我不能return NULL
在键盘钩子中阻止用户输入......这也阻止了所有程序的输入!
我在 C# 的 Windows 端使用“注入”标志对它们进行了区分,请参阅一年前的问题:如何使用低级 8 位标志作为条件?
在 Objective-C 中寻找类似的东西。