一种虚拟键盘的动态配置方法与流程

文档序号:17441466发布日期:2019-04-17 04:49阅读:686来源:国知局
一种虚拟键盘的动态配置方法与流程

本发明涉及虚拟键盘领域,具体涉及一种虚拟键盘的动态配置方法。



背景技术:

硬件上的按键是固定且数量有限的,如果需要获得更好的用户体验,就需要能够提供一种可视化的虚拟键盘,大幅度增加可输入的字符范围,且减短获取目标字符的路径,通过虚拟键盘,用户可以所见即所得,直接输入想要的目标字符。

现有常见的虚拟键盘方案是利用当前图形平台,为每个最终需要显示的字符创建按键控件并将其关联到一个特定的响应函数中,按键控件和响应函数一一对应,从而达到输入目标字符的效果。其主要缺点有以下两点:

一、按键与其对应功能固定,当需要维护多个虚拟键盘或需要应对变化较大的未知需求时,需要重新修改全部键盘相关代码,工作量大且容易出错;一旦需求变化,原先所写代码基本不能再使用,可复用程度低;

二、为每个字符单独创建按键,也就是在绘图平台上创建多个绘制对象,每当发生按键响应或绘制事件时,绘图平台就会对每个按键都进行各种该平台相关的事件处理,如果按键数量较多,则会严重拖慢显示或响应速度,极大影响用户体验。



技术实现要素:

本发明的目的在于提供一种虚拟键盘的动态配置方法,其可便捷、快速地动态实现各种语言、各种布局的虚拟键盘,能够兼容各种用户需求,并可降低维护工作量。

为实现上述目的,本发明采用的技术方案是:

一种虚拟键盘的动态配置方法,其将虚拟键盘的用户需求分解为布局、功能、语言三个部分;针对用户需求,配置xml格式的布局配置文件、键盘功能配置文件、语言配置文件;

所述布局配置文件对应用户的布局需求,其用于决定键盘上按钮的排布形式;所述键盘功能配置文件对应用户的功能需求,在使用某个布局配置文件的基础上,该键盘功能配置文件决定了每个按钮对应的功能;所述语言配置文件与用户的语言需求对应;

当配置虚拟键盘时,根据用户的布局需求、功能需求和语言需求,依次读取布局配置文件、键盘功能配置文件和语言配置文件,然后进行解析生成对应实例,并进行绘制生成虚拟键盘。

在解析完成后,将所有不带字符的布局绘制出来,同时将键盘绘制到缓存中,当键盘中的按钮被点击时,绘制被点击按钮的按下效果。

所述布局配置文件中,以布局的区块作为根节点,并按属性将按钮进行分组,具有相同特征的按钮分为一组,然后在每个子节点下插入各个按钮的节点。

所述键盘功能配置文件中,每个按钮设置有超过一个以上的字符。

采用上述方案后,本发明将用户需求分解为布局、功能、语言三个方面,且相应地配置xml格式的布局配置文件、键盘功能配置文件和语言配置文件,当配置虚拟键盘时,根据用户的布局需求、功能需求和语言需求,依次读取布局配置文件、键盘功能配置文件和语言配置文件,然后进行解析生成对应实例,并进行绘制生成虚拟键盘。本发明的各配置文件能够动态配置,灵活组合,可大幅度减少后续开发、维护的工作量,同时可提高配置文件的可复用性,用户需求发生变化时,只需要改动配置文件,无需修改代码,功能的稳定性有保障。

此外,本发明在解析完配置文件之后,就将所有不带字符的布局绘制出来,相比总是在使用到键盘时才绘制完整的键盘,只需要在要使用键盘时绘制文字即可,速度更快;相比总是绘制出全部的键盘,则能够占用更少内存空间。

本发明采用先将键盘绘制到缓存中的做法,实际绘制时仅绘制被点击按钮的按下效果,就算存在多点点击的情况,实际响应的也只有按下的时刻,而多点点击也必然存在先后顺序,只绘制一个按下效果即可以满足常规习惯,又可以在嵌入式平台资源不足的情况下满足性能需求。

附图说明

图1为本发明用户需求分解框图;

图2为本发明配置文件框图;

图3为本发明生成的虚拟键盘示意图。

具体实施方式

如图1至图3所示,本发明揭示了一种虚拟键盘的动态配置方法,其将虚拟键盘的用户需求分解为布局、功能、语言三个部分;针对用户需求,配置xml格式的布局(layout)配置文件、键盘功能(keyboard)配置文件、语言(language)配置文件。当配置虚拟键盘时,根据用户的布局需求、功能需求和语言需求,依次读取布局配置文件、键盘功能配置文件和语言配置文件,然后进行解析生成对应实例,并进行绘制生成虚拟键盘。

其中,布局配置文件,用于决定键盘上按钮的排布形式,可以根据用户实际需求随意变化,一种布局可能用于多个功能键盘,但不关心按钮的具体作用,也不关心键盘将用于何处。

键盘功能配置文件,在使用某个布局配置文件作为其基础后,决定了每个按钮所对应的功能,而不关心生成的键盘将用于何处。

语言配置文件,在各功能配置文件准备就绪的前提下,根据实际需求组合成为最终结果,在某种语言内可以切换该语言所具有的功能键盘,全局可以切换至任意一种语言。

配置文件以xml格式为基础,针对各类型添加了其特有的属性,达到满足各种需求的目的。其中,布局配置文件在配置时,以布局的区块作为根节点,例如键盘布局中的一行;然后将按钮进行分组,每个组作为根节点的子节点,再在每个子节点下插入各个按钮的节点;分组的目的是将具有相同特征的按钮整合到一起,将相同的属性写入组节点的属性列表中,用来替换按钮节点的属性,既减少了配置文件的文本量,也增加了配置文件的可读性。

键盘功能配置文件在配置时,针对普遍存在的拉丁系拼音文字,基本上都存在大小写的情况,以及部分语言存在一个字符有多个变种的情况,在键盘功能配置文件中对每个按钮均可以设置大小写字符,均可以设置超过一个的字符,读取完键盘功能配置文件后直接将大小写当成两种键盘来生成,而超过一个的字符作为备选字符,可以通过长按的方式来进行选择。

语言配置文件在配置时,在现有键盘配置文件中,可以将任意数个组成某种语言,例如语言1具有特殊字符键盘1,语言2也具有特殊字符键盘1,则两者均可包含字符键盘1,且实际上仅有一个特殊字符键盘1。

本发明在解析完配置文件之后,就将所有不带字符的布局绘制出来,相比总是在使用到键盘时才绘制完整的键盘,只需要在要使用键盘时绘制文字即可,速度更快;相比总是绘制出全部的键盘,则能够占用更少内存空间。

如果针对每个按钮进行绘制,则整体的绘制和事件计算量都很大,容易造成不好的用户体验。因此,本发明采用先将键盘绘制到缓存中的做法,实际绘制时仅绘制被点击按钮的按下效果,就算存在多点点击的情况,实际响应的也只有按下的时刻,而多点点击也必然存在先后顺序,只绘制一个按下效果即可以满足常规习惯,又可以在嵌入式平台资源不足的情况下满足性能需求。

本发明的关键在于,本发明将键盘的实际需求分解为三个方面且均能够动态配置,灵活组合,可大幅度减少后续开发、维护的工作量,同时可提高配置文件的可复用性,例如同一个键盘布局可同时提供英语键盘和德语键盘使用,同一个特殊字符键盘可提供给俄语输入法组和法语输入法组使用。总之,本发明能够更快更轻易适应各种变化的需求,且只需要改动配置文件,无需修改代码,功能的稳定性有保障;有效提高响应速度。

以上所述,仅是本发明实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1