【问题标题】:How to get keyboard keys state on Mac OSX?如何在 Mac OSX 上获取键盘按键状态?
【发布时间】:2011-08-11 23:24:36
【问题描述】:

有什么方法可以让我仅使用 Mono C# 在 Mac 中获取键盘键状态(尤其是游戏)?

我正在寻找纯粹基于 C# 的解决方案,而不是任何其他 API。有这样的支持吗?

【问题讨论】:

    标签: c# macos mono


    【解决方案1】:

    好吧,我发现自己也遇到了同样的情况,您要么必须使用 System.Windows.Forms 下的 Control 类,要么按照 this solution 的说明将其适应 C# 世界

    我对大写键特别感兴趣,所以我做了:

        [DllImport("/System/Library/Frameworks/ApplicationServices.framework/ApplicationServices")]
        public static extern long CGEventSourceFlagsState(int keyCode);
        bool CapsLock = (CGEventSourceFlagsState(1) & 0x00010000) != 0;
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 2011-04-08
      • 2013-11-22
      • 2015-08-10
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      相关资源
      最近更新 更多