CN109634711A - 一种虚拟键盘的动态配置方法 - Google Patents

一种虚拟键盘的动态配置方法 Download PDF

Info

Publication number
CN109634711A
CN109634711A CN201910026939.8A CN201910026939A CN109634711A CN 109634711 A CN109634711 A CN 109634711A CN 201910026939 A CN201910026939 A CN 201910026939A CN 109634711 A CN109634711 A CN 109634711A
Authority
CN
China
Prior art keywords
configuration file
layout
language
keyboard
button
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910026939.8A
Other languages
English (en)
Inventor
艾志敏
林小盛
陈潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Yealink Network Technology Co Ltd
Original Assignee
Xiamen Yealink Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Yealink Network Technology Co Ltd filed Critical Xiamen Yealink Network Technology Co Ltd
Priority to CN201910026939.8A priority Critical patent/CN109634711A/zh
Publication of CN109634711A publication Critical patent/CN109634711A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

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

Description

一种虚拟键盘的动态配置方法
技术领域
本发明涉及虚拟键盘领域,具体涉及一种虚拟键盘的动态配置方法。
背景技术
硬件上的按键是固定且数量有限的,如果需要获得更好的用户体验,就需要能够提供一种可视化的虚拟键盘,大幅度增加可输入的字符范围,且减短获取目标字符的路径,通过虚拟键盘,用户可以所见即所得,直接输入想要的目标字符。
现有常见的虚拟键盘方案是利用当前图形平台,为每个最终需要显示的字符创建按键控件并将其关联到一个特定的响应函数中,按键控件和响应函数一一对应,从而达到输入目标字符的效果。其主要缺点有以下两点:
一、按键与其对应功能固定,当需要维护多个虚拟键盘或需要应对变化较大的未知需求时,需要重新修改全部键盘相关代码,工作量大且容易出错;一旦需求变化,原先所写代码基本不能再使用,可复用程度低;
二、为每个字符单独创建按键,也就是在绘图平台上创建多个绘制对象,每当发生按键响应或绘制事件时,绘图平台就会对每个按键都进行各种该平台相关的事件处理,如果按键数量较多,则会严重拖慢显示或响应速度,极大影响用户体验。
发明内容
本发明的目的在于提供一种虚拟键盘的动态配置方法,其可便捷、快速地动态实现各种语言、各种布局的虚拟键盘,能够兼容各种用户需求,并可降低维护工作量。
为实现上述目的,本发明采用的技术方案是:
一种虚拟键盘的动态配置方法,其将虚拟键盘的用户需求分解为布局、功能、语言三个部分;针对用户需求,配置xml格式的布局配置文件、键盘功能配置文件、语言配置文件;
所述布局配置文件对应用户的布局需求,其用于决定键盘上按钮的排布形式;所述键盘功能配置文件对应用户的功能需求,在使用某个布局配置文件的基础上,该键盘功能配置文件决定了每个按钮对应的功能;所述语言配置文件与用户的语言需求对应;
当配置虚拟键盘时,根据用户的布局需求、功能需求和语言需求,依次读取布局配置文件、键盘功能配置文件和语言配置文件,然后进行解析生成对应实例,并进行绘制生成虚拟键盘。
在解析完成后,将所有不带字符的布局绘制出来,同时将键盘绘制到缓存中,当键盘中的按钮被点击时,绘制被点击按钮的按下效果。
所述布局配置文件中,以布局的区块作为根节点,并按属性将按钮进行分组,具有相同特征的按钮分为一组,然后在每个子节点下***各个按钮的节点。
所述键盘功能配置文件中,每个按钮设置有超过一个以上的字符。
采用上述方案后,本发明将用户需求分解为布局、功能、语言三个方面,且相应地配置xml格式的布局配置文件、键盘功能配置文件和语言配置文件,当配置虚拟键盘时,根据用户的布局需求、功能需求和语言需求,依次读取布局配置文件、键盘功能配置文件和语言配置文件,然后进行解析生成对应实例,并进行绘制生成虚拟键盘。本发明的各配置文件能够动态配置,灵活组合,可大幅度减少后续开发、维护的工作量,同时可提高配置文件的可复用性,用户需求发生变化时,只需要改动配置文件,无需修改代码,功能的稳定性有保障。
此外,本发明在解析完配置文件之后,就将所有不带字符的布局绘制出来,相比总是在使用到键盘时才绘制完整的键盘,只需要在要使用键盘时绘制文字即可,速度更快;相比总是绘制出全部的键盘,则能够占用更少内存空间。
本发明采用先将键盘绘制到缓存中的做法,实际绘制时仅绘制被点击按钮的按下效果,就算存在多点点击的情况,实际响应的也只有按下的时刻,而多点点击也必然存在先后顺序,只绘制一个按下效果即可以满足常规***台资源不足的情况下满足性能需求。
附图说明
图1为本发明用户需求分解框图;
图2为本发明配置文件框图;
图3为本发明生成的虚拟键盘示意图。
具体实施方式
如图1至图3所示,本发明揭示了一种虚拟键盘的动态配置方法,其将虚拟键盘的用户需求分解为布局、功能、语言三个部分;针对用户需求,配置xml格式的布局(Layout)配置文件、键盘功能(Keyboard)配置文件、语言(Language)配置文件。当配置虚拟键盘时,根据用户的布局需求、功能需求和语言需求,依次读取布局配置文件、键盘功能配置文件和语言配置文件,然后进行解析生成对应实例,并进行绘制生成虚拟键盘。
其中,布局配置文件,用于决定键盘上按钮的排布形式,可以根据用户实际需求随意变化,一种布局可能用于多个功能键盘,但不关心按钮的具体作用,也不关心键盘将用于何处。
键盘功能配置文件,在使用某个布局配置文件作为其基础后,决定了每个按钮所对应的功能,而不关心生成的键盘将用于何处。
语言配置文件,在各功能配置文件准备就绪的前提下,根据实际需求组合成为最终结果,在某种语言内可以切换该语言所具有的功能键盘,全局可以切换至任意一种语言。
配置文件以xml格式为基础,针对各类型添加了其特有的属性,达到满足各种需求的目的。其中,布局配置文件在配置时,以布局的区块作为根节点,例如键盘布局中的一行;然后将按钮进行分组,每个组作为根节点的子节点,再在每个子节点下***各个按钮的节点;分组的目的是将具有相同特征的按钮整合到一起,将相同的属性写入组节点的属性列表中,用来替换按钮节点的属性,既减少了配置文件的文本量,也增加了配置文件的可读性。
键盘功能配置文件在配置时,针对普遍存在的拉丁系拼音文字,基本上都存在大小写的情况,以及部分语言存在一个字符有多个变种的情况,在键盘功能配置文件中对每个按钮均可以设置大小写字符,均可以设置超过一个的字符,读取完键盘功能配置文件后直接将大小写当成两种键盘来生成,而超过一个的字符作为备选字符,可以通过长按的方式来进行选择。
语言配置文件在配置时,在现有键盘配置文件中,可以将任意数个组成某种语言,例如语言1具有特殊字符键盘1,语言2也具有特殊字符键盘1,则两者均可包含字符键盘1,且实际上仅有一个特殊字符键盘1。
本发明在解析完配置文件之后,就将所有不带字符的布局绘制出来,相比总是在使用到键盘时才绘制完整的键盘,只需要在要使用键盘时绘制文字即可,速度更快;相比总是绘制出全部的键盘,则能够占用更少内存空间。
如果针对每个按钮进行绘制,则整体的绘制和事件计算量都很大,容易造成不好的用户体验。因此,本发明采用先将键盘绘制到缓存中的做法,实际绘制时仅绘制被点击按钮的按下效果,就算存在多点点击的情况,实际响应的也只有按下的时刻,而多点点击也必然存在先后顺序,只绘制一个按下效果即可以满足常规***台资源不足的情况下满足性能需求。
本发明的关键在于,本发明将键盘的实际需求分解为三个方面且均能够动态配置,灵活组合,可大幅度减少后续开发、维护的工作量,同时可提高配置文件的可复用性,例如同一个键盘布局可同时提供英语键盘和德语键盘使用,同一个特殊字符键盘可提供给俄语输入法组和法语输入法组使用。总之,本发明能够更快更轻易适应各种变化的需求,且只需要改动配置文件,无需修改代码,功能的稳定性有保障;有效提高响应速度。
以上所述,仅是本发明实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (4)

1.一种虚拟键盘的动态配置方法,其特征在于:将虚拟键盘的用户需求分解为布局、功能、语言三个部分;针对用户需求,配置xml格式的布局配置文件、键盘功能配置文件、语言配置文件;
所述布局配置文件对应用户的布局需求,其用于决定键盘上按钮的排布形式;所述键盘功能配置文件对应用户的功能需求,在使用某个布局配置文件的基础上,该键盘功能配置文件决定了每个按钮对应的功能;所述语言配置文件与用户的语言需求对应;
当配置虚拟键盘时,根据用户的布局需求、功能需求和语言需求,依次读取布局配置文件、键盘功能配置文件和语言配置文件,然后进行解析生成对应实例,并进行绘制生成虚拟键盘。
2.根据权利要求1所述的一种虚拟键盘的动态配置方法,其特征在于:在解析完成后,将所有不带字符的布局绘制出来,同时将键盘绘制到缓存中,当键盘中的按钮被点击时,绘制被点击按钮的按下效果。
3.根据权利要求1所述的一种虚拟键盘的动态配置方法,其特征在于:所述布局配置文件中,以布局的区块作为根节点,并按属性将按钮进行分组,具有相同特征的按钮分为一组,每组作为根节点的子节点,然后在每个子节点下***各个按钮的节点。
4.根据权利要求1所述的一种虚拟键盘的动态配置方法,其特征在于:所述键盘功能配置文件中,每个按钮设置有超过一个以上的字符。
CN201910026939.8A 2019-01-11 2019-01-11 一种虚拟键盘的动态配置方法 Pending CN109634711A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910026939.8A CN109634711A (zh) 2019-01-11 2019-01-11 一种虚拟键盘的动态配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910026939.8A CN109634711A (zh) 2019-01-11 2019-01-11 一种虚拟键盘的动态配置方法

Publications (1)

Publication Number Publication Date
CN109634711A true CN109634711A (zh) 2019-04-16

Family

ID=66060675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910026939.8A Pending CN109634711A (zh) 2019-01-11 2019-01-11 一种虚拟键盘的动态配置方法

Country Status (1)

Country Link
CN (1) CN109634711A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799578A (zh) * 2021-01-26 2021-05-14 挂号网(杭州)科技有限公司 键盘绘制方法、装置、电子设备和存储介质
CN113094129A (zh) * 2021-03-25 2021-07-09 北京机电工程研究所 一种武器控制软件的按钮菜单实现方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101491127A (zh) * 2006-05-30 2009-07-22 Sk电信有限公司 终端键盘的配置方法、终端以及包括终端和能够重新配置的键盘的***
CN101853136A (zh) * 2010-06-22 2010-10-06 上海合合信息科技发展有限公司 虚拟键盘及其动态调整方法、电子设备
CN101984398A (zh) * 2010-11-11 2011-03-09 中兴通讯股份有限公司 一种生成软键盘的方法、装置及终端设备
CN102231096A (zh) * 2011-07-28 2011-11-02 青岛海信移动通信技术股份有限公司 调整软键盘按键的方法及设备
CN102314296A (zh) * 2010-06-30 2012-01-11 北京搜狗科技发展有限公司 一种展现虚拟键盘的方法、虚拟键盘和触摸屏终端
CN106604093A (zh) * 2016-12-14 2017-04-26 深圳Tcl数字技术有限公司 键盘匹配方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101491127A (zh) * 2006-05-30 2009-07-22 Sk电信有限公司 终端键盘的配置方法、终端以及包括终端和能够重新配置的键盘的***
CN101853136A (zh) * 2010-06-22 2010-10-06 上海合合信息科技发展有限公司 虚拟键盘及其动态调整方法、电子设备
CN102314296A (zh) * 2010-06-30 2012-01-11 北京搜狗科技发展有限公司 一种展现虚拟键盘的方法、虚拟键盘和触摸屏终端
CN101984398A (zh) * 2010-11-11 2011-03-09 中兴通讯股份有限公司 一种生成软键盘的方法、装置及终端设备
CN102231096A (zh) * 2011-07-28 2011-11-02 青岛海信移动通信技术股份有限公司 调整软键盘按键的方法及设备
CN106604093A (zh) * 2016-12-14 2017-04-26 深圳Tcl数字技术有限公司 键盘匹配方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799578A (zh) * 2021-01-26 2021-05-14 挂号网(杭州)科技有限公司 键盘绘制方法、装置、电子设备和存储介质
CN112799578B (zh) * 2021-01-26 2022-06-17 挂号网(杭州)科技有限公司 键盘绘制方法、装置、电子设备和存储介质
CN113094129A (zh) * 2021-03-25 2021-07-09 北京机电工程研究所 一种武器控制软件的按钮菜单实现方法
CN113094129B (zh) * 2021-03-25 2024-01-09 北京机电工程研究所 一种武器控制软件的按钮菜单实现方法

Similar Documents

Publication Publication Date Title
US20180196567A1 (en) Pressure sensitive virtual keyboard
US7707515B2 (en) Digital user interface for inputting Indic scripts
US8589817B2 (en) Technique for supporting user data input
CN102314319B (zh) 一种触控输入方法、装置及***
DE202008000258U1 (de) Tragbare elektronische Vorrichtung
CN104461519B (zh) 一种流程表单动态生成和权限控制的方法
JP2005346709A (ja) キーボードを使用したアジア言語の入力
CN102193645A (zh) 文字输入方法和文字输入***
CN109634711A (zh) 一种虚拟键盘的动态配置方法
AU2013204600A1 (en) Method and apparatus for correcting document formatting based on source document
JP2004355074A (ja) 文書対応関係検査装置、翻訳処理装置、文書対応関係検査方法、翻訳処理方法、および文書対応関係検査プログラム
CN101984389B (zh) 输入汉语字符的方法、装置及终端设备
CN117666815B (zh) 基于10键键盘及应用于小屏电子设备的英文输入法
CN115469849B (zh) 一种业务处理***、方法、电子设备和存储介质
KR101159323B1 (ko) 아시아 언어들을 위한 수기 입력
JP2004062863A (ja) 移動通信端末機の日本語入力装置及び方法
JP7160327B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2015136692A1 (ja) 電子イメージ文書編集システム
CN115248881A (zh) 网页输入信息的渲染方法、装置、电子设备及存储介质
CN101788853A (zh) 计算机标准键盘对称虚拟键位多指并击汉语拼音输入法
Correll Graphite: an extensible rendering engine for complex writing systems
CN117131136B (zh) 一种研发数据共享方法、***、设备及存储介质
CN111522932B (zh) 一种信息抽取的方法、装置、设备和存储介质
US20240184381A1 (en) Chinese character input method and system and keyboard
CN102033618A (zh) 一种切换语言输入状态的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190416

RJ01 Rejection of invention patent application after publication