如何获得Mac OSX上的键盘键状态

本文关键字:键盘 状态 何获得 Mac OSX | 更新日期: 2023-09-27 17:53:14

是否有任何方法可以在Mac中仅使用Mono c#获得键盘键状态(特别是游戏)?

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

如何获得Mac OSX上的键盘键状态

嗯,我发现自己处于同样的情况,你要么必须使用System.Windows下的Control类。表单,或者按照这个解决方案的说明,并使其适应c#世界

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

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

希望这对你有帮助!