基于Qtopia Core的软键盘嵌入式拼音输入法
维普资讯 ////0>.
基于的
软键盘嵌入式拼音输入法※
? 昆明理工大学 柯 禾 达 吕杨
首先分析国内嵌入式中文输入法的市场现状,指出重新开发一种嵌入式中文输入法的必要性;然后着重
.
介绍一种在嵌入式 上基于的、使用软键盘的拼音输入法的设计。
关键词 拼音输入法 中文输入法 软键盘 嵌入式
最后,虽然目前已经有一些应用在嵌入式系统中的中
引 言
文输入法 如 输入法、梅花输入法等 ,但它们基本都
近年来,随着计算机技术、通信技术和小型设备制造技 是封闭源码的商用输入法,且一般只局限在几个商用的操
术的飞速发展,以智能家电、消费电子为代表的各种嵌入式 作系统 如 、等 中使用。在开源免费的嵌
设备的使用得到迅速普及 。在嵌入式设备的系统软件方 入式 平台上,目前仍没有一种开源的、可用的、结合 使用的中文输入法。不同操作系统输入法实
面,具有开源免费等特点的嵌入式 正受到越来越广
现机制的差异、输入设备的差异和市场因素的影响,决定 泛的关注 ;而嵌入式 上开源的成熟图形库了直接进行输入法的移植是不可
行的,只能重新开发输 ,也受到越来越多厂商的支持。对国内用户来说,无 入法。
论选择哪一个软件平台,有一种适合在嵌入式设备上使用 的中文输入法尤为重要 。然而,目前尚缺少一种适合在 输入法的设计
嵌入式上配合 使用的开源免费的中文输
传统的嵌入式系统中最常见的输入设备是数字键盘,
入法。为了充分发挥 和 在嵌入式领域的
但随着 价格的不断下降,在消费电子、智能家电等领
优势,本文尝试开发一种适合在嵌入式 上使用的基
域,越来越多的嵌入式产品使用了面积较大的带触摸屏的 于 的软键盘拼音输入法。 作为人机界面。在这些嵌入式产品中,传统的数
字
市场现状
键盘正渐渐被触摸屏取代。本文设计的是一种使用触摸 屏的输入法。
目前通用计算机上的输入法,无论是在、
使用触摸屏的输入法主要有手写和点击两种类型。 还是在 下都已经很完
善,但是它们都不适
手写输入法在实现时,首先要跟踪触笔在触摸屏上的运动
合在运行嵌入式 的嵌入式系统中配合
轨迹,接着要把运行轨迹跟字体进行模式匹配。这需要精
使用。
度比较高的触摸屏,而且涉及比较复杂的匹配算法 ,实
首先,输入法一般都是与操作系统相关的。例如,
现难度高,成本高。而点击输入法与传统的输入法类似, 下的输入法要遵循 机制;通用的
只需要把按键在屏幕上绘制出来所谓“软键盘” ,并解决 或其他类 操作系统下的输入法一般都要使用
按键序列与汉字的映射关系即可,比较容易实现,成本较提供的 机制;而嵌入式 中常用的图
形库如、 等在设计时,从性能上考 低。本文设计的是使用软键盘的输入法。
虑都绕开了,直接建立在 之上,并 中文输入法主要有笔画和拼音两种类型 。一般来
各自提供不同的输入法接口。 说,笔画输入法比拼音输入法具有更低的重码率,但是嵌
再者,通用计算机上的输入设备一般都是
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
键盘,
入式系统的输入设备通常按键比较少,如果采用笔画输
而嵌入式系统由于受到体积的限制,一般不采用标准键 入,每个汉字的平均按键次数相比拼音输入法会多得多,
盘,而是采用数字键盘或是触摸屏。 输入速度慢。本文设计的是拼音输入法。
?。。拇缱士田、 :??. ~?。维普资讯 ////. 学习园地 对表 中每个按键序列 . 数据结构和算法的设计 让 指向树根 ;
在传统的数字键盘上,按键布局一般如图 所示。本 中每一个按键 文设计的输入法, 的第 个孩子不存在 : ; 在输入中文时,采
为 创建第 个孩子;
: ::用类似的键盘,详
: : :
细设计见下一节。
让 指向 的第 个孩子;采用数字 键
盘来输入拼音时,
图 传统数字键盘的按键布局
有了按键序列树后,在输入某个汉字拼音时,根据按 出现的第一个问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
键的先后顺序从树根出发往树叶方向走,每停留在一个节 在于,按键序列与拼音组合不再是一对一的关系,而是一对 多的关系。比如,拼音“ ”对应的按键序列是~ ? ,而 点上时,都能得到对
应的拼音组合。这样无论输入什么拼
按键序列 ? ? 对应的拼音组合有“ ”、“ ”、“ ”、 音,都能够在 个比较
操作内完成搜索,大大提高了程序
“ “ ”、“”
、 ” 个。这个问题可以通过在按键序列输 的执行效率。 完后,再输入一个数字来选择想要输入的拼音组合来解决。 . 键盘设计
出现的第二个问题在于,有些按键序列的前缀也能产 采用结合触摸屏的软键盘,相比传统的“硬”键 生有效的拼音组合。例如汉字“让”的拼音“”所对应 盘,具有按键布局动态可变、可随需显示隐藏等特点。本 的按键序列 ??? 的前缀 ? 、? ? 都能产生
文设计的输入法充分利用这些优点,在输入中文和英文 有效的拼音组合“ ”、“ ”和“ ”、“ ”、“ ”、“ ”、 时,根据各自不同的特点分别设计不同的键盘布局。 “ “ ” ”
、 。 如果只是简单地建立一张表,用来记录按 在输入拼音时,键盘
键序列和拼音组合的对应关系,则每次输入一个汉字都要 布局如图 所示。键盘
遍历表数次,这对系统资源本来就紧张的嵌入式系统来说 的中部采用类似于图
是难以忍受的。对于这个 表 拼音组合和按键序列映射表 的前 个键,其中左上角
问题本文是这样解决的: 圈回囤回国国崮
拼音组合 按键序列
第一个键用来输入中文
首先,根据所有有效标点符号,其余 个键用
图 拼音输入键盘布局
的拼音组合产生所有有效
来输入汉字拼音,这样的
?的按键序列,建立拼音组
?
键盘布局与大部分手机上的拼音输入法类似,使用者很容~ ?合和按键序列
的映射表,
易上手;键盘右侧 个键是特殊功能键,从上到下分别用 如表 所列。
来输入退格、空格、回车,以及切换到英文输入法;键盘的 接着,根据所有有效的按键序列建立一棵自顶向下生 左例是候选拼音列表框,用来显示当前按键序列所产生的 长的树,如图 所示。树的每一个节点表示一个按键序列, 有效拼音组合,具有上下翻页的功能,用触摸笔可以选择 这个按键序列定义为由根节点到达这个节点所经过的路 合适的拼音或上下翻页;键盘的上方是候选汉字列表框, 径。在图 中,从根节点 到达节点 的路径为 ?? , 当选中某个候选拼音时,这个拼音所对应的所有候选汉字 则节点 对应的按键序列是?? 。如果一个节点所表 在这里显示,它也具有上下翻页的功能,用触摸笔选择某
示的按键序列有效,则这个节点保存着对应的拼音组合,例 个汉字时,将为当前获得输入焦点的控件输入这个汉字。 如图 中的节点 所对应的拼音组合为“ ”和“ ”。 在输入英文时,按键
按键序列树的构造过程如下:匣
布局类似于标准键盘,如
创建树根 ;
田图图曰囹围团图囹囤国
图 所示。无论是输入
囤囹圈田田囝围田回囤回
字母、数字还是单词,都
围日囤田图回团囡田 回
只需要使用最少的按键
回 国困曰团回回囤 团
次数。由于英文标点符
图 英文输入键盘布局
号和中文标点符号是不
同的,因此在输入英语时,使用单独的标点符号集,键盘的 顶部就是标点符号列表框,也具有上下翻页功能;键盘的 右侧同中文输入法的布局类似,从上到下分别为退格键、 图 按键序列树 空格键、回车键和输入法切换键。 .毫 上毒 : ‘刍阴 广
善毒胃、