Mac开发小白之路--- 定义全局快捷键(全局监听)

来源:互联网 发布:adobe cs6是什么软件 编辑:程序博客网 时间:2024/05/22 15:04

主要实现的功能是,当NSApp非active状态时候,右键app,会弹出上下文菜单(open contextual menus), 但是此时App不是活跃状态,所以在applicationDidFinishLaunching 定义全局的monitor,可以监控到app外边的键盘或者其他事件的点击,然后我们就可以关闭当前的上下文菜单

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {    [NSEvent addGlobalMonitorForEventsMatchingMask:(NSKeyDownMask | NSLeftMouseDownMask | NSRightMouseDownMask | NSOtherMouseDownMask)  handler:^(NSEvent * event) {        if (event.type == NSKeyDown) {            if ([event keyCode] == kVK_Escape) {               [[NSNotificationCenter defaultCenter] postNotificationName:TO_CLOS_CONTEXT_MENU_WINDOW_NOTIFICATION object:nil];            }        } else {             [[NSNotificationCenter defaultCenter] postNotificationName:TO_CLOS_CONTEXT_MENU_WINDOW_NOTIFICATION object:nil];        }    }];}
0 0
原创粉丝点击