swift - 在事件监视器 OS X 中防止错误 "funk"声音

标签 swift macos menubar

我正在用 swift 编写一个位于屏幕顶部菜单栏中的应用程序。我需要一个全局和本地事件监视器来打开特定按键上的弹出窗口。本地事件监视器没有问题,但是当用户从 Finder 等应用程序中按下键盘命令 (cmd+shift+8) 时,弹出窗口会打开,但也会播放 mac 错误“Funk”声音。有什么办法可以禁用它吗?也许应用程序可以通过某种方式吃掉声音,或者将其注册为有效的键盘快捷键以便永远不会播放声音?

代码如下:

        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作为此问题的临时解决方案。

关于swift - 在事件监视器 OS X 中防止错误 "funk"声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334405/

相关文章:

swift - 调用 UIActivityViewController 时 IOS 8 iPad 应用程序崩溃

javascript - 在 Mac OS 上使用 JavaScript 控制台 (JSC) 管理文件系统对象

java - Vaadin:从菜单项中删除标题

sublimetext3 - Sublime Text 3-主菜单栏定制

ios - 设置 UIBarButtonItem.appearance() 在 iOS 15 上不起作用

swift - 通过比较实例属性类型和泛型参数来约束泛型函数

ios - 显示覆盖 View ,但未删除

macos - 如何修复我不赞成使用的 gluOrtho2D()?

macos - 无法从窗口菜单恢复最上面的窗口 (OSX)

html - 动画 HTML 菜单栏项