我正在尝试发布键盘事件以触发Space更改。
默认情况下,您可以使用控制键更改Spaces +您希望更改为的空格的数字键,这是我正在使用但不起作用的代码:
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);
答案 0 :(得分:2)
好的,找到了解决方案,在这里发布了正确的代码:
CGEventPost(kCGHIDEventTap, spaceDownEvent);