全球热键两次,如听写功能

时间:2013-05-05 20:39:11

标签: objective-c cocoa

在Mac OS ML中,可以通过按两次fn键来设置切换听写。我想在我的应用程序中使用相同的全局快捷方式。有没有人有观看双按键的经验?

1 个答案:

答案 0 :(得分:0)

使用NSEvent,您可以使用addGlobalMonitorForEventsMatchingMask:handler:设置全局监视器。以下是允许您监视fn密钥的代码,但如果您还要过滤,您当然可以更改它对于NSKeyDownMask。

__block double prevTimeInterval = 0;
[NSEvent addGlobalMonitorForEventsMatchingMask:NSFlagsChangedMask handler:^(NSEvent *theEvent) {
    if (theEvent.keyCode == 63) {
        if (theEvent.timestamp - prevTimeInterval < 0.2)
            NSLog(@"Double pressed fn key");
        prevTimeInterval = theEvent.timestamp;
    }
}];