CN114942718A - 虚拟按键的设置方法、装置、介质以及电子设备 - Google Patents
虚拟按键的设置方法、装置、介质以及电子设备 Download PDFInfo
- Publication number
- CN114942718A CN114942718A CN202110181295.7A CN202110181295A CN114942718A CN 114942718 A CN114942718 A CN 114942718A CN 202110181295 A CN202110181295 A CN 202110181295A CN 114942718 A CN114942718 A CN 114942718A
- Authority
- CN
- China
- Prior art keywords
- waveform
- target
- touch
- virtual key
- area
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000012545 processing Methods 0.000 claims abstract description 140
- 230000004044 response Effects 0.000 claims abstract description 91
- 230000000694 effects Effects 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 28
- 238000004422 calculation algorithm Methods 0.000 description 20
- 230000006978 adaptation Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 210000003813 thumb Anatomy 0.000 description 10
- 210000003811 finger Anatomy 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 208000013521 Visual disease Diseases 0.000 description 3
- 208000029257 vision disease Diseases 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 210000005224 forefinger Anatomy 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 235000018185 Betula X alpestris Nutrition 0.000 description 1
- 235000018212 Betula X uliginosa Nutrition 0.000 description 1
- 241000282376 Panthera tigris Species 0.000 description 1
- 241000287181 Sturnus vulgaris Species 0.000 description 1
- 206010047571 Visual impairment Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及计算机计算领域,提供了一种虚拟按键的设置方法、装置、介质以及电子设备。该方法包括:响应作用于用户界面的触控操作,获取对应的至少两个操作位置信息;对至少两个操作位置信息进行区域界定处理得到界定触控区域,并进行区域响应处理得到响应触控区域;对至少两个操作位置信息进行位置距离计算得到操作位置距离,以确定响应触控区域为用户界面上的虚拟按键;对虚拟按键进行振感匹配处理得到目标振动波形,并对目标振动波形进行波形相似度计算得到波形差异值;对波形差异值进行效果识别处理得到识别处理结果,以根据识别处理结果确定目标振动波形为适配于虚拟按键的目标振动波形。本公开的交互方式更为友好,适用性更强。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种虚拟按键的设置方法、虚拟按键的设置装置、计算机可读介质以及电子设备。
背景技术
目前用户在终端交互过程中通过视觉过定位到用户界面元素,并通过触控操作作用在用户界面元素上产生可视化的反馈响应。
但是,在盲人等视觉障碍的用户使用这种交互方式时,无法准确定位和查看反馈,导致此类用户无法正常交互。
鉴于此,本领域亟需开发一种新的虚拟按键的设置方法及装置。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的技术背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种虚拟按键的设置方法、虚拟按键的设置装置、计算机可读介质以及电子设备,进而至少在一定程度上克服游戏交互方式准确度不足的技术问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供一种虚拟按键的设置方法,该方法包括:响应作用于用户界面的至少两个触控操作,获取所述至少两个触控操作的至少两个操作位置信息;
对所述至少两个操作位置信息进行区域界定处理得到界定触控区域,并对所述界定触控区域进行区域响应处理得到响应触控区域;
对所述至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据所述操作位置距离确定所述响应触控区域为所述用户界面上的虚拟按键;
对所述虚拟按键进行振感匹配处理得到目标振动波形,并对所述目标振动波形进行波形相似度计算得到波形差异值;
对所述波形差异值进行效果识别处理得到识别处理结果,以根据所述识别处理结果确定所述目标振动波形为适配于所述虚拟按键的目标振动波形。
根据本公开实施例的一个方面,提供一种虚拟按键的设置装置,该装置包括:信息获取模块,被配置为响应作用于用户界面的至少两个触控操作,获取所述至少两个触控操作的至少两个操作位置信息;
触控区域模块,被配置为对所述至少两个操作位置信息进行区域界定处理得到界定触控区域,并对所述界定触控区域进行区域响应处理得到响应触控区域;
按键生成模块,被配置为对所述至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据所述操作位置距离确定所述响应触控区域为所述用户界面上的虚拟按键;
波形计算模块,被配置为对所述虚拟按键进行振感匹配处理得到目标振动波形,并对所述目标振动波形进行波形相似度计算得到波形差异值;
波形适配模块,被配置为对所述波形差异值进行效果识别处理得到识别处理结果,以根据所述识别处理结果确定所述目标振动波形为适配于所述虚拟按键的目标振动波形。
在本公开的一些实施例中,基于以上技术方案,所述波形计算模块,包括:参考参数子模块,被配置为确定除所述目标振动波形之外的其他振动波形,并对所述其他振动波形进行参数采集处理得到参考波形参数;
参数计算子模块,被配置为对所述目标振动波形进行参数采集处理得到目标波形参数,并对所述目标波形参数和所述参考波形参数进行波形相似度计算得到波形差异值。
在本公开的一些实施例中,基于以上技术方案,参数计算子模块,包括:频率差异单元,被配置为对所述目标波形频率和所述参考波形频率进行波形相似度计算得到频率差异值;
强度差异单元,被配置为对所述目标波形强度和所述参考波形强度进行波形相似度计算得到强度差异值。
在本公开的一些实施例中,基于以上技术方案,所述波形适配模块,包括:频率程度子模块,被配置为获取与所述频率差异值对应的目标频率,并对所述频率差异值和所述目标频率进行频率差异程度计算得到频率差异程度值;
强度程度子模块,被配置为获取与所述强度差异值对应的目标强度,并对所述强度差异值和所述目标强度进行强度差异程度计算得到强度差异程度值;
效果识别子模块,被配置为对所述频率差异程度值和所述强度差异程度值进行效果识别处理得到识别处理结果。
在本公开的一些实施例中,基于以上技术方案,所述效果识别子模块,包括:频率比较单元,被配置为获取与所述频率差异程度值对应的频率阈值,并对所述频率差异程度值和所述频率阈值进行频率阈值比较得到频率比较结果;
强度比较单元,被配置为获取与所述强度差异程度值对应的强度阈值,并对所述强度差异程度值和所述强度阈值进行强度阈值比较得到强度比较结果;
处理结果单元,被配置为将所述频率比较结果和所述强度比较结果确定为识别处理结果。
在本公开的一些实施例中,基于以上技术方案,所述波形适配模块,包括:波形适配单元,被配置为当所述识别处理结果包括所述频率差异程度值大于所述频率阈值,且所述识别处理结果包括所述强度差异程度值大于所述强度阈值时,确定所述目标振动波形为适配于所述虚拟按键的目标振动波形。
在本公开的一些实施例中,基于以上技术方案,所述按键生成模块,包括:距离阈值子模块,被配置为在所述操作位置距离中确定目标位置距离,并获取与所述目标位置距离对应的位置距离阈值;
有效触控子模块,被配置为当所述位置距离阈值大于所述目标位置距离时,确定与所述目标位置距离对应的触控操作为至少两个触控操作中的有效触控操作;
触控个数子模块,被配置为获取所述至少两个触控操作中的所述有效触控操作的触控个数以及与所述触控个数对应的个数阈值;
按键确定子模块,被配置为当所述触控个数大于或等于所述个数阈值时,确定所述响应触控区域为所述用户界面上的虚拟按键。
在本公开的一些实施例中,基于以上技术方案,所述触控区域模块,包括:参数确定子模块,被配置为确定所述界定触控区域的区域中心点以及与所述区域中心点对应的区域参数;
参数响应子模块,被配置为按照所述区域中心点和所述区域参数进行区域响应处理得到响应触控区域。
在本公开的一些实施例中,基于以上技术方案,所述虚拟按键的设置装置,还包括:密度聚类模块,被配置为获取作用在所述虚拟按键上的按键位置信息,并对所述按键位置信息进行密度聚类处理得到至少两个触控点族群;
距离计算模块,被配置为在所述至少两个触控点族群中确定族群中心点,并对所述族群中心点和所述区域中心点进行位置距离计算得到中心点距离;
按键更新模块,被配置为根据所述中心点距离更新所述虚拟按键。
在本公开的一些实施例中,基于以上技术方案,所述距离计算模块,包括:族群剔除子模块,被配置为对所述至少两个触控点族群进行族群剔除处理得到目标触控点族群;
中心确定子模块,被配置为对所述目标触控点族群中的按键位置信息进行区域界定处理得到族群触控区域,以确定出所述族群触控区域的族群中心点。
在本公开的一些实施例中,基于以上技术方案,所述按键更新模块,包括:阈值比较子模块,被配置为确定与所述中心点距离对应的中心点阈值,并将所述中心点距离和所述中心点阈值进行比较得到中心点比较结果;
大于结果子模块,被配置为当所述中心点比较结果为所述中心点距离大于所述中心点阈值时,确定所述族群触控区域为更新后的所述虚拟按键。
在本公开的一些实施例中,基于以上技术方案,所述触控区域模块,包括:坐标确定子模块,被配置为确定所述至少两个操作位置信息中包括的至少两个横坐标值,并在所述至少两个横坐标值中确定出目标横坐标值;
信息确定子模块,被配置为确定所述至少两个操作位置信息中包括的至少两个纵坐标值,并在所述至少两个纵坐标值中确定出目标纵坐标值;
坐标界定子模块,被配置为对所述目标横坐标值和所述目标纵坐标值进行区域界定处理得到界定触控区域。
根据本公开实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的虚拟按键的设置方法。
根据本公开实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的虚拟按键的设置方法。
在本公开实施例提供的技术方案中,一方面,通过用户的触控操作生成虚拟按键,虚拟按键的生成准确度更高,生成方式也更为便捷,进一步的,不同用户根据手指差异和操作习惯自主生成适应于该用户的虚拟按键,无需用户查看屏幕即可操作,对视觉障碍等用户更为友好,应用场景更为广泛;另一方面,适配一与虚拟按键对应的目标振动波形,为用户提供非可视化的输出反馈,用户无需查看屏幕即可感知,更加智能化和自动化。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性地示出了应用本公开技术方案的示例性***的架构示意图;
图2示意性地示出了本公开的一些实施例中一种虚拟按键的设置方法的步骤流程图;
图3示意性地示出了在本公开的一些实施例中区域界定处理的方法的步骤流程图;
图4示意性地示出了在本公开的一些实施例中区域响应处理的方法的步骤流程图;
图5示意性地示出了在本公开的一些实施例中确定响应触控区域为虚拟按键的方法的步骤流程图;
图6示意性地示出了在本公开的一些实施例中波形相似度计算的方法的步骤流程图;
图7示意性地示出了在本公开的一些实施例中进一步进行波形相似度计算的方法的步骤流程图;
图8示意性地示出了在本公开的一些实施例中效果识别处理的方法的步骤流程图;
图9示意性地示出了在本公开的一些实施例中进一步进行效果识别处理的方法的步骤流程图;
图10示意性地示出了在本公开的一些实施例中更新虚拟按键的方法的步骤流程图;
图11示意性地示出了在本公开的一些实施例中确定族群中心点的方法的步骤流程图;
图12示意性地示出了在本公开的一些实施例中进一步更新虚拟按键的方法的步骤流程图;
图13示意性地示出了在本公开些实施例中的应用场景下游戏生命周期的步骤流程图;
图14示意性地示出了在本公开些实施例中的应用场景下生成虚拟按键的方法的步骤流程图;
图15示意性地示出了在本公开些实施例中的应用场景下不同虚拟按键的触控位置的界面示意图;
图16示意性地示出了在本公开些实施例中的应用场景下的界定触控区域的界面示意图;
图17示意性地示出了在本公开些实施例中的应用场景下的噪声点的界面示意图;
图18示意性地示出了在本公开些实施例中的应用场景下对虚拟按键进行操作的界面意图;
图19示意性地示出了在本公开些实施例中的应用场景下两种振动波形的原子振动效果的波形图;
图20示意性地示出了在本公开些实施例中的应用场景下三种振动波形完全播放时的波形图;
图21示意性地示出了在本公开些实施例中的应用场景下调整原始振动波形的波形对比图;
图22示意性地示出了在本公开一些实施例中的一种虚拟按键的设置装置的结构框图;
图23示意性地示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本领域的相关技术中,目前的终端交互过程中,尤其是在移动终端的游戏过程中,玩家都是通过触控操作对终端屏幕上可见的用户界面(User Interface,简称UI)元素进行作用。
举例而言,在屏幕左下角的轮盘按钮可以控制角色移动的方向,而通过屏幕的右边和左上角的开枪健执行虚拟枪击。这种交互方式需要玩家盯着终端屏幕,并在定位到UI元素后,通过手指等触控介质去点击或滑动操纵游戏。
但是这种游戏交互方案并不适用于盲人等视觉障碍的玩家。具体的,该类玩家无法通过视觉快速定位到屏幕上的游戏操作按钮。其中,游戏操作按钮是在具有用户界面的移动终端等终端设备的游戏中,显示一固定位置的UI元素。当玩家对该UI元素点击作用后,游戏会产生相应。
因此,正常玩家可以通过视觉快速定位到屏幕上的游戏操作按钮,然后对该游戏操作按钮进行点击或者滑动操作游戏,而如果在该游戏操作按钮的响应区域外的话,游戏会忽略此次触控事件。
除此之外,游戏的输出也是通过视觉,而此类玩家无法通过视觉捕获到游戏的响应反馈,因此很难产生正常的游戏交互。
基于以上方案存在的问题,本公开提供了一种新的虚拟按键的设置方法、虚拟按键的设置装置、计算机可读介质以及电子设备。
图1示出了应用本公开技术方案的示例性***架构示意图。
如图1所示,***架构100可以包括终端110、网络120、服务器端130。其中,终端110和服务器端130通过网络120连接。
终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。网络120可以是能够在终端110和服务器端130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路、无线通信链路或者光纤电缆等等,本申请在此不做限制。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
具体地,终端110响应作用于用户界面的至少两个触控操作,获取到至少两个触控操作的至少两个操作位置信息。然后,对至少两个操作位置信息进行区域界定处理得到界定触控区域,并对界定触控区域进行区域响应处理得到响应触控区域。进一步的,对至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据操作位置距离确定响应触控区域为用户界面上的虚拟按键。进而,对虚拟按键进行振感匹配处理得到目标振动波形,并对目标振动波形进行波形相似度计算得到波形差异值。最后,对波形差异值进行效果识别处理得到识别处理结果,以根据识别处理结果确定目标振动波形为适配于虚拟按键的目标振动波形。
另外,本公开实施例中的虚拟按键的设置方法可以应用于终端,也可以应用于服务器端,本公开对此不做特殊限定。本公开实施例主要以虚拟按键的设置方法应用于终端110来举例说明。
下面结合具体实施方式对本公开提供的虚拟按键的设置方法、虚拟按键的设置装置、计算机可读介质以及电子设备做出详细说明。
图2示意性地示出了本公开的一些实施例中虚拟按键的设置方法的步骤流程图,如图2所示,虚拟按键的设置方法主要可以包括以下步骤:
步骤S210.响应作用于用户界面的至少两个触控操作,获取至少两个触控操作的至少两个操作位置信息。
步骤S220.对至少两个操作位置信息进行区域界定处理得到界定触控区域,并对界定触控区域进行区域响应处理得到响应触控区域。
步骤S230.对至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据操作位置距离确定响应触控区域为所述用户界面上的虚拟按键。
步骤S240.对虚拟按键进行振感匹配处理得到目标振动波形,并对目标振动波形进行波形相似度计算得到波形差异值。
步骤S250.对波形差异值进行效果识别处理得到识别处理结果,以根据识别处理结果确定目标振动波形为适配于虚拟按键的目标振动波形。
在本公开的示例性实施例中,一方面,通过用户的触控操作生成虚拟按键,虚拟按键的生成准确度更高,生成方式也更为便捷,进一步的,不同用户根据手指差异和操作习惯自主生成适应于该用户的虚拟按键,无需用户查看屏幕即可操作,对视觉障碍等用户更为友好,应用场景更为广泛;另一方面,适配一与虚拟按键对应的目标振动波形,为用户提供非可视化的输出反馈,用户无需查看屏幕即可感知,更加智能化和自动化。
下面对虚拟按键的设置方法的各个步骤进行详细说明。
在步骤S210中,响应作用于用户界面的至少两个触控操作,获取至少两个触控操作的至少两个操作位置信息。
在本公开的示例性实施例中,用户界面(User Interface,简称UI)是指人机交互的图形界面。具体的,用户界面是指对人机交互、操作逻辑、界面美观的整体设计,是***和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面的目的是使得用户能够方便有效率地操作硬件以达成双向交互,完成所希望借助硬件完成的工作。用户界面的定义广泛,包含了人机交互与图形用户接口。凡是与人类和机械的信息交流的领域都存在着用户界面。
用户可以通过触控介质以触控操作的方式作用于用户界面,该触控介质可以是手指或者是其他介质,而该触控操作可以是点击操作、滑动操作或者是长按操作等,本示例性实施例对此不做特殊限定。
当用户在用户界面上作用触控操作时,可以将触控操作的作用位置进行记录得到对应的操作位置信息。
该操作位置信息可以是通过屏幕坐标表征的。屏幕坐标是在屏幕坐标系中的坐标位置。屏幕坐标系可以是手机或电脑等终端屏幕上的坐标系,以像素进行定义。一般的,屏幕左下角为屏幕坐标系的原点,即(0,0)点,屏幕右上角为(Screen.width,Screen.height),width为屏幕宽度,height为屏幕高度。
当用户在用户界面上多次通过触控操作作用时,可以获取到对应的至少两个操作位置信息。
在步骤S220中,对至少两个操作位置信息进行区域界定处理得到界定触控区域,并对界定触控区域进行区域响应处理得到响应触控区域。
在本公开的示例性实施例中,得到至少两个操作位置信息之后,可以对至少两个操作位置信息进行区域界定处理得到界定触控区域。
在可选的实施例中,图3示出了区域界定处理的方法的步骤流程图,如图3所示,该方法至少包括以下步骤:在步骤S310中,确定至少两个操作位置信息中包括的至少两个横坐标值,并在至少两个横坐标值中确定出目标横坐标值。
由于操作位置信息是通过屏幕坐标系中的屏幕坐标表征的,因此操作位置信息包括横坐标和纵坐标两部分的数值信息。首先,可以是至少两个操作位置信息中确定出包括的所有横坐标值,进一步的,在至少两个横坐标值中确定出最小横坐标值和最大横坐标值作为目标横坐标值。
在步骤S320中,确定至少两个操作位置信息中包括的至少两个纵坐标值,并在至少两个纵坐标值中确定出目标纵坐标值。
对应的,首先,可以在至少两个操作位置信息中确定出包括的所有纵坐标值,然后,在至少两个纵坐标值中确定出最小纵坐标值和最大纵坐标值作为目标纵坐标值。
在步骤S330中,对目标横坐标值和目标纵坐标值进行区域界定处理得到界定触控区域。
由于目标横坐标值中包括最小横坐标值和最大横坐标值,而目标纵坐标值中包括最小纵坐标值和最大纵坐标值,因此可以分别以最小横坐标值、最大横坐标值、最小纵坐标值和最大纵坐标值所在的横坐标和纵坐标做一条线段,以四条线段所围成的矩形区域作为界定触控区域。除此之外,也可以根据实际需求设定其他根据目标横坐标值和目标纵坐标值划定界面触控区域的方式,本示例性实施例对此不做特殊限定。
在本示例性实施例中,通过目标横坐标值和目标纵坐标值可以确定出界定触控区域,确定方式简单准确,且能够根据实际情况界定,适应性强。
在划定出界定触控区域之后,可以进一步对界定触控区域进行区域响应处理得到响应触控区域。
在可选的实施例中,图4示出了区域响应处理的方法的步骤流程图,如图4所示,该方法至少包括以下步骤:在步骤S410中,确定界定触控区域的区域中心点以及与区域中心点对应的区域参数。
当界定触控区域为矩形时,可以根据最小横坐标值、最大横坐标值、最小纵坐标值和最大纵坐标值确定出该矩形的中心点作为界定触控区域的区域中心点。当界定触控区域为其他规则图形或不规则图形时,也可以确定出规则图形或不规则图形的中心点作为区域中心点。
在确定出区域中心点之后,可以获取一半径数值作为区域参数,以进一步确定出一圆形的响应触控区域。当根据实际需求要确定出其他形状的响应触控区域时,例如正方形的响应触控区域,也可以获取一边长或者是正方形的中心点到边的距离作为区域参数,本示例性实施例对此不做特殊限定。
在步骤S420中,按照区域中心点和区域参数进行区域响应处理得到响应触控区域。
在得到区域中心点,且区域参数为半径时之后,可以以区域中心点为中心,以区域参数为半径划定一圆形区域作为响应触控区域。而在得到区域中心点,且区域参数为正方形中心点到边的距离时,可以以区域中心点为中心,以距离为正方形参数划定一正方形区域作为响应触控区域。当区域参数为其他数值时,也可以对应划定出区域作为响应触控区域,本示例性实施例对此不做特殊限定。
在本示例性实施例中,根据界定触控区域可以重新生成一响应触控区域,该响应触控区域符合用户操作习惯,用户可以在该响应触控区域中进行更为便利和顺畅的交互体验。
在步骤S230中,对至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据操作位置距离确定响应触控区域为所述用户界面上的虚拟按键。
在本公开的示例性实施例中,可以对至少两个操作位置信息进行位置距离计算得出对应的操作位置距离。具体的,可以参照公式(1)计算:
其中,A和B为两个操作位置点,A的操作位置信息为(x1,y1),B的操作位置信息为(x2,y2),|AB|即为A和B亮点之间的操作位置距离。
除此之外,也可以根据其他计算方式计算操作位置距离,本示例性实施例对此不做特殊限定。并且,当至少两个操作位置信息大于两个时,也可以按照公式(1)或其他方式计算两两之间的操作位置距离。
值得说明的是,该操作位置距离是以一个操作位置点为主导点,计算该主导点与其他操作位置点之间的距离得到操作位置距离的。
在得到操作位置距离之后,可以根据该操作位置距离对是否确定响应触控区域为虚拟键进行判断。
在可选的实施例中,图5示出了确定响应触控区域为虚拟按键的方法的步骤流程图,如图5所示,该方法至少包括以下步骤:在步骤S510中,在操作位置距离中确定目标位置距离,并获取与目标位置距离对应的位置距离阈值。
当一个操作位置点,仅对应有一个其他操作位置点,可以仅计算出一个操作位置距离,确定该操作位置距离为目标位置距离。当一个操作位置点,对应有至少两个操作位置点时,可以计算出的操作位置距离有至少两个,可以将至少两个操作位置距离之间进行比较,并将其中最小的操作位置距离确定为目标位置距离。进一步的,可以获取与该目标位置距离对应的位置距离阈值。
在步骤S520中,当位置距离阈值大于目标位置距离时,确定与目标位置距离对应的触控操作为至少两个触控操作中的有效触控操作。
当得到目标位置距离和位置距离阈值之后,可以将目标位置距离与位置距离阈值进行比较得到比较结果。当比较结果为位置距离阈值大于目标位置距离时,可以确定该目标位置距离对应的触控操作为一有效触控操作。而与该目标位置距离对应的触控操作,即为在目标位置距离对应的主导点处作用的触控操作。
在步骤S530中,获取至少两个触控操作中的有效触控操作的触控个数以及与触控个数对应的个数阈值。
当对至少两个触控操作都进行如步骤S510-步骤S520的判断之后,可以确定出至少两个触控操作中的有效触控操作。进一步的,统计有效触控操作的个数得到触控个数。并且,还可以获取预先设定好与该触控个数对应的个数阈值。
在步骤S540中,当触控个数大于或等于个数阈值时,确定响应触控区域为用户界面上的虚拟按键。
在得到触控个数和对应的个数阈值之后,可以将触控个数和个数阈值进行比较得到比较结果。当比较结果为触控个数大于或等于个数阈值时,确定由至少两个触控操作生成的响应触控区域为一虚拟按键。
在本示例性实施例中,对响应触控区域的有效性进行判定,以根据响应触控区域生成虚拟按键,满足了用户的手指差异和操作习惯对虚拟按键的需求差异,用户即使不看屏幕也能对虚拟按键进行操作。
在步骤S240中,对虚拟按键进行振感匹配处理得到目标振动波形,并对目标振动波形进行波形相似度计算得到波形差异值。
在本公开的示例性实施例中,为满足用户对虚拟按键进行触控操作,而虚拟按键会对触控操作进行反馈的输出需求,可以对虚拟按键进行振感匹配处理。
具体的,可以在一预先设计好的振动效果文件中为已生成的虚拟按键匹配一振感效果,而为确定该振感效果是否能够被用户感知或者重复匹配,可以进一步获取该振感效果对应的振动波形作为目标振动波形,以通过目标振感波形对该振感效果进行识别处理。
在得到目标振动波形之后,可以计算该目标振动波形与其他振动波形之间的波形差异值,以进一步确定该目标振动波形的振感效果是否满足需求。
在可选的实施例中,图6示出了波形相似度计算的方法的步骤流程图,如图6所示,该方法至少包括以下步骤:在步骤S610中,确定除目标振动波形之外的其他振动波形,并对其他振动波形进行参数采集处理得到参考波形参数。
该其他振动波形可以是振动效果文件中除目标振动波形之外的其他波形,也可以是振动效果文件中已匹配过其他虚拟按键的波形,本示例性实施例对此不做特殊限定。
进一步的,可以对其他振动波形进行参数采集处理得到参考波形参数。其中,参考波形参数包括其他振动波形的频率和强度,也可以包括其他参数,本示例性实施例对此不做特殊限定。
具体的,当振动效果文件中仅存在其他振动波形时,为获取其他振动波形的频率,可以采集该其他振动波形的上一波峰点和下一波峰点的横坐标,即为该其他振动波形的周期,以进一步求周期的倒数得到该其他振动波形的频率。除此之外,也可以是采集该振动波形的上一波谷点和下一波谷点,或者是上一波形周期的某一固定点和下一波形周期的对应固定点,本示例性实施例对此不做特殊限定。而此种情况下为获取振动波形的强度时,可以采集该其他振动波形的波峰点和波谷点的纵坐标作为其他振动波形的强度,也可以是其他采集或者定义方式,本示例性实施例对此不做特殊限定。
而当振动效果文件中保存有其他振动波形与对应的波形数据时,该波形数据中保存有对应的其他振动波形的强度和/或频率等数据,可以从该波形数据中直接获取即可。
在步骤S620中,对目标振动波形进行参数采集处理得到目标波形参数,并对目标波形参数和参考波形参数进行波形相似度计算得到波形差异值。
对应的,由于目标振动波形也是通过振动效果文件中进行振感匹配处理得到的,因此,也可以通过与步骤S610相同的参数采集处理得到目标振动波形的目标波形参数。其中,目标波形参数包括目标振动波形的频率和强度,也可以包括其他参数,本示例性实施例对此不做特殊限定。
进一步的,可以对目标波形参数和参考波形参数进行波形相似度计算得到波形差异值。
在可选的实施例中,目标波形参数包括目标波形频率和目标波形强度,参考波形参数包括参考波形频率和参考波形强度,波形差异值包括频率差异值和强度差异值,图7示出了进一步进行波形相似度计算的方法的步骤流程图,如图7所示,该方法至少包括以下步骤:在步骤S710中,对目标波形频率和参考波形频率进行波形相似度计算得到频率差异值。
具体的,可以参照公式(2)对目标波形频率和参考波形频率进行波形相似度计算:
dH(X,Y)=max{supx∈Xinfy∈Yd(x,y),supy∈Yinfx∈Xd(x,y)} (2)
公式(2)为豪斯多夫(Hausdorff)距离,豪斯多夫距离度量量度空间M中紧子集之间的距离。其中,X和Y分别表示目标波形频率和参考波形频率为量度空间M中的真子集,那么豪斯多夫距离dH(X,Y)是最小的数r使得X的闭r-邻域包含Y,Y的闭r-邻域也包含X。亦即,豪斯多夫距离表示量度空间M中的距离。因此,通过公式(2)可以计算得到目标波形频率与参考波形频率之间的频率差异值df。
除此之外,也可以通过弗朗明歇距离(frechet distance)计算出频率差异值。其中,弗朗明歇距离是指两条有方向的曲线,不能回溯,这两条曲线之间最短的最大距离。并且,弗朗明歇距离可以对连续的或者离散的目标波形频率和参考波形频率进行计算,适用性极强。
在步骤S720中,对目标波形强度和参考波形强度进行波形相似度计算得到强度差异值。
对应的,也可以参照公式(2)计算目标波形强度与参考波形强度之间的强度差异值ds。也可以根据弗朗明歇距离计算出强度差异值,本示例性实施例对此不做特殊限定。
在本示例性实施例中,分别对目标波形频率和参考波形频率,以及目标波形强度和参考波形频率之间进行波形相似度计算可以得到频率差异值和强度差异值,以作为波形差异值,计算方式简单准确,并且适应性极强。
在步骤S250中,对波形差异值进行效果识别处理得到识别处理结果,以根据识别处理结果确定目标振动波形为适配于虚拟按键的目标振动波形。
在本公开的示例性实施例中,在得到波形差异值之后,可以进一步对波形差异值中的频率差异值和强度差异值进行效果识别处理。
在可选的实施例中,图8示出了效果识别处理的方法的步骤流程图,如图8所示,该方法至少包括以下步骤:在步骤S810中,获取与频率差异值对应的目标频率,并对频率差异值和目标频率进行频率差异程度计算得到频率差异程度值。
该目标频率可以是触控操作作用的终端设备上能够承受的最大频率值,也可以根据实际情况设定其他目标频率值,本示例性实施例对此不做特殊限定。
进一步的,对频率差异值和目标频率进行频率差异程度计算得到频率差异程度值。具体的,可以利用频率差异值除以目标频率得到频率差异程度值。其中,频率差异程度值可以采用百分数的方式表示,也可以是其他方式,本示例性实施例对此不做特殊限定。
在步骤S820中,获取与强度差异值对应的目标强度,并对强度差异值和目标强度进行强度差异程度计算得到强度差异程度值。
该目标强度可以是触控操作作用的终端设备上能够承受的最大强度值,也可以根据实际情况设定其他目标强度值,本示例性实施例对此不做特殊限定。
进一步的,对强度差异值和目标强度进行强度差异程度计算得到强度差异程度值。具体的,可以利用强度差异值除以目标强度得到强度差异程度值。其中,强度差异程度值可以采用百分数的方式表示,也可以是其他方式,本示例性实施例对此不做特殊限定。
在步骤S830中,对频率差异程度值和强度差异程度值进行效果识别处理得到识别处理结果。
在可选的实施例中,图9示出了进一步进行效果识别处理的方法的步骤流程图,如图9所示,该方法至少包括以下步骤:在步骤S910中,获取与频率差异程度值对应的频率阈值,并对频率差异程度值和频率阈值进行频率阈值比较得到频率比较结果。
与频率差异程度值对应的,该频率阈值可以为一百分数,也可以是其他形式的预设数值,本示例性实施例对此不做特殊限定。优选的,该频率阈值为30%。
进一步的,将频率差异程度值与频率阈值进行比较,以确定二者之间的数值大小作为频率比较结果。
在步骤S920中,获取与强度差异程度值对应的强度阈值,并对强度差异程度值和强度阈值进行强度阈值比较得到强度比较结果。
与强度差异程度值对应的,该强度阈值可以为一百分数,也可以是其他形式的预设数值,本示例性实施例对此不做特殊限定。优选的,该强度阈值为30%。
在步骤S930中,将频率比较结果和强度比较结果确定为识别处理结果。
在得到频率比较结果和强度比较结果之后,可以将频率比较结果和强度比较结果共同作为识别处理结果。
在本示例性实施例中,通过频率比较结果和强度比较结果可以得到识别处理结果,保证识别处理结果的准确性和完整度,以通过频率和强度两方面确定振动效果的识别结果。
在得到识别处理结果之后,为根据识别处理结果确定目标振动波形是否适配于虚拟按键的目标振动波形,可以对识别处理结果进行进一步的判定。
在可选的实施例中,当识别处理结果包括频率差异程度值大于频率阈值,且识别处理结果包括强度差异程度值大于强度阈值时,确定目标振动波形为适配于虚拟按键的目标振动波形。
由于识别处理结果包括频率比较结果和强度比较结果,因此可以从频率比较结果和强度比较结果两方面判断目标振动波形是否适配于虚拟按键的目标振动波形。
具体的,只有当频率比较结果为频率差异程度值大于频率阈值,且当强度比较结果为强度差异程度值大于强度阈值时,才会确定目标振动波形为适配于虚拟按键的目标振动波形。亦即,将后续对该虚拟按键进行触控操作时,终端设备会按照目标振动波形振动,以使用户感知。
在设置好虚拟按键以及适配于虚拟按键的目标振动波形之后,还可以对虚拟按键的作用区域,亦即响应触控区域进行更新,以解决用户在不同阶段由于动作差异带来的触控区域的差异问题。
在可选的实施例中,图10示出了更新虚拟按键的方法的步骤流程图,如图10所示,该方法至少包括以下步骤:在步骤S1010中,获取作用在虚拟按键上的按键位置信息,并对按键位置信息进行密度聚类处理得到至少两个触控点族群。
由于虚拟按键是一响应触控区域,因此虚拟按键的响应位置与响应触控区域的区域大小相同或相似。因此,用户可以通过触控操作在该虚拟按键的对应区域作用。进一步的,可以以一预设时长作为一个周期,采集该周期内作用在虚拟按键对应区域的按键位置信息。
进一步的,对按键位置信息进行密度聚类处理得到多个触控点族群。
具体的,可以利用密度聚类算法对按键位置信息进行密度聚类处理。密度聚类算法假设聚类结构能够通过样本分布的紧密程度确定,以数据集在空间分布上的稠密程度为依据进行聚类。亦即,只要一个区域中的样本密度大于某个阈值,就可以把它划分到阈值相近的簇中。密度聚类算法从样本密度的角度考察样本之间的可连接性,并由可连接样本不断扩展直到得到最终的聚类结果。因此,这类密度聚类算法可以克服K-means()算法、BIRCH算法等仅适用于凸样本集的情况。
举例而言,该密度聚类算法可以是DBSCAN(Density-Based Spatial Clusteringof Applications with Noise)算法。DBSCAN算法将簇定义为密度相连的样本的最大集合,能够将密度足够高的区域划分为簇,不需要给定簇的数量,并可在有噪声的空间数据集中发现任意形状的簇。
DBSCAN算法是基于一组邻域参数(ε,minPts)来描述样本分布的紧密程度。在给定的数据集D={x(1),x(2),…x(m)}中,对于x(j)∈D来说,ε-邻域(eps)表示包含D中与x(j)的距离不大于ε的所有样本,亦即Nε(x(j))={x(j)∈D|dist(x(i),x(j))≤ε},而minPts表示ε-邻域内样本个数最小值。
在本步骤中,ε-邻域可以设置为1-3个像素点,minPts一般设置为5。
因此,DBSCAN算法可以任选按键位置信息中任选一个作为种子,创建一个簇,并通过ε-邻域和minPts的设定寻找对应的是所有其他按键位置信息,再寻找合并其他按键位置信息密度可达的对象,直至所有的按键位置信息全部被访问过为止,即可得到至少两个触控点族群。
除此之外,也可以利用MDCA(Maximum Density Clustering Algorithm,密度最大值聚类算法)等其他密度聚类算法对按键位置信息进行密度聚类处理,本示例性实施例对此不做特殊限定。
在步骤S1020中,在至少两个触控点族群中确定族群中心点,并对族群中心点和区域中心点进行位置距离计算得到中心点距离。
在可选的实施例中,图11示出了确定族群中心点的方法的步骤流程图,如图11所示,该方法至少包括以下步骤:在步骤S1110中,对至少两个触控点族群进行族群剔除处理得到目标触控点族群。
DBSCAN算法的簇中可以至少包括一个按键位置信息。如果只有一个按键位置信息,则其他按键位置信息都落在该按键位置信息的ε-邻域内;如果有多个按键位置信息,则任意一个按键位置信息的ε-邻域内至少有一个其他按键位置信息,否则这两个按键位置信息无法密度可达,而包含过少的按键位置信息的簇可以被认为是噪音。
因此,为确定出更为符合实际需求的目标触控点族群,可以首先将至少两个触控点族群中的噪音点剔除。进一步的,可以预设一触控点族群中包括的按键位置信息占据所有按键位置信息的比例值,以在触控点族群所占所有按键位置信息的比例小于该比例值时,将该触控点族群剔除,以得到剔除掉噪声点和数值点不足的触控点族群的目标触控点族群。
在步骤S1120中,对目标触控点族群中的按键位置信息进行区域界定处理得到族群触控区域,以确定族群触控区域的族群中心点。
在确定目标触控点族群之后,可以按照如图3所示的区域界定处理方法对目标触控点族群中包括的按键位置信息界定出一族群触控区域。优选的,该族群触控区域为矩形。并且,还可以根据按键位置信息确定出该族群触控区域中的中心点作为族群中心点。
在本示例性实施例中,通过族群剔除处理可以得到族群中心点,将不符合要求的触控点集群剔除,减少了确定族群中心点的运行成本,加快了确定速度。
在确定族群中心点之后,可以对族群中心点个区域中心点进行位置距离计算得到中心点距离。
具体的,中心点距离的计算方式可以采用如公式(1)所示的计算方式,也可以采用其他计算方式,本示例性实施例对此不做特殊限定。
在步骤S1030中,根据中心点距离更新虚拟按键。
在得到中心点距离之后,可以根据中心点距离和至少两个触控点族群对虚拟按键进行更新。
在可选的实施例中,图12示出了进一步更新虚拟按键的方法的步骤流程图,如图12所示,该方法至少包括以下步骤:在步骤S1210中,确定与中心点距离对应的中心点阈值,并将中心点距离和中心点阈值进行比较得到中心点比较结果。
该中心点阈值可以是预先设定的,用来判断族群中心点与区域中心点的中心点距离是否已经大到需要更新虚拟按键的阈值。
在得到中心点阈值之后,可以将中心点距离与中心点阈值进行比较,以将比较结果确定为中心点比较结果。
在步骤S1220中,当中心点比较结果为中心点距离大于中心点阈值时,确定族群触控区域为更新后的虚拟按键。
若中心点比较结果为中心点距离大于中心点阈值时,表明族群中心点与区域中心点之间的中心点距离已经达到需要更新虚拟按键的地步,此时可以确定族群触控区域为更新后的虚拟按键。
除此之外,也可以按照如图4所示的区域响应处理方法对族群触控区域进行区域响应处理得到新的响应触控区域,以将该新的响应触控区域作为更新后的虚拟按键。
在本示例性实施例中,对已生成的虚拟按键进行逻辑缜密的更新判断,并在满足条件时更新该虚拟按键,满足用户操作手势变化带来的虚拟按键变更需求,更加符合用户的操作习惯,对特定用户的操作方式更为友好。
下面结合一具体应用场景对本公开实施例中提供的虚拟按键的设置方法做出详细说明。
图13示出了应用场景下游戏生命周期的步骤流程图,如图13所示,在步骤S1310中,开始进入游戏。
值得说明的是,该应用场景为某一特定玩家在某一固定终端上玩游戏,那么,生成针对该玩家的虚拟按键时,“生成”是一个适配的过程,而虚拟按键可以是该固定终端上一个玩家操作游戏的区域范围。这种适配过程最终会让玩家以一种很自然,且不易出错的方式在固定终端的用户界面上操作,而无需依赖视觉进行区分。
在步骤S1320中,游戏登录。
玩家可以在游戏应用程序中输入游戏账号和密码登录游戏。具体的输入方式可以采用语音输入的方式,也可以是键入游戏账号和密码的方式,本示例性实施例对此不做特殊限定。
在步骤S1330中,是否为新用户。
在玩家登录游戏之后,可以对该玩家是否为新用户进行判断。具体的,可以查询该游戏对应的注册账户信息。当注册账户信息中不包含该游戏账号时,确定该玩家为新用户;当注册账户信息中包含该游戏账号时,确定该玩家为老用户。
在步骤S1340中,是否为新设备。
当玩家为老用户时,可以进一步判断玩家使用的终端设备是否为新设备。具体的,玩家当前使用的终端设备有一设备标识,当该设备标识与玩家的游戏账号绑定的设备标识不一致时,表明玩家当前使用设备为新设备;当该设备标识与玩家的游戏账号绑定的设备标识一致时,表明该玩家当前使用的设备为已使用过的设备。
在步骤S1350中,生成虚拟按键。
当判断玩家为新用户,或者玩家为老用户,但是使用新设备时,可以开始生成虚拟按键。
图14示出了应用场景下生成虚拟按键的方法的步骤流程图,如图14所示,在步骤S1410中,语音通知开始采集触控位置信息。
因每个玩家的手指差异会对每一个虚拟按键的触点有所差异,所以在首次进入游戏或者更换新设备的时候,都可以对每一个虚拟按键适配一次。具体判断是否首次进入游戏或者更换新设备的方法如步骤S1330-步骤S1340所示,在此不再赘述。
语音提示可以通知玩家将要采集的虚拟按键的触控点位置,以指示玩家进行对应操作。
图15示出了应用场景下不同虚拟按键的触控位置的界面示意图,如图15所示,当终端设备为手机时,玩家可以双手握住手机,手握姿势可以是双手除拇指和食指外,其余手指置于手机背面托住手机。食指自然贴附于手机上侧边,其中,食指弯曲点贴着手机上方圆角处;拇指在手机屏幕上的活动范围可以划分为10个区域,这10个区域可以是要生成的10个虚拟按键的按键触控点。
具体的,拇指自然放松弯曲的触控点即为中间按键的按键触控点;拇指向中间平移至拇指伸直点击处为内侧按键的按键触控点;拇指向外平移收拢至虎口闭合时的位置为外侧按键的按键触控点;拇指从中间按键向上移动至拇指伸直处为上侧按键的按键触控点;拇指从中间按键向下移动至虎口放松拉直处为下侧按键的按键触控点。
在步骤S1420中,玩家对指定虚拟按键点击指定次数。
适配的过程就是按照语音提示,在终端设备上对指定的按键触控点点击N次,可以是10次,也可以是其他次数,可以按照实际情况设定。
用户可以根据语音提示生成在虚拟按键时,在虚拟按键的按键触控点位置进行点击操作等触控操作,以采集对应的操作位置信息。手机的游戏程序的客户端会记录每一次触控点的位置即为操作位置信息。
该操作位置信息可以是通过屏幕坐标表征的。屏幕坐标是在屏幕坐标系中的坐标位置。屏幕坐标系可以是手机或电脑等终端屏幕上的坐标系,以像素进行定义。一般的,屏幕左下角为屏幕坐标系的原点,即(0,0)点,屏幕右上角为(Screen.width,Screen.height),width为屏幕宽度,height为屏幕高度。
在步骤S1430中,是否采集成功。
对玩家作用的操作位置信息进行实时判断,使得玩家根据提示完成指定次数的触控操作,也使得客户端记录到指定次数的操作位置信息。
在步骤S1440中,语音通知重试采集。
当采集失败时,可以在未采集到操作位置信息的触控操作时振动或者语音提示玩家重新采集。具体的,可以重新采集这一次的操作位置信息,也可以是重新采集一组操作位置信息。
当采集到指定个数的操作位置信息之后,对指定个数的操作位置信息进行区域界定处理得到界定触控区域,并对界定触控区域进行区域响应处理得到响应触控区域。
具体的,由于操作位置信息是通过屏幕坐标系中的屏幕坐标表征的,因此操作位置信息包括横坐标和纵坐标两部分的数值信息。首先,可以是至少两个操作位置信息中确定出包括的所有横坐标值,进一步的,在至少两个横坐标值中确定出最小横坐标值和最大横坐标值作为目标横坐标值。
对应的,首先,可以在至少两个操作位置信息中确定出包括的所有纵坐标值,然后,在至少两个纵坐标值中确定出最小纵坐标值和最大纵坐标值作为目标纵坐标值。
由于目标横坐标值中包括最小横坐标值和最大横坐标值,而目标纵坐标值中包括最小纵坐标值和最大纵坐标值,因此可以分别以最小横坐标值、最大横坐标值、最小纵坐标值和最大纵坐标值所在的横坐标和纵坐标做一条线段,以四条线段所围成的矩形区域作为界定触控区域。除此之外,也可以根据实际需求设定其他根据目标横坐标值和目标纵坐标值划定界面触控区域的方式,本示例性实施例对此不做特殊限定。
图16示出了应用场景下的界定触控区域的界面示意图,如图16所示,灰色圆点表示最大横坐标、最小横坐标、最大纵坐标和最小纵坐标所在的四个操作位置信息所在的点,以这四个点分别形成平行于横坐标轴和纵坐标轴的四条线段,并以这四条线段可以界定出一个矩形区域的界定触控区域。
进一步的,当界定触控区域为矩形时,可以根据最小横坐标值、最大横坐标值、最小纵坐标值和最大纵坐标值确定出该矩形的中心点作为界定触控区域的区域中心点。
在确定出区域中心点之后,可以获取一半径数值作为区域参数,以进一步确定出一圆形的响应触控区域。
在得到区域中心点,且区域参数为半径R时之后,可以以区域中心点为中心,以区域参数为半径划定一圆形区域作为响应触控区域。该响应触控区域即为虚拟按键的初始响应范围。
进而,对至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据操作位置距离确定响应触控区域为所述用户界面上的虚拟按键。
具体的,可以按照公式(1)计算触控位置中心之间的操作位置距离,也可以根据其他计算方式计算操作位置距离,本示例性实施例对此不做特殊限定。
值得说明的是,该操作位置距离是以一个操作位置点为主导点,计算该主导点与其他操作位置点之间的距离得到操作位置距离的。
根据计算出的操作位置距离可以确定与该主导点距离最近的一个其他操作位置点,以确定该其他操作位置点距离主导点之间的操作位置距离为目标位置距离。进一步的,可以获取与该目标位置距离对应的位置距离阈值D,D可以是预先配置好的。
当得到目标位置距离和位置距离阈值之后,可以将目标位置距离与位置距离阈值进行比较得到比较结果。当比较结果为位置距离阈值大于目标位置距离时,可以确定该目标位置距离对应的触控操作为一有效触控操作。当比较结果为位置距离阈值小于或等于目标位置距离时,确定该其他操作位置点为一噪声点。
图17示出了应用场景下的噪声点的界面示意图,如图17所示,由于1710距离最近的操作位置点的距离超过位置距离阈值,因此1710为一噪声点,而其他操作位置点为有效触控操作的位置点。
对N个操作位置信息所在的位置点的有效与否进行判断,可以确定出M个有效触控操作,M即为有效触控操作的触控个数,可以提前根据实际情况配置。
在得到触控个数和对应的个数阈值之后,可以将触控个数和个数阈值进行比较得到比较结果。当比较结果为触控个数大于或等于个数阈值时,亦即M≥N时,确定由至少两个触控操作生成的响应触控区域为一虚拟按键。
在步骤S1450中,所有按键采集完成。
当当前虚拟按键适配完成后,会对所有按键采集完成进行判断。而且每适配完一个虚拟按键时,都会对所有按键采集完成进行判断。
在步骤S1460中,语音通知采集新按键信息。
若还存在没有适配完的虚拟按键,语音提示采集下一虚拟按键的操作位置信息,可以重复步骤S1440中的过程直至10个虚拟按键适配完成,然后退出适配阶段。
在步骤S1360中,云端存储虚拟按键信息。
当生成10个虚拟按键之后,可以在云端存储虚拟按键的可操作的按键位置信息,也可以在其他位置存储,本示例性实施例对此不做特殊限定。
在步骤S1370中,云端拉取虚拟按键信息。
当玩家不是新用户,且玩家所使用的终端不为新设备时,云端可以直接拉取虚拟按键信息,而无需经过适配过程。
在步骤S1380中,开始游戏。
在获取到虚拟按键信息之后,玩家可以进入游戏,对虚拟按键进行操作。
图18示出了应用场景下对虚拟按键进行操作的界面示意图,如图18所示,玩家适配出了10个虚拟按键,单手可以覆盖5个虚拟按键,至少满足5种操作输入。除此之外,还可以通过多个虚拟按键的组合以及单个虚拟按键的矢量滑动操作进行复杂操作。举例而言,左手中间按键可以通过滑动和方向调整方向移动的输入,而右手通过上侧虚拟按键→内侧虚拟按键→中间虚拟按键的三键联动输入完成复杂技能的释放。
值得说明的是,生成虚拟按键之后并不是一成不变的,还可以对虚拟按键进行更新。
这是因为初始的虚拟按键的响应触控区域可能并不符合玩家后续长期的操作习惯。亦即,针对一个虚拟按键,玩家在游戏中的频繁点击所产生的有效范围可能与初始适配的响应触控区域有明显差异。
因此,可以以T为周期,对T时间内对虚拟按键的按键位置信息进行采集。T为游戏时间,可以提前配置。当在T时间内,对每一个虚拟按键的触控操作超过NE个小时时,可以对虚拟按键的响应触控区域进行校验。而当校验工作完成后,可以清空每一个虚拟按键上的触控操作,NE清零。其中,NE也可以是提前配置的。若未超过NE个小时时,无需对虚拟按键进行校验。
校验过程可以是首先获取作用在虚拟按键上的按键位置信息,并对按键位置信息进行聚类处理得到至少两个触控点族群。然后,对目标触控点族群中的按键位置信息进行区域界定处理得到族群触控区域,以确定族群触控区域的族群中心点。
具体的,可以利用密度聚类算法对按键位置信息进行密度聚类处理。
DBSCAN算法是基于一组邻域参数(ε,minPts)来描述样本分布的紧密程度。在给定的数据集D={x(1),x(2),…x(m)}中,对于x(j)∈D来说,ε-邻域(eps)表示包含D中与x(j)的距离不大于ε的所有样本,亦即Nε(x(j))={x(j)∈D|dist(x(i),x(j))≤ε},而minPts表示ε-邻域内样本个数最小值。
优选的,ε-邻域可以设置为1-3个像素点,minPts一般设置为5。
因此,举例而言,该密度聚类算法可以是DBSCAN算法。DBSCAN算法可以任选按键位置信息中任选一个作为种子,创建一个簇,并通过ε-邻域和minPts的设定寻找对应的是所有其他按键位置信息,再寻找合并其他按键位置信息密度可达的对象,直至所有的按键位置信息全部被访问过为止,即可得到至少两个触控点族群。
DBSCAN算法的簇中可以至少包括一个按键位置信息。如果只有一个按键位置信息,则其他按键位置信息都落在该按键位置信息的ε-邻域内;如果有多个按键位置信息,则任意一个按键位置信息的ε-邻域内至少有一个其他按键位置信息,否则这两个按键位置信息无法密度可达,而包含过少的按键位置信息的簇可以被认为是噪音。
因此,为确定出更为符合实际需求的目标触控点族群,可以首先将至少两个触控点族群中的噪音点剔除。进一步的,可以预设一触控点族群中包括的按键位置信息占据所有按键位置信息的比例值,以在触控点族群所占所有按键位置信息的比例小于该比例值时,将该触控点族群剔除,以得到剔除掉噪声点和数值点不足的触控点族群的目标触控点族群。
在确定目标触控点族群之后,可以按照如图3所示的区域界定处理方法对目标触控点族群中包括的按键位置信息界定出一族群触控区域。优选的,该族群触控区域为矩形。并且,还可以根据按键位置信息确定出该族群触控区域中的中心点作为族群中心点。
在确定族群中心点之后,可以对族群中心点个区域中心点进行位置距离计算得到中心点距离。
具体的,中心点距离的计算方式可以采用如公式(1)所示的计算方式,也可以采用其他计算方式,本示例性实施例对此不做特殊限定。
确定与中心点距离对应的中心点阈值α,并将中心点距离和中心点阈值进行比较得到中心点比较结果。
该中心点阈值可以是预先设定的,用来判断族群中心点与区域中心点的中心点距离是否已经大到需要更新虚拟按键的阈值。
在得到中心点阈值之后,可以将中心点距离与中心点阈值进行比较,以将比较结果确定为中心点比较结果。
若中心点比较结果为中心点距离大于中心点阈值时,表明族群中心点与区域中心点之间的中心点距离已经达到需要更新虚拟按键的地步,此时可以确定族群触控区域为更新后的虚拟按键。
除此之外,也可以按照如图4所示的区域响应处理方法对族群触控区域进行区域响应处理得到新的响应触控区域,以将该新的响应触控区域作为更新后的虚拟按键。
由于玩家对于每一次的点击或滑动的触控操作,都会发送对应的触控事件给到游戏程序或其他应用,因此应用会判断触控事件是否有效,从而决定是否响应。而当玩家的按键位置信息同时作用于两个或两个以上的虚拟按键的响应触控区域时,即触控事件同时属于多个虚拟按键,游戏将作为无效输入事件,不进行响应。同时,还可以通过声音提示玩家操作异常。
在生成或更新完虚拟按键之后,还需要解决玩家输入后,游戏要将结果反馈给玩家。但是对于盲人等视觉障碍的玩家来说,除了可以按照声音反馈时,还可以通过振动的方式反馈给玩家。
振感识别有别于目前的体验辅助场景,例如屏幕按键通过振感模拟实体按键的触觉体验,目的是在于区分。每次玩家对屏幕输入触控操作后,游戏可以有对应的反馈场景。而每个反馈场景都有对应的生命周期,在该生命周期里,可以将振感效果播放出来,让玩家识别到。
而为了向玩家反馈振感效果,可以生成一振感效果文件。该振感效果文件可以描述原子振动效果。亦即,在该振感效果文件中描述不同的振动波形,不存在重复,且区分度很高。
图19示出了应用场景下两种振动波形的原子振动效果的波形图,如图19所示,这两种振动波形描述了两种不同,且区分度很高的波形,并且,不存在重复。
而对于同一原子振动效果的振动波形,播放时间可以分为正常播放和完全播放。一般的,可以设置为正常播放,该正常播放即为一原子振动效果播放完的时长,但是玩家还可以选择完全播放,亦即播放振动波形持续到该反馈场景结束为止。
图20示出了应用场景下三种振动波形完全播放时的波形图,如图20所示,这三种振动波形可以在完全播放过程中,周而复始的播放,直至该反馈场景结束才会停止播放。
并且,针对同一过的振动波形,可以将振动频率和振动强度划分为低、中和高三个档位,且原始效果可以设置为中,并且还可以调整振动波形的频率或者强度。
当玩家觉得振动时间太短,无法区分时,可以单独针对反馈场景设置为完全播放,也可以针对所有反馈场景设置为完全播放。当玩家觉得振动的频率或强度不足或者太过强烈时会影响手感,可以针对该反馈场景调整振动的频率或强度,也可以针对所有反馈场景统一设置。
图21示出了应用场景下调整原始振动波形的波形对比图,如图21所示,最上侧的波形图为原始振动波形的波形图,调整该原始振动波形的频率可以得到中间的波形图,调整该原始振动波形的强度可以得到下侧的波形图。
对原始振动波形的调整可以通过语音实现,以对整个播放环节的统一调,避免玩家多次调整带来的体验感不佳的问题。
基于此,可以在振动效果文件中,为已经生成或者更新好的虚拟按键匹配一目标振动波形。而为了确定匹配的该振动波形是否能够与其他振动波形区别识别时,可以对目标振动波形和其他震动波形的振动效果的相似度进行判定。
对于振动效果而言,本质上是呈现出一个振动波形,因此可以采用豪斯多夫距离判定。
该其他振动波形可以是振动效果文件中除目标振动波形之外的其他波形,也可以是振动效果文件中已匹配过其他虚拟按键的波形,本示例性实施例对此不做特殊限定。
进一步的,可以对其他振动波形进行参数采集处理得到参考波形参数。其中,参考波形参数包括其他振动波形的频率和强度,也可以包括其他参数,本示例性实施例对此不做特殊限定。
具体的,当振动效果文件中仅存在其他振动波形时,为获取其他振动波形的频率,可以采集该其他振动波形的上一波峰点和下一波峰点的横坐标,即为该其他振动波形的周期,以进一步求周期的倒数得到该其他振动波形的频率。除此之外,也可以是采集该振动波形的上一波谷点和下一波谷点,或者是上一波形周期的某一固定点和下一波形周期的对应固定点,本示例性实施例对此不做特殊限定。而此种情况下为获取振动波形的强度时,可以采集该其他振动波形的波峰点和波谷点的纵坐标作为其他振动波形的强度,也可以是其他采集或者定义方式,本示例性实施例对此不做特殊限定。
而当振动效果文件中保存有其他振动波形与对应的波形数据时,该波形数据中保存有对应的其他振动波形的强度和/或频率等数据,可以从该波形数据中直接获取即可。
对应的,由于目标振动波形也是通过振动效果文件中进行振感匹配处理得到的,因此,也可以通过与步骤S610相同的参数采集处理得到目标振动波形的目标波形参数。其中,目标波形参数包括目标振动波形的频率和强度,也可以包括其他参数,本示例性实施例对此不做特殊限定。
进一步的,可以对目标波形参数和参考波形参数进行波形相似度计算得到波形差异值。
具体的,可以参照公式(2)通过豪斯多夫距离对目标波形频率和参考波形频率进行波形相似度计算。豪斯多夫距离度量量度空间M中紧子集之间的距离。其中,X和Y分别表示目标波形频率和参考波形频率为量度空间M中的真子集,那么豪斯多夫距离dH(X,Y)是最小的数r使得X的闭r-邻域包含Y,Y的闭r-邻域也包含X。亦即,豪斯多夫距离表示量度空间M中的距离。因此,通过公式(2)可以计算得到目标波形频率与参考波形频率之间的频率差异值df。除此之外,也可以通过弗朗明歇距离(frechet distance)计算出频率差异值。
对应的,也可以参照公式(2)计算目标波形强度与参考波形强度之间的强度差异值ds。也可以根据弗朗明歇距离计算出强度差异值,本示例性实施例对此不做特殊限定。
进一步的,获取与频率差异值对应的目标频率,并对频率差异值和目标频率进行频率差异程度计算得到频率差异程度值。该目标频率可以是触控操作作用的终端设备上能够承受的最大频率值,也可以根据实际情况设定其他目标频率值,本示例性实施例对此不做特殊限定。
对频率差异值和目标频率进行频率差异程度计算得到频率差异程度值。具体的,可以利用频率差异值除以目标频率得到频率差异程度值。其中,频率差异程度值可以采用百分数的方式表示。
获取与强度差异值对应的目标强度,并对强度差异值和目标强度进行强度差异程度计算得到强度差异程度值。
该目标强度可以是触控操作作用的终端设备上能够承受的最大强度值,也可以根据实际情况设定其他目标强度值,本示例性实施例对此不做特殊限定。
进一步的,对强度差异值和目标强度进行强度差异程度计算得到强度差异程度值。具体的,可以利用强度差异值除以目标强度得到强度差异程度值。其中,强度差异程度值可以采用百分数的方式表示。
获取与频率差异程度值对应的频率阈值,并对频率差异程度值和频率阈值进行频率阈值比较得到频率比较结果。
与频率差异程度值对应的,该频率阈值可以为一百分数,也可以是其他形式的预设数值,本示例性实施例对此不做特殊限定。优选的,该频率阈值为30%。
进一步的,将频率差异程度值与频率阈值进行比较,以确定二者之间的数值大小作为频率比较结果。
对应的,获取与强度差异程度值对应的强度阈值,并对强度差异程度值和强度阈值进行强度阈值比较得到强度比较结果。
与强度差异程度值对应的,该强度阈值可以为一百分数,也可以是其他形式的预设数值,本示例性实施例对此不做特殊限定。优选的,该强度阈值为30%。
在得到频率比较结果和强度比较结果之后,可以将频率比较结果和强度比较结果共同作为识别处理结果。当识别处理结果为频率差异程度值大于频率阈值,且识别处理结果为强度差异程度值大于强度阈值时,确定目标振动波形为适配于虚拟按键的目标振动波形。亦即,将后续对该虚拟按键进行触控操作时,终端设备会按照目标振动波形振动,以使用户感知。
基于以上应用场景可知,本公开实施例提供的虚拟按键的设置方法,一方面,通过用户的触控操作生成虚拟按键,虚拟按键的生成准确度更高,生成方式也更为便捷,进一步的,不同用户根据手指差异和操作习惯自主生成适应于该用户的虚拟按键,无需用户查看屏幕即可操作,对视觉障碍等用户更为友好,应用场景更为广泛;另一方面,适配一与虚拟按键对应的目标振动波形,为用户提供非可视化的输出反馈,用户无需查看屏幕即可感知,更加智能化和自动化。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的虚拟按键的设置方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的虚拟按键的设置方法的实施例。
图22示意性地示出了在本公开一些实施例中的一种虚拟按键的设置装置的结构框图,如图22所示,虚拟按键的设置装置2200主要可以包括:信息获取模块2210、触控区域模块2220、按键生成模块2230、波形计算模块2240和波形适配模块2250。
信息获取模块2210,被配置为响应作用于用户界面的至少两个触控操作,获取至少两个触控操作的至少两个操作位置信息;触控区域模块2220,被配置为对至少两个操作位置信息进行区域界定处理得到界定触控区域,并对界定触控区域进行区域响应处理得到响应触控区域;按键生成模块2230,被配置为对至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据操作位置距离确定响应触控区域为用户界面上的虚拟按键;波形计算模块2240,被配置为对虚拟按键进行振感匹配处理得到目标振动波形,并对目标振动波形进行波形相似度计算得到波形差异值;波形适配模块2250,被配置为对波形差异值进行效果识别处理得到识别处理结果,以根据识别处理结果确定目标振动波形为适配于虚拟按键的目标振动波形。
在本公开的一些实施例中,波形计算模块,包括:参考参数子模块,被配置为确定除目标振动波形之外的其他振动波形,并对其他振动波形进行参数采集处理得到参考波形参数;
参数计算子模块,被配置为对目标振动波形进行参数采集处理得到目标波形参数,并对目标波形参数和参考波形参数进行波形相似度计算得到波形差异值。
在本公开的一些实施例中,参数计算子模块,包括:频率差异单元,被配置为对目标波形频率和参考波形频率进行波形相似度计算得到频率差异值;
强度差异单元,被配置为对目标波形强度和参考波形强度进行波形相似度计算得到强度差异值。
在本公开的一些实施例中,波形适配模块,包括:频率程度子模块,被配置为获取与频率差异值对应的目标频率,并对频率差异值和目标频率进行频率差异程度计算得到频率差异程度值;
强度程度子模块,被配置为获取与强度差异值对应的目标强度,并对强度差异值和目标强度进行强度差异程度计算得到强度差异程度值;
效果识别子模块,被配置为对频率差异程度值和强度差异程度值进行效果识别处理得到识别处理结果。
在本公开的一些实施例中,效果识别子模块,包括:频率比较单元,被配置为获取与频率差异程度值对应的频率阈值,并对频率差异程度值和频率阈值进行频率阈值比较得到频率比较结果;
强度比较单元,被配置为获取与强度差异程度值对应的强度阈值,并对强度差异程度值和强度阈值进行强度阈值比较得到强度比较结果;
处理结果单元,被配置为将频率比较结果和强度比较结果确定为识别处理结果。
在本公开的一些实施例中,波形适配模块,包括:波形适配单元,被配置为当所述识别处理结果包括频率差异程度值大于频率阈值,且识别处理结果包括强度差异程度值大于强度阈值时,确定目标振动波形为适配于虚拟按键的目标振动波形。
在本公开的一些实施例中,按键生成模块,包括:距离阈值子模块,被配置为在操作位置距离中确定目标位置距离,并获取与目标位置距离对应的位置距离阈值;
有效触控子模块,被配置为当位置距离阈值大于目标位置距离时,确定与目标位置距离对应的触控操作为至少两个触控操作中的有效触控操作;
触控个数子模块,被配置为获取至少两个触控操作中的有效触控操作的触控个数以及与触控个数对应的个数阈值;
按键确定子模块,被配置为当触控个数大于或等于个数阈值时,确定响应触控区域为用户界面上的虚拟按键。
在本公开的一些实施例中,触控区域模块,包括:参数确定子模块,被配置为确定界定触控区域的区域中心点以及与区域中心点对应的区域参数;
参数响应子模块,被配置为按照区域中心点和区域参数进行区域响应处理得到响应触控区域。
在本公开的一些实施例中,虚拟按键的设置装置,还包括:密度聚类模块,被配置为获取作用在虚拟按键上的按键位置信息,并对按键位置信息进行密度聚类处理得到至少两个触控点族群;
距离计算模块,被配置为在至少两个触控点族群中确定族群中心点,并对族群中心点和区域中心点进行位置距离计算得到中心点距离;
按键更新模块,被配置为根据中心点距离更新所述虚拟按键。
在本公开的一些实施例中,距离计算模块,包括:族群剔除子模块,被配置为对至少两个触控点族群进行族群剔除处理得到目标触控点族群;
中心确定子模块,被配置为对目标触控点族群中的按键位置信息进行区域界定处理得到族群触控区域,以确定出所述族群触控区域的族群中心点。
在本公开的一些实施例中,按键更新模块,包括:阈值比较子模块,被配置为确定与中心点距离对应的中心点阈值,并将中心点距离和中心点阈值进行比较得到中心点比较结果;
大于结果子模块,被配置为当中心点比较结果为中心点距离大于中心点阈值时,确定族群触控区域为更新后的虚拟按键。
在本公开的一些实施例中,触控区域模块,包括:坐标确定子模块,被配置为确定至少两个操作位置信息中包括的至少两个横坐标值,并在至少两个横坐标值中确定出目标横坐标值;
信息确定子模块,被配置为确定至少两个操作位置信息中包括的至少两个纵坐标值,并在至少两个纵坐标值中确定出目标纵坐标值;
坐标界定子模块,被配置为对目标横坐标值和目标纵坐标值进行区域界定处理得到界定触控区域。
本公开各实施例中提供的虚拟按键的设置装置的具体细节已经在对应的方法实施例中进行了详细的描述,因此此处不再赘述。
图23示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
需要说明的是,图23示出的电子设备的计算机***2300仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图23所示,计算机***2300包括中央处理单元(Central Processing Unit,CPU)2301,其可以根据存储在只读存储器(Read-Only Memory,ROM)2302中的程序或者从储存部分2308加载到随机访问存储器(Random Access Memory,RAM)2303中的程序而执行各种适当的动作和处理。在RAM 2303中,还存储有***操作所需的各种程序和数据。CPU2301、ROM 2302以及RAM 2303通过总线2304彼此相连。输入/输出(Input/Output,I/O)接口2305也连接至总线2304。
以下部件连接至I/O接口2305:包括键盘、鼠标等的输入部分2306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分2307;包括硬盘等的储存部分2308;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分2309。通信部分2309经由诸如因特网的网络执行通信处理。驱动器2310也根据需要连接至I/O接口2305。可拆卸介质2311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2310上,以便于从其上读出的计算机程序根据需要被安装入储存部分2308。
特别地,根据本公开的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2309从网络上被下载和安装,和/或从可拆卸介质2311被安装。在该计算机程序被中央处理单元(CPU)2301执行时,执行本申请的***中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种虚拟按键的设置方法,其特征在于,所述方法包括:
响应作用于用户界面的至少两个触控操作,获取所述至少两个触控操作的至少两个操作位置信息;
对所述至少两个操作位置信息进行区域界定处理得到界定触控区域,并对所述界定触控区域进行区域响应处理得到响应触控区域;
对所述至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据所述操作位置距离确定所述响应触控区域为所述用户界面上的虚拟按键;
对所述虚拟按键进行振感匹配处理得到目标振动波形,并对所述目标振动波形进行波形相似度计算得到波形差异值;
对所述波形差异值进行效果识别处理得到识别处理结果,以根据所述识别处理结果确定所述目标振动波形为适配于所述虚拟按键的目标振动波形。
2.根据权利要求1所述的虚拟按键的设置方法,其特征在于,所述对所述目标振动波形进行波形相似度计算得到波形差异值,包括:
确定除所述目标振动波形之外的其他振动波形,并对所述其他振动波形进行参数采集处理得到参考波形参数;
对所述目标振动波形进行参数采集处理得到目标波形参数,并对所述目标波形参数和所述参考波形参数进行波形相似度计算得到波形差异值。
3.根据权利要求2所述的虚拟按键的设置方法,其特征在于,所述目标波形参数包括目标波形频率和目标波形强度,所述参考波形参数包括参考波形频率和参考波形强度,所述波形差异值包括频率差异值和强度差异值,
所述对所述目标波形参数和所述参考波形参数进行波形相似度计算得到波形差异值,包括:
对所述目标波形频率和所述参考波形频率进行波形相似度计算得到频率差异值;
对所述目标波形强度和所述参考波形强度进行波形相似度计算得到强度差异值。
4.根据权利要求3所述的虚拟按键的设置方法,其特征在于,所述对所述波形差异值进行效果识别处理得到识别处理结果,包括:
获取与所述频率差异值对应的目标频率,并对所述频率差异值和所述目标频率进行频率差异程度计算得到频率差异程度值;
获取与所述强度差异值对应的目标强度,并对所述强度差异值和所述目标强度进行强度差异程度计算得到强度差异程度值;
对所述频率差异程度值和所述强度差异程度值进行效果识别处理得到识别处理结果。
5.根据权利要求4所述的虚拟按键的设置方法,其特征在于,所述对所述频率差异程度值和所述强度差异程度值进行效果识别处理得到识别处理结果,包括:
获取与所述频率差异程度值对应的频率阈值,并对所述频率差异程度值和所述频率阈值进行频率阈值比较得到频率比较结果;
获取与所述强度差异程度值对应的强度阈值,并对所述强度差异程度值和所述强度阈值进行强度阈值比较得到强度比较结果;
将所述频率比较结果和所述强度比较结果确定为识别处理结果。
6.根据权利要求5所述的虚拟按键的设置方法,其特征在于,所述根据所述识别处理结果确定所述目标振动波形为适配于所述虚拟按键的目标振动波形,包括:
当所述识别处理结果包括所述频率差异程度值大于所述频率阈值,且所述识别处理结果包括所述强度差异程度值大于所述强度阈值时,确定所述目标振动波形为适配于所述虚拟按键的目标振动波形。
7.根据权利要求1所述的虚拟按键的设置方法,其特征在于,所述根据所述操作位置距离确定所述响应触控区域为所述用户界面上的虚拟按键,包括:
在所述操作位置距离中确定目标位置距离,并获取与所述目标位置距离对应的位置距离阈值;
当所述位置距离阈值大于所述目标位置距离时,确定与所述目标位置距离对应的触控操作为至少两个触控操作中的有效触控操作;
获取所述至少两个触控操作中的所述有效触控操作的触控个数以及与所述触控个数对应的个数阈值;
当所述触控个数大于或等于所述个数阈值时,确定所述响应触控区域为所述用户界面上的虚拟按键。
8.根据权利要求1所述的虚拟按键的设置方法,其特征在于,所述对所述界定触控区域进行区域响应处理得到响应触控区域,包括:
确定所述界定触控区域的区域中心点以及与所述区域中心点对应的区域参数;
按照所述区域中心点和所述区域参数进行区域响应处理得到响应触控区域。
9.根据权利要求8所述的虚拟按键的设置方法,其特征在于,所述方法还包括:
获取作用在所述虚拟按键上的按键位置信息,并对所述按键位置信息进行密度聚类处理得到至少两个触控点族群;
在所述至少两个触控点族群中确定族群中心点,并对所述族群中心点和所述区域中心点进行位置距离计算得到中心点距离;
根据所述中心点距离更新所述虚拟按键。
10.根据权利要求9所述的虚拟按键的设置方法,其特征在于,所述在所述至少两个触控点族群中确定族群中心点,包括:
对所述至少两个触控点族群进行族群剔除处理得到目标触控点族群;
对所述目标触控点族群中的按键位置信息进行区域界定处理得到族群触控区域,以确定出所述族群触控区域的族群中心点。
11.根据权利要求10所述的虚拟按键的设置方法,其特征在于,所述根据所述中心点距离更新所述虚拟按键,包括:
确定与所述中心点距离对应的中心点阈值,并将所述中心点距离和所述中心点阈值进行比较得到中心点比较结果;
当所述中心点比较结果为所述中心点距离大于所述中心点阈值时,确定所述族群触控区域为更新后的所述虚拟按键。
12.根据权利要求1-11任一项所述的虚拟按键的设置方法,其特征在于,所述对所述至少两个操作位置信息进行区域界定处理得到界定触控区域,包括:
确定所述至少两个操作位置信息中包括的至少两个横坐标值,并在所述至少两个横坐标值中确定出目标横坐标值;
确定所述至少两个操作位置信息中包括的至少两个纵坐标值,并在所述至少两个纵坐标值中确定出目标纵坐标值;
对所述目标横坐标值和所述目标纵坐标值进行区域界定处理得到界定触控区域。
13.一种虚拟按键的设置装置,其特征在于,所述装置包括:
信息获取模块,被配置为响应作用于用户界面的至少两个触控操作,获取所述至少两个触控操作的至少两个操作位置信息;
触控区域模块,被配置为对所述至少两个操作位置信息进行区域界定处理得到界定触控区域,并对所述界定触控区域进行区域响应处理得到响应触控区域;
按键生成模块,被配置为对所述至少两个操作位置信息进行位置距离计算得到操作位置距离,并根据所述操作位置距离确定所述响应触控区域为所述用户界面上的虚拟按键;
波形计算模块,被配置为对所述虚拟按键进行振感匹配处理得到目标振动波形,并对所述目标振动波形进行波形相似度计算得到波形差异值;
波形适配模块,被配置为对所述波形差异值进行效果识别处理得到识别处理结果,以根据所述识别处理结果确定所述目标振动波形为适配于所述虚拟按键的目标振动波形。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的虚拟按键的设置方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12中任一项所述的虚拟按键的设置方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181295.7A CN114942718B (zh) | 2021-02-08 | 2021-02-08 | 虚拟按键的设置方法、装置、介质以及电子设备 |
PCT/CN2022/074584 WO2022166809A1 (zh) | 2021-02-08 | 2022-01-28 | 虚拟按键的设置方法、装置、介质以及电子设备 |
US17/980,445 US11681434B2 (en) | 2021-02-08 | 2022-11-03 | Method and apparatus for setting virtual keys, medium, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181295.7A CN114942718B (zh) | 2021-02-08 | 2021-02-08 | 虚拟按键的设置方法、装置、介质以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114942718A true CN114942718A (zh) | 2022-08-26 |
CN114942718B CN114942718B (zh) | 2024-07-05 |
Family
ID=82741983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110181295.7A Active CN114942718B (zh) | 2021-02-08 | 2021-02-08 | 虚拟按键的设置方法、装置、介质以及电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11681434B2 (zh) |
CN (1) | CN114942718B (zh) |
WO (1) | WO2022166809A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950243A (zh) * | 2010-09-19 | 2011-01-19 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端及其设置按键位置的方法 |
CN108037889A (zh) * | 2017-12-07 | 2018-05-15 | 广东美晨通讯有限公司 | 虚拟按键的位置调整方法、终端和计算机可读存储介质 |
CN109871174A (zh) * | 2019-01-28 | 2019-06-11 | 维沃移动通信有限公司 | 一种虚拟按键显示方法和移动终端 |
CN110503013A (zh) * | 2019-08-07 | 2019-11-26 | 瑞声科技(新加坡)有限公司 | 振感相似度评价方法、装置及存储介质 |
CN110703952A (zh) * | 2019-10-11 | 2020-01-17 | 吉林大学 | 一种基于双马达装置的法向虚拟按键渲染方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI470478B (zh) * | 2008-12-26 | 2015-01-21 | Inventec Appliances Corp | 電子裝置之虛擬鍵盤結構及其資料輸入方法 |
JP2011248400A (ja) * | 2010-05-21 | 2011-12-08 | Toshiba Corp | 情報処理装置および入力方法 |
CN102467330A (zh) * | 2010-11-16 | 2012-05-23 | 吉易高科股份有限公司 | 一种虚拟键盘装置及其操作方法 |
TWI524218B (zh) * | 2011-10-05 | 2016-03-01 | 廣達電腦股份有限公司 | 觸覺回饋式虛擬鍵盤之提供方法及其電子裝置 |
WO2013114844A1 (ja) * | 2012-02-03 | 2013-08-08 | パナソニック株式会社 | 触覚提示装置および触覚提示装置の駆動方法、駆動プログラム |
DK201670728A1 (en) * | 2016-09-06 | 2018-03-19 | Apple Inc | Devices, Methods, and Graphical User Interfaces for Providing Feedback During Interaction with an Intensity-Sensitive Button |
US20210117080A1 (en) * | 2018-05-07 | 2021-04-22 | AAC Technologies Pte. Ltd. | Method and apparatus for adjusting virtual key of mobile terminal |
CN108803986A (zh) * | 2018-05-07 | 2018-11-13 | 瑞声科技(新加坡)有限公司 | 一种移动终端虚拟按键的调整方法及装置 |
US11128636B1 (en) * | 2020-05-13 | 2021-09-21 | Science House LLC | Systems, methods, and apparatus for enhanced headsets |
-
2021
- 2021-02-08 CN CN202110181295.7A patent/CN114942718B/zh active Active
-
2022
- 2022-01-28 WO PCT/CN2022/074584 patent/WO2022166809A1/zh unknown
- 2022-11-03 US US17/980,445 patent/US11681434B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950243A (zh) * | 2010-09-19 | 2011-01-19 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端及其设置按键位置的方法 |
CN108037889A (zh) * | 2017-12-07 | 2018-05-15 | 广东美晨通讯有限公司 | 虚拟按键的位置调整方法、终端和计算机可读存储介质 |
CN109871174A (zh) * | 2019-01-28 | 2019-06-11 | 维沃移动通信有限公司 | 一种虚拟按键显示方法和移动终端 |
CN110503013A (zh) * | 2019-08-07 | 2019-11-26 | 瑞声科技(新加坡)有限公司 | 振感相似度评价方法、装置及存储介质 |
CN110703952A (zh) * | 2019-10-11 | 2020-01-17 | 吉林大学 | 一种基于双马达装置的法向虚拟按键渲染方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114942718B (zh) | 2024-07-05 |
WO2022166809A1 (zh) | 2022-08-11 |
US11681434B2 (en) | 2023-06-20 |
US20230046679A1 (en) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11860976B2 (en) | Data processing method and device, classifier training method and system, and storage medium | |
US9997157B2 (en) | Knowledge source personalization to improve language models | |
CN106778456B (zh) | 一种手写输入的优化方法及装置 | |
EP3158559A1 (en) | Session context modeling for conversational understanding systems | |
JP7290730B2 (ja) | 文生成方法と装置、電子機器及びプログラム | |
US20210210112A1 (en) | Model Evaluation Method and Device, and Electronic Device | |
CN111061953A (zh) | 智能终端交互方法、装置、终端设备及存储介质 | |
CN109309878A (zh) | 弹幕的生成方法及装置 | |
CN110798636A (zh) | 字幕生成方法及装置、电子设备 | |
CN110297893A (zh) | 自然语言问答方法、装置、计算机装置及存储介质 | |
CN112818909A (zh) | 图像更新方法、装置、电子设备及计算机可读介质 | |
CN108664465A (zh) | 一种自动生成文本方法以及相关装置 | |
CN111461345A (zh) | 深度学习模型训练方法及装置 | |
CN109918627A (zh) | 文本生成方法、装置、电子设备及存储介质 | |
CN111883131B (zh) | 语音数据的处理方法及装置 | |
CN111898561A (zh) | 一种人脸认证方法、装置、设备及介质 | |
US20230368028A1 (en) | Automated machine learning pre-trained model selector | |
CN110263218A (zh) | 视频描述文本生成方法、装置、设备和介质 | |
CN111444321B (zh) | 问答方法、装置、电子设备和存储介质 | |
CN112995757B (zh) | 视频剪裁方法及装置 | |
CN116431458B (zh) | 一种平板电脑智能管理***与方法 | |
CN104881647A (zh) | 信息处理方法、信息处理***和信息处理装置 | |
JP7350587B2 (ja) | 能動学習装置、能動学習方法及びプログラム | |
CN114942718A (zh) | 虚拟按键的设置方法、装置、介质以及电子设备 | |
US20160078635A1 (en) | Avatar motion modification |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40073919 Country of ref document: HK |
|
GR01 | Patent grant |