防止错误“放克"事件监视器OS X中发出声音 [英] Prevent error "funk" sound in event monitor 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屋!