【问题标题】:how to get Apple "command button" key code programmatically?如何以编程方式获取 Apple“命令按钮”键代码?
【发布时间】:2012-05-25 19:28:09
【问题描述】:

我需要知道mac键盘中Command按钮的键码,有人知道如何以编程方式获取它吗?

如果用户点击按钮 Command + X(剪切快捷键),我可以获得密钥代码吗?谢谢你的建议

【问题讨论】:

    标签: macos shortcut keycode


    【解决方案1】:

    我在这里假设您正在处理由 AppKit 框架生成的 NSEvent。

    在 NSEvent 的文档中,查看 modifierFlags 方法。

    而您正在寻找的标志就是 NSCommandKeyMask

    现在,要获得它,如果您有一个 NSView 视图焦点...它继承自 NSResponder。 NSResponder 中的一种方法是keyDown。因此,将keyDown 方法添加到您的子类视图中,它采用的参数是NSEvent。这就是您获得命令按钮键的方式。

    顺便说一句,仅供参考,如果您只想自己获取命令键(这是我怀疑的),这是一个更大的技巧,我不确定如果 AppKit 可以的话。因为命令键和控制键和 shift 键一样,都是 修饰符 键,这意味着当事件生成时,NSEvent 期望同时按下两个键(例如,Command + Q 表示退出, Control + C 表示中断,Shift + A 表示大写 A)。

    【讨论】:

    • 谢谢@Michael 的回答,你能告诉我如何获取它的代码吗?可以举个例子吗?
    • 我在我的回答中添加了更多细节(您可以通过子类化您的视图并实现您自己的 keyDown 方法来捕捉发生的 NSEvent)。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    相关资源
    最近更新 更多