Здравствуйте!
Как можно отследить, когда меняется раскладка клавиатуры, например с русского на английский, учитывая, что комбинация клавиш для этого может быть любой (мне удобнее lShift + lAlt, у кого то может быть своя)?
Я это делал через changeEvent() и проверку:
const int hexKeyLanguageRussian = 0x419;
const int hexKeyLanguageEnglish = 0x409;
QString getTheCurrentLanguageKeyboardLayouts()
{
QString name;
#ifdef Q_WS_WIN
switch(LOWORD(GetKeyboardLayout(0)))
{
case hexKeyLanguageRussian:
name = "Russian";
break;
case hexKeyLanguageEnglish:
name = "English";
break;
}
#endif
return name;
}
void changeEvent()
{
QString language = getTheCurrentLanguageKeyboardLayouts();
....
}
Но моя реализация не самая умная идея