一种凌空手势的实现方法、终端及计算机可读存储介质与流程

文档序号:18008347发布日期:2019-06-25 23:40阅读:260来源:国知局
本申请涉及终端设备领域,尤其涉及一种凌空手势的实现方法、终端及计算机可读存储介质。
背景技术
::随着触屏技术的发展,具有触屏功能的终端已经普及。但是在一些场景中,例如,手上拿有其他物品,或者正在吃东西等场景,此时用户若通过触屏方式来操作终端会带来不好的体验。而凌空手势可以在终端的上方进行上滑、下滑、左滑以及右滑来实现对终端的操控,从而有效提高用户在这些场景中的体验。凌空手势是指通过不触摸终端屏幕的手势动作来操作终端的功能。目前现有技术中尚未提出有效实现凌空手势的方案。技术实现要素:为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种凌空手势的实现方法、终端及计算机可读存储介质。第一方面,本申请提供了一种凌空手势的实现方法,所述方法包括:将预设光传感器捕获的脉冲数据模拟为物理按键值;根据模拟的物理按键值,判断所述脉冲数据对应的事件是否为凌空手势;在判定为是时,将所述脉冲数据对应的事件模拟为触屏操作。可选地,所述将预设光传感器捕获的脉冲数据模拟为物理按键值,包括:根据所述光传感器捕获所述脉冲数据;将所述脉冲数据模拟为物理按键;获取模拟的物理按键对应所述的模拟的物理按键值。可选地,所述将所述脉冲数据模拟为物理按键,包括:在预设操作系统的框架层的根视图中,通过分发处理值事件函数将所述脉冲数据模拟为物理按键。可选地,所述将预设光传感器捕获的脉冲数据模拟为物理按键值之前,包括:根据所述凌空手势对应预设的物理按键值,注册所述光传感器。可选地,所述将所述脉冲数据对应的事件模拟为触屏操作,包括:获取所述脉冲数据对应的事件所对应的触摸事件信息;通过所述操作系统中分发处理触摸事件函数执行所述触摸事件信息,用以将所述脉冲数据对应的事件模拟为触屏操作。可选地,所述触摸事件信息至少包括:action_down事件、action_move事件和action_up事件;所述通过所述操作系统中分发处理触摸事件函数执行所述触摸事件,包括:根据所述action_down事件对应预设的起点坐标和所述action_move事件对应预设的移动参数,通过所述操作系统中分发处理触摸事件函数执行所述action_down事件、action_move事件和action_up事件;所述移动参数包括移动的次数、多次移动的时间间隔和多次移动的距离之间关系。可选地,在通过所述操作系统中分发处理触摸事件函数执行action_move事件时,还包括:获取预设的物理按键标识的赋值;在所述赋值为第一值时,通过所述操作系统中分发处理触摸事件函数执行action_move事件;在所述赋值为第二值时,停止通过所述操作系统中分发处理触摸事件函数执行action_move事件;所述第一值用于标识当前触屏操作为凌空手势,所述第二值用于标识当前触屏操作为非凌空手势。可选地,所述方法还包括:在判定为是时,将预设的物理按键标识赋值为第一值;在将所述脉冲数据对应的事件模拟为触屏操作之后,将所述物理按键标识赋值为第二值。第二方面,本申请提供了一种终端,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述计算机程序被所述处理器执行时实现如上任一项所述的方法的步骤。第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有凌空手势的实现程序,所述凌空手势的实现程序被处理器执行时实现如上任一项所述的凌空手势的实现方法的步骤。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的凌空手势的实现方法、终端及计算机可读存储介质,通过注册传感器并识别手势获取光感传感器上报的脉冲,并在接收到脉冲后,转化为模拟人手触屏操作,从而高效、快捷的实现凌空手势。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请各个实施例提供的可穿戴设备的一种示意图;图2为本申请各个实施例提供的可穿戴设备的另一种示意图;图3为本申请各个实施例的可穿戴设备的硬件结构示意图;图4为本申请实施例提供的凌空手势的实现方法的流程图;图5为本申请实施例提供的凌空手势的实现效果示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如可穿戴设备、智能手环、手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置以及计步器等移动终端。随着屏幕技术的不断发展,柔性屏、折叠屏等屏幕形态的出现,移动终端也可以作为可穿戴式设备。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。请参阅图1和图2,为本申请实施例提供的可穿戴设备的结构示意图,图中包括可穿戴设备100,请参阅图3,其为实现本发明各个实施例的一种可穿戴设备的硬件结构示意图,该可穿戴设备100可以包括:rf(radiofrequency,射频)单元101、wifi模块102、音频输出单元103、a/v(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图3中示出的可穿戴设备结构并不构成对可穿戴设备的限定,可穿戴设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。下面结合图3对可穿戴设备的各个部件进行具体的介绍:射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma2000(codedivisionmultipleaccess2000,码分多址2000)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、td-scdma(timedivision-synchronouscodedivisionmultipleaccess,时分同步码分多址)、fdd-lte(frequencydivisionduplexing-longtermevolution,频分双工长期演进)和tdd-lte(timedivisionduplexing-longtermevolution,分时双工长期演进)等。wifi属于短距离无线传输技术,可穿戴设备通过wifi模块102可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了wifi模块102,但是可以理解的是,其并不属于可穿戴设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。音频输出单元103可以在可穿戴设备100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或wifi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与可穿戴设备100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。a/v输入单元104用于接收音频或视频信号。a/v输入单元104可以包括图形处理器(graphicsprocessingunit,gpu)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或wifi模块102进行发送。麦克风1042可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风1042接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信基站的格式输出。麦克风1042可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。可穿戴设备100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在可穿戴设备100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板1061。用户输入单元107可用于接收输入的数字或字符信息,以及产生与可穿戴设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图3中,触控面板1071与显示面板1061是作为两个独立的部件来实现可穿戴设备的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现可穿戴设备的输入和输出功能,具体此处不做限定。接口单元108用作至少一个外部装置与可穿戴设备100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到可穿戴设备100内的一个或多个元件或者可以用于在可穿戴设备100和外部装置之间传输数据。存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器110是可穿戴设备的控制中心,利用各种接口和线路连接整个可穿戴设备的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行可穿戴设备的各种功能和处理数据,从而对可穿戴设备进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。可穿戴设备100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管图3未示出,可穿戴设备100还可以包括蓝牙模块等,在此不再赘述。基于上述可穿戴移动终端硬件结构,提出本发明各个实施例。实施例一本发明实施例提供一种凌空手势的实现方法,如图1所示,所述方法包括:s101,将预设光传感器捕获的脉冲数据模拟为物理按键值;s102,根据模拟的物理按键值,判断所述脉冲数据对应的事件是否为凌空手势;s103,在判定为是时,将所述脉冲数据对应的事件模拟为触屏操作。其中,凌空手势可以包括未触摸终端屏幕的上滑、下滑、左滑以及右滑等手势;如图5所示,通过凌空手势向上滑动页面。本发明实施例中方法可以在终端中执行,终端可以包括诸如可穿戴设备、智能手环、手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理、便捷式媒体播放器、导航装置以及计步器等移动终端。本发明实施例中可以通过光传感器来捕获脉冲数据(即凌空手势事件),根据捕获的不同的凌空手势事件,来模拟转换为不同的物理按键值;其中物理按键的key值(即物理按键值)可以预设为较大的值,确定是新值,没有和其他物理按键值重复;其中,key值是规定的一个int类型的数值,来区别其他类型。本发明实施例可以通过传感器管理类sensormanager,基于凌空手势type类型sensor.type_extend_base来实现注册光传感器,也就是说,根据所述凌空手势对应预设的物理按键值,注册所述光传感器。然后根据所述光传感器捕获所述脉冲数据;将所述脉冲数据模拟为物理按键;获取模拟的物理按键对应所述的模拟的物理按键值;例如通过keyevent.getscancode()获取到key值;从而可以将所述模拟的物理按键值与所述预设的物理按键值进行对比;根据所述比对的结果,判断所述脉冲数据对应的事件是否为凌空手势。例如,如果模拟的物理按键值属于预设的物理按键值中的一个,那么所述脉冲数据对应的事件就是凌空手势。本发明实施例中将预设光传感器捕获的脉冲数据模拟为物理按键值,并根据模拟的物理按键值,判定所述脉冲数据对应的事件为凌空手势时,将所述脉冲数据对应的事件模拟为触屏操作,从而通过注册传感器并识别手势获取光感传感器上报的脉冲,并在接收到脉冲后,转化为模拟人手触屏操作,从而高效、快捷的实现凌空手势。在本发明实施例的一些实施方式中,所述将所述脉冲数据模拟为物理按键,可以包括:在预设操作系统的框架层的根视图中,通过分发处理值事件函数将所述脉冲数据模拟为物理按键。其中操作系统可以是android(安卓)系统。也就是说,要在整个操作系统中实现凌空手势,需要在android的framework(框架层)层的decorview(根视图)的dispatchkeyevent(分发处理值事件函数)中处理脉冲数据,从而将脉冲数据会转化为keyevent(物理按键事件),通过keyevent.getscancode()获取到key值。在本发明实施例的一些实施方式中,所述将所述脉冲数据对应的事件模拟为触屏操作,可以包括:获取所述脉冲数据对应的事件所对应的触摸事件信息;通过所述操作系统中dispatchtouch(分发处理触摸事件函数)执行所述触摸事件信息,用以将所述脉冲数据对应的事件模拟为触屏操作。其中,可以通过event.getaction函数获得触摸事件信息;触摸事件信息至少包括:action_down事件(手指初次接触到屏幕时触发)、action_move事件(手指在屏幕上滑动时触发,会多次触发)和action_up事件(手指离开屏幕时触发)。也就是说,每个凌空手势可以转化成一系列的触摸事件,从而可以通过dispatchtouch执行这一系列的触摸事件,从而将所述脉冲数据对应的事件模拟为触屏操作。其中,所述通过所述操作系统中分发处理触摸事件函数执行所述触摸事件,可以包括:根据所述action_down事件对应预设的起点坐标和所述action_move事件对应预设的移动参数,通过所述操作系统中分发处理触摸事件函数执行所述action_down事件、action_move事件和action_up事件;所述移动参数包括移动的次数、多次移动的时间间隔和多次移动的距离之间关系。也就是说,在处理滑动问题时候,每执行一个手势只能接收到光传感器上报的一个值,而之后要模拟手指的滑动操作,可以通过这个值来确定action_down,以及后续的action_move和action_up等事件来操作界面。例如,在action_down时候,起点坐标(x,y)的坐标可以选择为(50,480),这个坐标点是比较好的触摸点;在处理action_move时候,定义了每次手势move(移动)的次数为15次,两次move相隔的时间为10秒,通过handler进行循环move事件。为了达到流畅的滑动效果,本发明实施例中将多次移动的距离之间关系设置为一个等差数组的关系,也就是说,首次移动的距离为最大,然后依次减少,从而达到了非常流畅的效果;其中handler主要用于更新ui(用户界面)。在实际应用中,凌空手势与手指真实触摸操作会存在有错乱问题,为了有效解决该问题,在通过所述操作系统中分发处理触摸事件函数执行action_move事件时,还可以包括:获取预设的keyeventflag(物理按键标识)的赋值;在所述赋值为第一值(true)时,通过所述操作系统中分发处理触摸事件函数执行action_move事件;在所述赋值为第二值(false)时,停止通过所述操作系统中分发处理触摸事件函数执行action_move事件;所述第一值用于标识当前触屏操作为凌空手势,所述第二值用于标识当前触屏操作为非凌空手势。也就是说,在一些实施方式中,在判定所述脉冲数据对应的事件是凌空手势时,将预设的物理按键标识赋值为第一值;在将所述脉冲数据对应的事件完成模拟触屏操作之后,将所述物理按键标识赋值为第二值。例如,可以预先定义了一个keyeventflag,然后在dispatchkeyevent中通过motionevent.getsource()获取keyeventflag的赋值。从而可以通过motionevent.getsource()来区别是否是凌空事件,是则keyeventflag值为true,handler所发送的move事件继续执行,如果不是则keyeventflag为false,立即停止move事件,则执行手指真实触摸事件,从而有效解决了凌空手势与真实触摸事件之间错乱问题。实施例二基于实施例一中的各个实施方式,本发明实施例提供一种可选地凌空手势的实现方法,所述方法包括:步骤1、通过sensormanager,根据凌空手势type类型sensor.type_extend_base来实现注册传感器。步骤2、要在整个操作系统中实现凌空手势,需要在framework层的decorview的dispatchkeyevent中处理此事件,凌空事件会转化为keyevent,通过keyevent.getscancode()获取到key值来判断是否是凌空手势事件,通过event.getaction来判断是否是keyevent.action_down。步骤3、凌空手势事件需要dispatchtouch方法来执行,基于此要给它传入motionevent事件(即触摸事件),也就是action_down、action_move、action_up事件,并返回true。步骤4、在action_down时候,(x,y)的坐标选择(50,480)比较好的触摸点,在处理action_move时候,定义了每次手势move的次数为15次,两次move相隔的时间为10秒,通过handler进行循环move事件,为了达到流畅的滑动效果,定义了一个等差数组,首次移动的距离为最大,然后依次减少,达到了非常流畅的效果。步骤5、为解决错乱问题,定义了一个keyeventflag,在dispatchkeyevent中通过motionevent.getsource()来区别是否是凌空事件,是则keyeventflag值为true,handler所发送的move事件继续执行,如果不是则keyeventflag为false,立即停止move事件,则执行手指真实触摸事件,从而有效解决了错乱问题。实施例三本发明实施例提供一种终端,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述计算机程序被所述处理器执行时实现如实施例一和实施例二中任一项所述的方法的步骤。实施例四本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有凌空手势的实现程序,所述凌空手势的实现程序被处理器执行时实现如实施例一和实施例二中任一项所述的凌空手势的实现方法的步骤。实施例三和实施例四在具体实现时,可以参阅实施例一和实施例二,具有相应的技术效果。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1