我正在尝试以编程方式发送修改后的击键,例如大写的“A”。问题是 shift 修饰符似乎没有任何效果。
在我的代码中,我有两个事件,一个用于按下 shift 键,另一个用于按下“m”键。
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'!
任何帮助,将不胜感激。