防止错误“放克"事件监视器OS X中发出声音 [英] Prevent error "funk" sound in event monitor OS X

查看:85
本文介绍了防止错误“放克"事件监视器OS X中发出声音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在迅速编写一个应用程序,该应用程序位于屏幕顶部的菜单栏中.我既需要全局事件监视器,也需要本地事件监视器,以在特定按键上打开弹出窗口.本地事件监视器没有问题,但是当用户从Finder之类的应用程序中敲击键盘命令(cmd + shift + 8)时,弹出窗口会打开,但也会播放mac错误"Funk"声音.有什么办法可以禁用此功能吗?也许应用可以通过某种方式来欣赏声音,或者将其注册为有效的键盘快捷键,从而使声音永不播放?

I'm writing an app in swift that lives in the menu bar at the top of the screen. I need both a global and local event monitor to open the popover on a specific key press. There is no problem with the local event monitor, but when the user hits the key command (cmd+shift+8) from inside an app like Finder, the popover opens but the mac error "Funk" sound is played as well. Is there any way I can disable this? Perhaps some way for the app to eat the sound, or register it as a valid keyboard shortcut so the sound is never played?

这是代码:

        NSEvent.addGlobalMonitorForEvents(matching: NSEventMask.keyDown, handler: {(event: NSEvent!) -> Void in
        if (event.keyCode == 28 && event.modifierFlags.contains(NSEventModifierFlags.command) && event.modifierFlags.contains(NSEventModifierFlags.shift)){
            self.togglePopover(sender: self)
        }
    });

    NSEvent.addLocalMonitorForEvents(matching: NSEventMask.keyDown, handler: {(event: NSEvent!) -> NSEvent? in
        if (event.keyCode == 28 && event.modifierFlags.contains(NSEventModifierFlags.command) && event.modifierFlags.contains(NSEventModifierFlags.shift)){
            self.togglePopover(sender: self)
        }
        return event
    });

推荐答案

我最终使用了 MASShortcut 作为解决此问题的方法.

I ended up using MASShortcut as a workaround solution to this issue.

这篇关于防止错误“放克"事件监视器OS X中发出声音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆