我正在寻找一种方法来设计一个带有修饰键的小面板(例如 shift、command),并且必须像虚拟键盘一样点击它。
我希望它有这种行为:
- 点击虚拟键(shift)。
- 换档按钮保持不变,并一直被按下。
- 用我的标准键盘输入一些东西。
- 再次单击虚拟 shift 键以释放它。
这是我正在使用的代码:
CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateHIDSystemState);
CGEventRef shiftKeyDown = CGEventCreateKeyboardEvent(source, (CGKeyCode)56, YES);
CGEventRef shiftKeyUp = CGEventCreateKeyboardEvent(source, (CGKeyCode)56, NO);
CGEventPost(kCGAnnotatedSessionEventTap, shiftKeyDown);
CGEventPost(kCGAnnotatedSessionEventTap, shiftKeyUp);
CFRelease(shiftKeyUp);
CFRelease(shiftKeyDown);
CFRelease(source);
在我再次单击它之前,我找不到保持按下状态的方法。我虽然“Push On Push Off”按钮单元类型是关键,但不幸的是没有。:-)
有什么帮助吗?
提前致谢。