Objective c 修改器标志的NSEvent全局事件监视返回混合结果
关于修改器标志更改的全局监控,出现了一个特殊的问题 假设监视器如下所示Objective c 修改器标志的NSEvent全局事件监视返回混合结果,objective-c,macos,cocoa,nsevent,Objective C,Macos,Cocoa,Nsevent,关于修改器标志更改的全局监控,出现了一个特殊的问题 假设监视器如下所示 _flagsChangedGlobalEventHandler = [NSEvent addGlobalMonitorForEventsMatchingMask:NSFlagsChangedMask handler:^(NSEvent *event) { NSLog(@"Global flags changed event"); NSLog(@"[NSEvent modifierFlags] is %i
_flagsChangedGlobalEventHandler = [NSEvent addGlobalMonitorForEventsMatchingMask:NSFlagsChangedMask
handler:^(NSEvent *event) {
NSLog(@"Global flags changed event");
NSLog(@"[NSEvent modifierFlags] is %i and [event modifierFlags] is %i",
[NSEvent modifierFlags], [event modifierFlags]);
}
最初,按left命令时,日志提供以下内容:
[NSEvent modifierFlags]为1048576,[event modifierFlags]为1048840
在释放left命令之后:
[NSEvent modifierFlags]为0,[event modifierFlags]为256
现在,在我用三个手指按住标题栏区域移动MacBook上的一个窗口后,同一显示器会显示以下结果:
[NSEvent modifierFlags]为1048576,[event modifierFlags]为1048584
在释放left命令之后:
[NSEvent modifierFlags]为0,[event modifierFlags]为0
问题是:
我在10.7.3上。没关系-这一个解释了它!这很有趣——我已经准备好回答了,直到我看到你的评论链接到我的另一个答案!