我发现以下获得键盘布局但无法将其转换为字符串的代码:

TISInputSourceRef sourceRef = TISCopyCurrentKeyboardLayoutInputSource();

如果使用CFShow(sourceRef);,则可以看到键盘布局,但不能转换sourceRef。

如何获取字符串中的keyboardLayout ???

最佳答案

我使用以下objc代码:

#import <Carbon/Carbon.h>

TISInputSourceRef source = TISCopyCurrentKeyboardInputSource();
NSString *s = (__bridge NSString *)(TISGetInputSourceProperty(source, kTISPropertyInputSourceID));

您可能还可以将其强制转换为CFStringRef而不是objc字符串。

关于c++ - 如何使用C++在Mac中获取键盘布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15907164/

10-10 10:03