Мое приложение Qt поддерживает изменение языка ввода в Linux и Windows.Я хочу добавить поддержку для изменения языка ввода в Mac OSX.
К сожалению, у меня нет никакой информации о Mac SDK.(Моей первой и последней работой с OS X была компиляция Qt и компиляция моего приложения!)
Я нашел эту проблему в Google и обнаружил, что мне нужно использовать Службы ввода текста , а также нашелкоды:
TISInputSourceRef isref;
isref = TISCopyCurrentKeyboardInputSource();
CFDataRef uchr = (CFDataRef)TISGetInputSourceProperty(isref, kTISPropertyUnicodeKeyLayoutData);
UCKeyboardLayout * keyLayoutPtr=(UCKeyboardLayout*)CFDataGetBytePtr(uchr);
Является ли keyLayoutPtr
указателем для текущей раскладки клавиатуры?
Если ответ на поставленный выше вопрос «да», то что я должен сравнить с keyLayoutPtr
?
Другими словами, как я могу проверить, является ли текущая раскладка клавиатуры (дляпример) "английский"?(Или что-то вроде LANG_ENGLISH
в Win API или us
в XLib.)