当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于Qtopia的嵌入式中文输入法设计

 随着基于ARM内核芯片的大规模应用,手持嵌入式设备迎来了一个庞大的市场。与用户直接打交道的图形界面的友好程度决定了用户对该产品的感观认识。在这个方兴末艾的市场,嵌入式Linux由于其系统优异的健壮性,以及开源、免费等显著优势,成为嵌入式设备的主流操作系统。其中,Qtopia是TrolItech公司为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台,因其友好的界面、完善的开发环境,已被国内移动电话制造商中兴通讯选作其移动电话ZTEU980基于Linux的应用开发框架,使Qtopia电话版成为中兴通讯支持中国3G标准TD-SCDMA的核心部件,Qtopia在嵌入式市场的竞争中拨得头筹。
    在Qtopia的应用中,有许多需要用户输入本地文字的场合,如短信、通讯录及记事本等,而Qtopia现有的输入方式,是基于虚拟的QWER-TY全键盘的,在实际应用中,这种QWERTY全键盘不仅需要用户双手进行操作,而且由于按键排布紧密,从而导致误码率居高不下。
    本文提出一种基于Qtopia的采用传统九宫格方式的中文输入法设计。传统九宫格的虚拟键盘不仅符合大众的使用习惯,而且可以实现单手操作,可以为用户带来舒适的输入体验,提高产品的市场占有率。

l Qtopia中文编码及插件技术
    要实现汉字在Qtopia系统里正确处理并显示,必须满足两个前提条件:一是系统要有支持中文的编码;另一个是要有能显示这个中文编码的字符字体存在。本文的Linux开发环境代码编辑器的编码为GBK,目标机上的Qtopia平台使用Unicode编码,所以在程序里首先按如下的方式进行编码转换:
   
    接下来为Qtopia系统提供中文字体,Qtopia支持多种字体。包括ttf.bdf,qpf格式。其中qpf格式的字体使用最为方便,本文采用支持中文的Simsun_120_50.qpf字体文件,把该字体文件保存至MYMQTEDIR/lib/fonts目录下,修改字体链接fontdir文件,在菜单Appearance的Font选项里选中该字体,此时系统中文显示正常。
    在Qtopm中,输入法是以基于插件的方式实现的,Qtopia插件分为应用程序插件、服务器插件和系统插件3种。其中,应用程序插件是应用程序使用的插件,服务器插件是在启动时由Qtopia服务器进行装载的插件,系统插件是在应用程序启动时被装载的插件。本文所涉及的输入法属于服务器插件。
    Qtopia中通过类似COM的层来使用插件,建立一个插件的基本步骤为:创建插件的接口;写插件将提供的功能函数;为接口定义子类;创建一个插件实例;装载插件。
    在实现输入法插件的创建后,需将该插件编译成动态链接库的形式,并安装到插件对应的目录下,对于输入法插件而言。指定的存放目录为$QTEDIR/plugins/inputmethods。系统启动时,插件装载器会自动装载这个文件夹里的输入法插件。
[!--empirenews.page--]
2 输入法在Qtopia中的实现
2.1 输入法模块的实现

    中文拼音输入法的设计,要实现数字拼音键到汉字的转换。所谓数字拼音是指按照手机键盘上英文字母的布局来输入汉语拼音所得到的一串数字,对于九宫格形式的虚拟键盘来说,其键盘的布局特点导致不能直接输入汉语拼音而只能输入数字键盘扫描码,然后由扫描码的识别及纠错处理模块对其进行拼音组合、文字匹配检索后才能得到相应的汉字,处理流程见图l。


    首先用户输入的数字键盘扫描码要转换为相应的汉语拼音,本文采用查表检索法实现数字拼音到汉语拼音的转换,并对用户无效的拼音组合进行高亮提示。然后根据字典数据库检索相应的汉字,并对用户的输入进行机器学习,针对用户输入习惯不同,对用户输入常用词进行自适应排序。利用自带字库的基础语言模型与用户常用词模型相结合的检索技术对候选字进行自动排序,得到最终的候选字输出。如图2所示。


    该输入法注重对用户输入的常用词、高频词的自适应,利用基础字库模型和用户习惯模型结合进行解码。主要思想是通过跟踪用户输入过程,记录用户输入习惯,然后根据用户的输入字词的不同概率动态调整相应的数据,并将结果存放于用户模型中。
2.2 移植输入法到Qtopia中
    Qtopia 2.x系统中支持弹出式输入法的插件实现。弹出式输入法在没有键盘和其他文件输入设备时使用,它弹出窗口部件,用户可通过设备的触摸屏操作产生键事件,它们也被看做基于笔的输入方法。在本文中,采用ExtInputMethodInterface作为创建输入法插件的接口。
    (1)为弹出输入方法设备窗口部件。弹出输入法必须提供一个显示在屏幕上的Qwidget窗口部件,并在一个键被按下时发出一个信号,Qt-opia处理输入窗口部件的显示和隐藏。信号和插槽是Qt的核心机制,应用于对象之间的通信,信号和插槽是真正的信息封装,所有从QObject或其子类派生的类都能够包含信号,当对象改变状态时,信号就由该对象发射(emit)出去,对象并不需要知道另一端是谁在接收这个信号。本文的输入法设计,在用户点击选字按键时,一个包含所选字符的keyPress信号被发射出去。
   
   [!--empirenews.page--] 在这个keyPress信号中,Llshort unicode为输入字符的unicode编码值,这样就可以把所选字符的编码传递给Qtopia系统,系统就会在当前光标处输入相应文字。
    (2)创建一个ExtInputMethodInterface插件。
    (3)编译该输入法插件。为了编译输入法插件,需要在.pro文件中设置如下:
   
    依次完成上述步骤,即可实现Qtopia输入法的创建及编译,本文所实现的中文拼音输入法如图3所示,当用户选择该输入法时,会弹出一个输入面板,该面板由候选字区、拼音组合选择区、拼音输入区及功能区组成。在开发板上运行该输入法如图3所示。


    候选字区 位于面板的最上方。由6个QPushButton组成,单击后相应的文字会输出至Qtopia系统当前光标处,并自动联想该字的常用词组合。
    拼音组合选择区 位于面板下方的左侧区域,由一个QListBox,供用户选择候选的拼音组合。
    3×3的输入区 位于面板下方的中间区域,与传统的手机键盘相对应,由a~z拼音字母及“*”键组成,“*”键为标点符号选择键,其余8个按键为拼音输入;
    “Del”按键 位于面板下方右侧区域,用来回退当前的拼音组合,如果当前拼音组合不为空,删除该组合最后一个拼音字母,并刷新拼音组合及候选字,若当前
的拼音组合为空,则单击删除光标左侧的一个字符,长按该键则连续删除光标左侧字符;
    “Up”及“Down”按键 候选字区的上下翻页键。

3 结语
    基于qtopia的插件技术,实现了传统九宫格方式的中文拼音输入法,该输入法在输入中文时支持词语联想功能及用户输入高频词自适应功能。该输入法在一个基于Linux 2.6.13内核的S3C2440嵌入式系统上运行成功,经过长时间的测试,该输入法运行稳定,响应速度流畅,可给用户带来舒适的输入体验。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭