我正在尝试发布一个键盘事件来触发Space change。
默认情况下,您可以使用control键+数字键来更改您想要更改的空格,以下是我正在使用但不起作用的代码:
int spaceToChangeTo = 3;
int keyCodeForSpace = space + 17; // keycode 18 = number 1 on the keyboard, and onwards.
CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventRef spaceDownEvent = CGEventCreateKeyboardEvent(source, (CGKeyCode)keyCodeForSpace, YES);
CGEventSetFlags(spaceDownEvent, kCGEventFlagMaskControl);
CGEventRef spaceUpEvent = CGEventCreateKeyboardEvent(source, (CGKeyCode)keyCodeForSpace, NO);
CGEventPost(kCGAnnotatedSessionEventTap, spaceDownEvent);
CGEventPost(kCGAnnotatedSessionEventTap, spaceUpEvent);
CFRelease(spaceDownEvent);
CFRelease(spaceUpEvent);
CFRelease(source);发布于 2010-12-14 13:26:23
好了,找到了解决方案,其中发布事件的正确代码是:
CGEventPost(kCGHIDEventTap, spaceDownEvent);https://stackoverflow.com/questions/4435945
复制相似问题