Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [qt] узнать раскладку клавиатуры |
Автор: _GRIN_ 19.8.2010, 17:49 |
Здравствуйте. Столкнулся с проблемой. При вводе пароля надо отобразить на лэйбле идентификатор раскладки. А как узнать раскладку? QApplication::keyboardInputLocale() возвращает пустую локаль ("С") QApplication::inputContext()->language() возвращает ("Russian") даже когда раскладка английская QLocale::system() - тоже всегда русская. |
Автор: Modul 19.8.2010, 22:08 |
http://www.forum.crossplatform.ru/lofiversion/index.php/t3869.html |
Автор: maxxant 21.8.2010, 21:34 |
это баг. http://bugreports.qt.nokia.com/browse/QTBUG-3631 другие рекомендуют использовать евенты от X11 и Xkb Добавлено через 10 минут и 43 секунды А, ну и да, D-bus (dbus-monitor правда ничего у меня не видит по смене раскладке, но вдруг, я чего-то не понимаю). см спецификацию hal'а по: input.xkb namespace Device objects with the capability input.keys can provide information about their physical layout. ... input.xkb.layout (string) e.g. "us" - Keyboard layout (as engraved on the keys). ... |
Автор: _GRIN_ 22.8.2010, 23:46 |
maxxant, спасибо, теперь понятно, что через Qt не выйдет (до версии 4.7). Вопрос закрыт, всем спасибо за помощь. ) |
Автор: dmitrio 25.9.2012, 11:40 |
Дак все-таки как определить текущую раскладку средствами Qt? |
Автор: dmitrio 1.10.2012, 06:31 |
up |
Автор: dmitrio 3.10.2012, 12:50 |
Решил использованием Xkblib |