如何在Mac OSX上获得键盘按键状态?

时间:2011-04-24 19:23:11

标签: c# macos mono

有没有办法只使用Mono C#在Mac上获得键盘按键状态(尤其是游戏)?

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

1 个答案:

答案 0 :(得分:3)

好吧,我发现自己处于相同的情况,你要么必须使用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;

希望这有帮助!