首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在macOS Swift中检测命令键按下

在macOS Swift中检测命令键按下
EN

Stack Overflow用户
提问于 2021-03-04 01:45:24
回答 1查看 136关注 0票数 1

我正在使用事件监视器在swift中检测按键事件。然而,事件监视器似乎没有检测到命令键或任何其他修改键(shift、tab、Opt...)按下。有没有不同的方法来检测修改键按下?请注意,我不是在寻找一种方法来检测组合键(例如: cmd+r),这可以通过使用event.modifierFlags来完成,而是一种知道何时单独按下命令键的方法。

代码语言:javascript
复制
override func viewDidLoad() {
        super.viewDidLoad()
        NSEvent.addLocalMonitorForEvents(matching: .keyDown, handler: commandKey(evt:))
}

    func commandKey(evt: NSEvent) -> NSEvent{
        if evt.keyCode == 55 { //key code for command is 55
          print("commanded")
        }
        return evt
    }
EN

回答 1

Stack Overflow用户

发布于 2021-03-04 01:48:15

找到了解决方案。似乎.flagsChanged事件用于检测修改键按下。

代码语言:javascript
复制
override func viewDidLoad() {
        super.viewDidLoad()
        NSEvent.addLocalMonitorForEvents(matching: .flagsChanged, handler: commandKey(evt:))
}

func commandKey(evt: NSEvent) -> NSEvent{
        if evt.modifierFlags.contains(.command){
            print("commanded")
        }
        return evt
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66462220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档