Van*_*uan 4 qt internationalization keyboard-layout qtembedded
我正在使用Qt Embedded开发应用程序并在linux framebuffer中运行它.我需要一种方法来输入非美国字符.是否可以用Qt更改键盘布局?
我试着在Qt/X11上运行它.布局切换和输入在那里非常好.但是当我用Qt/Embedded编译它并在framebuffer中运行它时我无法改变布局.
我搜索了文档,没有找到任何关于布局切换的信息.
我认为它与文档中指定的qt键盘驱动程序有关.看来我应该开发自己的键盘驱动程序.但我正在使用标准键盘,我认为必须有一种标准的方式来改变输入语言?
你会建议什么?
顺便说一下,我正在使用4.5版本.也许4.6有什么可以解决这个问题?
这里遇到同样的问题:
http://lists.trolltech.com/pipermail/qt-embedded-interest/2008-August/000034.html
http://lists.trolltech.com/qt-interest/2004-02/msg00570.html
版本4.6获得了键盘映射支持.解:
生成kmap文件:
ckbcomp -layout xx> xx.kmap
将kmap转换为qmap
kmap2qmap xx.kmap xx.qmap
通过加载键映射
指定QWS_KEYBOARD环境变量:
QWS_KEYBOARD = "TTY:键盘映射= xx.qmap"
或动态加载键图:
QWSKeyboardHandler * currentKeyboardHandler =
QKbdDriverFactory::create("TTY", "keymap=foo.qmap");
Run Code Online (Sandbox Code Playgroud)
确保在创建新处理程序时删除创建的处理程序:
delete currentKeyboardHandler;
currentKeyboardHandler =
QKbdDriverFactory::create("TTY", "keymap=bar.qmap");
Run Code Online (Sandbox Code Playgroud)似乎Qt for Embedded linux被Project Lighthouse取代.但不确定,如果它已准备就绪,我也不知道它是如何处理键盘布局切换的.
更新
Qt5没有QWS,所有与QWS相关的API都被删除了.所以你需要一些第三方解决方案.或者为QPA写一个插件.
归档时间: |
|
查看次数: |
5303 次 |
最近记录: |