我发现以下获得键盘布局但无法将其转换为字符串的代码:
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/