我的 Qt 应用程序支持在 Linux 和 Windows 上更改输入语言。我也想添加对在 Mac OSX 中更改输入语言的支持。
不幸的是,我没有关于 Mac SDK 的任何信息。(我在 OS X 上的第一个也是最后一个工作是编译 Qt 并编译我的应用程序!)
我用谷歌搜索这个问题,发现我需要使用文本输入源服务,而且我发现了这些代码:
TISInputSourceRef isref;
isref = TISCopyCurrentKeyboardInputSource();
CFDataRef uchr = (CFDataRef)TISGetInputSourceProperty(isref, kTISPropertyUnicodeKeyLayoutData);
UCKeyboardLayout * keyLayoutPtr=(UCKeyboardLayout*)CFDataGetBytePtr(uchr);
是keyLayoutPtr
当前键盘布局的指针吗?
如果上述问题的答案是“是”,那么我应该与什么比较keyLayoutPtr
?
换句话说,我如何检查当前的键盘布局是否(例如)“英语”?(或者LANG_ENGLISH
在 Win API 或us
XLib 中。)