【发布时间】:2010-07-26 20:37:29
【问题描述】:
我的 Qt 应用程序支持在 Linux 和 Windows 上更改输入语言。我也想添加对在 Mac OSX 中更改输入语言的支持。
很遗憾,我没有关于 Mac SDK 的任何信息。 (我在 OS X 上的第一个也是最后一个工作是编译 Qt 并编译我的应用程序!)
我在谷歌上搜索了这个问题,发现我需要使用Text Input Source Services,而且我还找到了这些代码:
TISInputSourceRef isref;
isref = TISCopyCurrentKeyboardInputSource();
CFDataRef uchr = (CFDataRef)TISGetInputSourceProperty(isref, kTISPropertyUnicodeKeyLayoutData);
UCKeyboardLayout * keyLayoutPtr=(UCKeyboardLayout*)CFDataGetBytePtr(uchr);
keyLayoutPtr 是当前键盘布局的指针吗?
如果上述问题的答案是“是”,那么我应该与keyLayoutPtr比较什么?
换句话说,我如何检查当前的键盘布局是否(例如)“英文”? (或者类似于 Win API 中的 LANG_ENGLISH 或 XLib 中的 us。)
【问题讨论】:
标签: macos qt keyboard-layout