我正在寻找一种从Qt应用程序中更改键盘布局的方法。该应用程序将在不支持键盘布局文件的Linux内核上运行,因此Qt必须完成有关键盘输入映射的所有操作。
对于嵌入式Linux的Qt,我在这里找到了一个好看的解决方案: Qt Embedded for Linux. Keyboard layout switching
但遗憾的是,根据此处的文档,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的含义。
答案 0 :(得分:1)
好像你应该实现自己的键盘支持层。
dumpkeys
程序,因此您无法在设备上生成键盘映射文件。使用桌面版。