一种按键的反馈响应方法及终端与流程

文档序号:11589624阅读:402来源:国知局

本发明涉及电子设备技术领域,特别涉及一种按键的反馈响应方法及终端。



背景技术:

触觉反馈技术(hapticortactilefeedbacks)能通过作用力、振动等一系列动作为使用者再现触感。这一力学刺激可被应用于计算机模拟中的虚拟场景或者虚拟对象的辅助创建和控制,以及加强对于机械和设备的远程操控。通过定制独特的触觉反馈效果提升用户体验,增强游戏、视频和音乐的效果,直观无误地重建“机械”触感,解决驾驶或手术中注意力分散的问题以提高安全性,在实施机械医疗程序和培训模拟时提供逼真的触觉反馈,以及弥补在特定场景下音频与视觉反馈的低效问题。

发明人在实现本发明的过程中发现,目前按键的反馈响应流程一般为,硬件产生触发事件,然后将按键触发事件上报至输入(input)系统,通过底层框架、java和本地代码间的双向交互(javanativeinterface,简称“jni”)通知内核进行反馈事件的处理,流程复杂,消耗时间长,不利于用户体验。



技术实现要素:

本发明实施方式的目的在于提供一种按键的反馈响应方法及终端,使得减少了按键的反馈响应的处理流程,节省了反馈响应的时间,提高了按键反馈响应的速度。

为解决上述技术问题,本发明的实施方式提供了一种按键的反馈响应方法,包括:判断检测到的按键触发事件是否为待反馈的按键触发事件;若判定按键触发事件为待反馈的按键触发事件,则触发内核层中预设的反馈响应事件。

本发明的实施方式还提供了一种按键的反馈响应终端,包括:检测模块,用于确定检测到的按键触发事件是否为待反馈的按键触发事件;反馈模块,用于在检测模块确定按键触发事件为待反馈的按键触发事件时,触发内核层中预设的反馈响应事件。

本发明实施方式相对于现有技术而言,通过判断检测到的按键触发事件是否为待反馈的按键触发事件,对按键触发事件采取不同的处理方式,加快了按键的反馈响应的处理流程,通过预设内核的反馈响应事件,当待反馈的按键触发事件时,无需先从底层上报至应用框架层,直接触发内核的反馈响应事件,减少了处理按键的反馈响应流程,节省了按键反馈响应的时间,从而提高了按键的反馈响应的速度。

另外,判定检测到的按键触发事件不为待反馈的按键触发事件,则上报按键触发事件。通过对不为待反馈的按键触发事件,采用上报按键触发事件的处理方式,确保不为待反馈的按键触发事件的正常处理流程。

另外,在判定检测到的按键触发事件为待反馈的按键触发事件时,上报按键触发事件。通过对待反馈的按键触发事件时,上报按键触发事件,确保待反馈的按键触发事件的按键触发事件的正常处理。

另外,根据以下条件判定检测到的按键触发事件为待反馈的按键触发事件:符合预设的筛选条件并且同类型的按键的上一次上报事件为释放事件。通过预设的筛选条件,加快了判断待反馈的按键触发事件的时间,并且符合按键的上一次上报事件为释放事件,确保待反馈的按键触发事件不是被误触发的事件,增强了判断待反馈的按键触发事件的准确性,提高了按键的反馈响应的速度。

另外,判定检测到的按键触发事件为待反馈的按键触发事件,则触发内核层中预设的反馈响应事件的步骤,具体为:在判定检测到的按键触发事件为待反馈的按键触发事件时,利用内核通知链的机制,触发内核层中预设的反馈响应事件。通过内核通知链的机制,直接触发内核层中预设的反馈响应事件,减少了从待反馈的按键触发事件到反馈响应事件的处理流程,提高了待反馈的按键触发事件的响应速度。

另外,预设的反馈响应事件为震动事件。

附图说明

图1是本发明第一实施方式的一种按键的反馈响应方法的流程图;

图2是本发明第二实施方式的一种按键的反馈响应方法的流程图;

图3是本发明第三实施方式的一种按键的反馈响应终端的结构示意图;

图4是本发明第四实施方式的一种按键的反馈响应终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种按键的反馈响应方法。本实施例中的方法应用于终端,其中终端可以是智能手机,例如安卓手机。具体流程如图1所示,包括:

步骤101:检测按键触发事件。

具体的说,按键包括了虚拟按键和实体按键,对于实体按键,终端可以根据按键按下时的电压或电流检测是否触发了实体按键;对于虚拟按键,终端可以使用相应的软件来检测是否触发了虚拟按键。

步骤102:判断是否为待反馈的按键触发事件。若检测到的按键触发事件是待反馈的按键触发事件,则执行步骤103,若否,则执行步骤104。

具体的说,按键触发事件包括了待反馈的按键触发事件和非待反馈的按键触发事件,而待反馈的按键触发事件与非待反馈的按键触发事件在处理流程上不同,因此,区分两种按键触发事件采用同的处理方法。终端可以根据按键触发的时间长短来区分,例如,待反馈的按键触发事件为长按按键,其中,按键时间大于0.2秒即为长按。

步骤103:触发内核层中预设的反馈响应事件。

具体的说,在内核层中预先设置反馈响应事件,反馈响应事件可以为特定的声音。当判定按键触发事件为待反馈的按键触发事件时,则触发内核中预设的反馈响应事件。例如,现有一客户端a,其内核中预设的反馈响应为特定声音,当在客户端a长按按键时,客户端a检测这次按键触发事件为待反馈的触发事件后,立即触发内核中的预设反馈响应事件,客户端a发出特定的声音。

步骤104:上报该按键触发事件。

具体的说,对于不是待反馈的触发事件,则直接上报该按键触发事件,例如,在安卓手机中,不是待反馈的触发事件上报输入(input)系统,input系统主要的任务就是从设备中读取事件数据,然后将输入事件发送到相应的位置去,另外还需要让系统有机会来处理一些系统按键。

对于待反馈的按键触发事件时,在执行步骤103后,同样需要上报该按键触发事件。例如,在客户端中a中,现有一按键,长按该按键将触发输入功能并且有特定声音作为输入的提示音,其中,待反馈的按键触发为长按按键,预设的反馈响应为发出特定声音;当长按按键时,客户端检测到此次按键触发事件为待反馈的按键触发事件,触发内核中预设的反馈事件,即客户端发出特定的声音,并且同时将该按键触发事件上报,按照按键触发事件的正常处理流程上报至输入(input)系统,触发客户端输入功能;若判断检测到的按键触发事件不为待反馈的按键触发事件,则直接上报该按键触发事件。通过对待反馈的按键触发事件进行上报,确保了待反馈的按键触发事件的按键触发事件的正常处理。

相对于现有技术,本实施例中按键的反馈响应方法,通过判断检测到的按键触发事件是否为待反馈的按键触发事件,区分不同的按键触发事件,进而对不同的按键触发事件采取不同的处理方法,加快了待反馈按键触发事件的处理速度,当按键触发事件为待反馈的按键触发事件时,直接触发在内核中预设反馈响应事件,而后在进行事件的上报,避免了预先将待反馈的按键触发事件向底层上报,并经过底层的层层处理后,才能通知内核处理待反馈的按键触发事件的处理方式,从而减少了待反馈的按键触发事件的处理流程,节省了反馈响应的时间,提高了待反馈的按键触发事件的速度,而对于不是待反馈的按键触发事件,则上报按键触发事件,保证了不是待反馈的按键触发事件的正常处理。

本发明的第二实施方式涉及一种按键的反馈响应方法。第二实施方式是第一实施方式的改进,主要改进之处在于:在第二实施方式中,在判定检测到的按键触发事件为待反馈的按键触发事件时,根据是否符合预设的筛选条件和按键的上一次上报事件为释放事件做判断。具体流程如图2所示,包括:

步骤201:检测按键触发事件。

步骤202:判断是否符合预设的筛选条件。若符合预设的筛选条件,则执行步骤203,若不符合,则执行步骤205。

具体的说,按键触发事件预设的筛选条件是由设计人员设定的,可以是固定的按键或者固定的区域内的实体或者虚拟按键等,例如,智能手机中,在锁屏状态下,菜单(home)键的触发事件;或者在开屏的状态在,以距离屏幕底边1cm的固定区域内的所有按键触发事件。

步骤203:判断该按键的上一次上报事件是否为释放事件。若为释放事件,则执行步骤204,若否,则执行步骤205。

具体的说,一次完整的按键触发事件包括产生事件和释放事件,按键的触发事件可以有多个产生事件,但是只能有一个释放事件,因此,可以根据释放事件判断该按键触发事件是否为一个完整的按键触发事件。例如,智能手a中,预设筛选条件为锁屏状态下home键的响应;现智能手机a处于锁屏状态,当按下home键时,智能手机a检测到一次按键触发事件,持续时间按下home键并且不释放按键,此时,智能手机a检测到多次按键触发事件,当释放按键时,智能手机a检测到此次按键触发事件为释放事件,当智能手机a在此按下home键时,智能手机检测此次按键触发事件的上一个按键触发事件为释放事件,符合按键的上一次上报事件为释放事件。

步骤204:触发内核层中预设的反馈响应事件。

具体的说,大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,让某个子系统在发生某个事件时通知其它的子系统,linux内核提供了通知链的机制,内核通知链只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。因此,在判定检测到的按键触发事件为待反馈的按键触发事件时,利用内核通知链的机制,触发所述内核层中预设的反馈响应事件,其中,内核中预设待反馈的响应事件为震动事件。

更具体的说,待反馈的按键触发事件注册内核通知链,内核中的反馈响应事件注册通知链回调函数,当判定检测到的按键触发事件为待反馈的按键触发事件时,待反馈的按键触发事件在内核中发起反馈响应的通知,内核中的子系统接收到通知,并根据通知触发内核中预设的反馈响应事件。

例如,安卓手机a,其内核中预先设置反馈响应事件为震动事件,预设筛选条件为锁屏状态下home键的响应,则锁屏状态下home键的响应注册内核通知链,内核的反馈响应事件注册通知链回调函数为震动事件,在安卓手机a处于锁屏状态下,按下home键,且该终端检测到上一个上报事件为释放事件,此时,待反馈的按键触发事件在内核中发起通知,内核中的子系统接收到通知,并根据通知触发内核中注册的回调函数,调用内核中的预先设置的震动事件。

步骤205:上报该按键触发事件。

需要说明的是,在本实施例中,可以先执行步骤202,在执行步骤203,在经过步骤202和步骤203后,判定出按键触发事件是否为待反馈的按键触发事件,当触发事件为待反馈的按键触发事件时,可以在触发内核层中预设的反馈响应事件的同时上报该待反馈的按键触发事件,当触发事件不为待反馈的按键触发事件时,则直接上报该按键触发事件。

此外,值得一提的是,步骤201和步骤205与第一实施例的步骤101和步骤104大致相同,为了减少重复,步骤201和步骤205不在做赘述。

本实施例中,在判定待反馈的按键触发事件时根据是否符合按键预设的筛选条件和按键的上一次上报事件为释放事件来判断,加快了判断待反馈的按键触发事件的时间,同时确保了待反馈的按键触发事件不是被误触发的事件,提高了判断待反馈的按键触发事件的准确性,采用内核通知链的机制,直接触发内核中的预设的反馈响应事件,减少了待反馈的按键触发事件的处理流程,从而提高了按键的反馈响应速度。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种按键的反馈响应终端。按键的反馈响应终端3具体结构如图3所示,包括但不限于:检测模块31、反馈模块32。

检测模块31,用于确定检测到的按键触发事件是否为待反馈的按键触发事件。

反馈模块32,用于在所述检测模块确定所述按键触发事件为待反馈的按键触发事件时,触发内核层中预设的反馈响应事件。

具体的说,终端3中产生一次按键的触发事件,检测模块31检测到按键的触发事件,根据按键触发事件的长短来判断出按键的触发事件是否为待反馈的按键触发事件,例如,待反馈的按键触发事件为长按按键,当按键时间大于0.2秒即判断为长按。当检测模块31检测出按键的触发事件为待反馈的按键触发事件时,反馈模块32直接触发内核层中预设的反馈响应事件,无需先从底层上报至应用框架层,并经过底层的层层处理在通知内核响应反馈事件,其中预设的反馈响应事件由设计者预先设置。

本实施方式相对现有技术而言,通过检测模块检测按键的触发事件并判定出待反馈的按键触发事件,并在判定出待反馈的按键触发事件时,触发内核中预设的反馈响应事件,减少了待反馈的按键触发事件的响应流程,加快了按键的反馈响应的速度。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第四实施方式涉及一种按键的反馈响应终端。第四实施方式是第三实施方式的改进,主要改进之处在于:在第四实施例中,还包括上报模块,并在判定检测到的按键触发事件为待反馈的按键触发事件时,采用内核通知链的机制触发内核预设的反馈响应事件。

如图4所示,本发明实施方式中的按键的反馈响应终端4除了包括图3中的模块之外,还包括:上报模块33。

上报模块33,用于在检测模块确定按键触发事件不是待反馈的按键触发事件时,上报按键触发事件。

具体的说,终端3产生一次按键触发事件,终端3中的检测模块31检测按键触发事件,并根据是否符合按键预设的筛选条件和按键的上一次上报事件为释放事件判断检测到的按键触发事件是否为待反馈的按键触发事件,其中按键的预设筛选条件可以为固定的按键或者固定区域内的实体或虚拟按键,检测按键的上一次上报事件是否为释放事件,若检测模块31检测到的按键触发事件符合按键预设条件和按键的上一次上报事件为释放事件时,反馈模块32利用内核通知链机制,触发内核层中预设的反馈响应事件,根据内核通知链机制,待反馈的按键触发事件在内核中发起反馈响应的通知,内核中的子系统接收到通知,并根据通知触发内核层中预设的反馈响应事件,其中反馈响应事件为震动事件;若检测模块31检测到的按键触发事件不符合按键预设条件和按键的上一次上报事件为释放事件时,则上报模块33上报按键触发事件,例如,安卓手机中,将按键触发事件上报至输入(input)系统。

此外,值得一提的是,上报模块33,还用于在检测模块确定按键触发事件为待反馈的按键触发事件时,上报按键触发事件。具体的说,检测模块31检测出按键的触发事件时待反馈的按键触发事件时,反馈模块32直接触发内核层中预设的反馈响应事件,同时,上报模块33也将该待反馈的按键触发模块上报。

本实施例提供按键的反馈响应终端,在检测模块检测出待反馈的按键触发事件时,通过内核通知链机制触发内核层中预设的反馈响应事件,减少了待反馈的按键触发事件的处理流程,同时内核通知链机制的触发方式的响应速度快,从而提高了按键的反馈响应速度。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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