Я ищу способ изменить раскладку клавиатуры из моего приложения Qt. Приложение будет работать на ядре Linux, которое не поддерживает файлы раскладки клавиатуры, поэтому Qt должен сделать все, что касается отображения ввода с клавиатуры.
В случае Qt для Embedded Linux я нашел красивое решение здесь: Qt Встроено для Linux. Переключение раскладки клавиатуры
Но, к сожалению, класс QKbdDriverFactory недоступен для любых других версий Qt, согласно документации здесь: http://qt-project.org/doc/qt-4.8/qkbddriverfactory.html Я все равно пытался включить его (и удивительно, что класс был там), но компилятор выдает ошибки "неопределенная ссылка" всякий раз, когда я вызвать функцию создания.
Должен ли я вручную программировать огромные объекты QMap? Подскажите, пожалуйста, есть ли менее утомительный способ. Я не хочу верить, что файлы qmap нельзя использовать вне Qt для встроенного Linux, потому что зачем конвертер kmap2qmap доступен практически в любом SDK, если большую часть времени он бесполезен?
Алекс
edit: Дополнительная информация: я использую Qt 4.7.4 (32-разрядная версия) и QtCreator 2.4.1.
Я работаю над Ubuntu 12.04, 64-разрядная версия на виртуальной машине.
Целевая система представляет собой аппаратное обеспечение со специализированным минимальное ядро Linux, поэтому пытаться использовать Qt Embedded было бы очень сложно.
Нет ни сервера Xcb, ни плагина буфера кадров (edit2: Но мы используем буфер кадров), и я не мог выяснить, что такое DE или eglfs. означает.