我正在寻找一种从我的 Qt 应用程序中更改键盘布局的方法。该应用程序将在不支持键盘布局文件的 Linux 内核上运行,因此 Qt 必须完成有关键盘输入映射的所有工作。
对于 Qt for Embedded Linux,我在这里找到了一个好看的解决方案: Qt Embedded for Linux。键盘布局切换
但不幸的是,QKbdDriverFactory 类不适用于任何其他 Qt 版本,根据此处的文档:http: //qt-project.org/doc/qt-4.8/qkbddriverfactory.html 我无论如何都尝试包含它(令人惊讶的是,该类是那里),但是每当我调用 create 函数时,编译器都会抛出“未定义的引用”错误。
我必须手动编程巨大的 QMap 对象吗?请告诉我有一种不那么乏味的方法。我不想相信 qmap 文件不能在 Qt 之外用于嵌入式 Linux,因为如果 kmap2qmap 转换器大部分时间都没用,为什么它几乎可以在任何 SDK 中使用?
亚历克斯
编辑:附加信息:我使用的是 Qt 4.7.4(32 位)和 QtCreator 2.4.1。
我在虚拟机上使用 Ubuntu 12.04、64 位。
目标系统是具有专用最小 Linux 内核的硬件,因此尝试使用 Qt Embedded 将非常困难。
没有 Xcb 服务器,没有帧缓冲区插件(edit2:但我们确实使用帧缓冲区),我无法找出 DE 或 eglfs 的含义。