Carbon-OSX-使用CGEventPost发送修改的密钥事件
我试图以编程方式发送修改过的击键,例如大写字母“a”。问题是移位修改器似乎没有任何效果 在我的代码中,我有两个事件,一个用于shift键向下,另一个用于“m”键向下Carbon-OSX-使用CGEventPost发送修改的密钥事件,c,macos,events,keyboard,macos-carbon,C,Macos,Events,Keyboard,Macos Carbon,我试图以编程方式发送修改过的击键,例如大写字母“a”。问题是移位修改器似乎没有任何效果 在我的代码中,我有两个事件,一个用于shift键向下,另一个用于“m”键向下 CGEventRef mDown = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)46, true); CGEventRef shiftDown = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)56, true); CGEventPo
CGEventRef mDown = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)46, true);
CGEventRef shiftDown = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)56, true);
CGEventPost(kCGAnnotatedSessionEventTap, shiftDown);
CGEventPost(kCGAnnotatedSessionEventTap, mDown);}
CFRelease(shiftDown);
CFRelease(mDown);
不幸的是,结果总是一个小案例“m”
任何帮助都将不胜感激。您应该改用CGEventKeyboardSetUnicode解压。请参阅以获取一些示例代码。CGEventKeyboardSetUnicodeString()不支持向事件添加诸如Ctrl之类的修饰符。