2
在处理Quartz事件时,我似乎无法找到关于什么事件0x1D,29的文档以及如何处理它。当点击Quartz事件时,什么是CGEventType 0x1D(29)?
我在这里,并在头文件的分类看... https://developer.apple.com/documentation/coregraphics/cgeventtype?language=objc
有问题的情况下使用触摸条和触控板时产生。
我的具体问题是点击捕捉触摸栏像转义软键。当用户触摸转义时,会触发0x1D事件。如果此事件未从事件回调中返回,那么kCGEventKeyDown和kCGEventKeyUp事件永远不会被触发。如果返回此事件,则随后的事件将像传统键盘上的按钮一样触发。
eventTap = CGEventTapCreate(kCGHIDEventTap, kCGHeadInsertEventTap, 0, kCGEventMaskForAllEvents, myCGEventCallback, NULL);
//No touch bar soft key events will ever fire
CGEventRef myCGEventCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {
if(type == 0x1D) {
return NULL;
}
}
显然,我可以总是一味返回此类型的事件,但我更愿意理解这一事件代表什么信息可里面的CGEventRef。
非常感谢! –