CN106354400B - 一种识别触摸操作的方法及装置 - Google Patents
一种识别触摸操作的方法及装置 Download PDFInfo
- Publication number
- CN106354400B CN106354400B CN201510425555.5A CN201510425555A CN106354400B CN 106354400 B CN106354400 B CN 106354400B CN 201510425555 A CN201510425555 A CN 201510425555A CN 106354400 B CN106354400 B CN 106354400B
- Authority
- CN
- China
- Prior art keywords
- touch
- terminal
- data
- predetermined number
- touch data
- 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.)
- Active
Links
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种识别触摸操作的方法及装置。其中,识别触摸操作的方法包括:终端采集通过触摸屏输入的触摸数据以及获取所述终端的状态数据;当在第一时刻采集的第一触摸数据对应非点击操作,且判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作;当需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据;当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。上述方案,能够准确识别用户输入的触摸动作,减小误判机率,提高识别准确率。
Description
技术领域
本发明实施例涉及通信网络领域,特别是涉及一种识别触摸操作的方法及装置。
背景技术
随着触摸技术的发展,触摸屏作为一种简单方便的人机交互设备得到广泛应用。目前,移动终端一般通过触摸屏进行信息输入,移动终端通过识别用户在触摸屏上输入的触摸动作,从而控制移动终端实现相应的操作。
然而,当移动终端的用户在行走、乘车时,移动终端处于非静止状态,导致用户在通过触摸屏操控移动终端时,因外界因素的影响而输入错误的触摸动作。例如,当用户通过手指点击触摸屏上的某个图标时,由于路况颠簸或车辆突然加速,使得用户手指在触摸屏上产生一个位移,导致用户原本的点击触摸动作变成了滑动触摸动作,进而导致移动终端将当前的触摸动作识别为滑动,造成触摸屏识别错误,给用户带来不便。
发明内容
本发明实施例提供一种识别触摸动作的方法及装置,能够准确识别用户输入的触摸动作,减小误判机率,提高识别准确率。
为了解决上述问题,本发明实施例第一方面提供了一种识别触摸操作的方法,包括:终端采集通过触摸屏输入的触摸数据;所述终端获取所述终端的状态数据;其中,所述状态数据为用于表示所述终端的运动状态的数据,所述运动状态包括静止状态和非静止状态;当在第一时刻采集的第一触摸数据对应非点击操作,且判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作;当需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据;当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
结合第一方面,本发明实施例第一方面的第一种可能的实施方式中,当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应滑动操作时,将所述当前的触摸操作作为滑动事件上报。
结合第一方面,本发明实施例第一方面的第二种可能的实施方式中,所述将所述当前的触摸操作作为点击事件上报的步骤具体包括:将所述当前的触摸操作对应的第一个触摸点作为所述点击事件对应的触摸点进行上报。
结合第一方面或第一方面的第一种可能的实施方式,本发明实施例第一方面的第三种可能的实施方式中,所述方法还包括通过以下方式确定所述预定数目的第二触摸数据对应点击操作或滑动操作:当缓存的所述预定数目的第二触摸数据之间的位移大于预设位移时,确定所述预定数目的第二触摸数据对应滑动操作;当缓存的所述预定数目的第二触摸数据之间的位移小于或等于所述预设位移时,确定所述预定数目的第二触摸数据对应点击操作。
结合第一方面的第三种可能的实施方式,本发明实施例第一方面的第四种可能的实施方式中,所述状态数据包括重力加速度,所述预设位移为固定值。
结合第一方面的第三种可能的实施方式,本发明实施例第一方面的第五种可能的实施方式中,所述状态数据包括加速度、角速度、位移和速率中的一个或多个的组合;所述预设位移与所述状态数据的关系为:所述状态数据的数值越大,则所述预设位移的数值越大。
结合第一方面以及第一方面的第一种至第五种任一种可能的实施方式,本发明实施例第一方面的第六种可能的实施方式中,在所述终端采集通过所述触摸屏输入的触摸数据的过程中,所述方法还包括:所述终端通过获取的所述终端的状态数据,对采集到的触摸数据进行位移补偿;所述终端通过以下方式进行所述位移补偿:所述终端在第X时刻采集到第X触摸数据;所述终端根据第X时刻之前所述终端的状态数据,确定所述终端是否有位移偏移量;当所述终端有位移偏移量时,根据所述位移偏移量补偿所述第X触摸数据。
结合第一方面以及第一方面的第一种至第六种任一种可能的实施方式,本发明实施例第一方面的第七种可能的实施方式中,所述根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作,具体包括:确定所述第一预设时间段内获取的所述状态数据的方差值;当所述方差值大于或等于预设阈值时,确定需要校准所述当前的触摸操作,当所述方差值小于所述预设阈值时,确定不需要校准所述当前的触摸操作。
为了解决上述问题,本发明实施例第二方面提供了一种识别触摸操作的终端,包括第一采集模块、第二采集模块、确定模块、缓存模块、识别模块;所述第一采集模块用于采集通过触摸屏输入的触摸数据;所述第二采集模块用于获取所述终端的状态数据;其中,所述状态数据为用于表示所述终端的运动状态的数据,所述运动状态包括静止状态和非静止状态;所述确定模块用于当所述第一采集模块在第一时刻采集的第一触摸数据对应非点击操作,且根据所述第二采集模块的状态数据判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作;所述缓存模块用于当所述确定模块确定需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据;所述识别模块用于当根据所述缓存模块缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
结合第二方面,本发明实施例第二方面的第一种可能的实施方式中,所述识别模块还用于当根据所述缓存模块缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应滑动操作时,将所述当前的触摸操作作为滑动事件上报。
结合第二方面,本发明实施例第二方面的第二种可能的实施方式中,当根据所述缓存模块缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,所述识别模块具体用于将所述当前的触摸操作对应的第一个触摸点作为所述点击事件对应的触摸点进行上报。
结合第二方面或第二方面的第一种可能的实施方式,本发明实施例第二方面的第三种可能的实施方式中,所述识别模块用于当缓存的所述预定数目的第二触摸数据之间的位移大于预设位移时,确定所述预定数目的第二触摸数据对应滑动操作;当缓存的所述预定数目的第二触摸数据之间的位移小于或等于所述预设位移时,确定所述预定数目的第二触摸数据对应点击操作。
结合第二方面的第三种可能的实施方式,本发明实施例第二方面的第四种可能的实施方式中,所述状态数据包括重力传感器监测到的重力加速度,所述预设位移为固定值。
结合第二方面的第三种可能的实施方式,本发明实施例第二方面的第五种可能的实施方式中,所述状态数据包括陀螺仪监测到的加速度、角速度、位移和速率中的一个或多个的组合;所述预设位移与所述状态数据的关系为:所述状态数据的数值越大,则所述预设位移的数值越大。
结合第二方面以及第二方面的第一种至第五种任一种可能的实施方式,本发明实施例第二方面的第六种可能的实施方式中,所述终端还包括校准模块,在所述第一采集模块采集通过所述触摸屏输入的触摸数据的过程中,所述校准模块用于通过所述第二采集模块获取的所述终端的状态数据,对采集到的触摸数据进行位移补偿;其中,所述校准模块通过以下方式进行所述位移补偿:所述第一采集模块在第X时刻采集到第X触摸数据;所述校准模块根据第X时刻之前所述终端的状态数据,确定所述终端是否有位移偏移量;当所述终端有位移偏移量时,根据所述位移偏移量补偿所述第X触摸数据。
结合第二方面以及第二方面的第一种至第六种任一种可能的实施方式,本发明实施例第二方面的第七种可能的实施方式中,所述确定模块用于确定所述第一预设时间段内获取的所述状态数据的方差值;当所述方差值大于或等于预设阈值时,确定需要校准所述当前的触摸操作,当所述方差值小于所述预设阈值时,确定不需要校准所述当前的触摸操作。
为了解决上述问题,本发明实施例第三方面提供了一种识别触摸操作的终端,包括处理器、存储器;所述处理器用于采集通过触摸屏输入的触摸数据,以及获取所述终端的状态数据;其中,所述状态数据为用于表示所述终端的运动状态的数据,所述运动状态包括静止状态和非静止状态;所述处理器还用于当在第一时刻采集的第一触摸数据对应非点击操作,且根据所述状态数据判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作;所述存储器用于当所述处理器确定需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据;所述处理器还用于当根据所述存储器缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
结合第三方面,本发明实施例第三方面的第一种可能的实施方式中,所述处理器还用于当根据所述存储器缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应滑动操作时,将所述当前的触摸操作作为滑动事件上报。
结合第三方面,本发明实施例第三方面的第二种可能的实施方式中,所述当根据所述存储器缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,所述处理器具体用于将所述当前的触摸操作对应的第一个触摸点作为所述点击事件对应的触摸点进行上报。
结合第三方面或第三方面的第一种可能的实施方式,本发明实施例第三方面的第三种可能的实施方式中,所述处理器用于当所述存储器缓存的所述预定数目的第二触摸数据之间的位移大于预设位移时,确定所述预定数目的第二触摸数据对应滑动操作;当缓存的所述预定数目的第二触摸数据之间的位移小于或等于所述预设位移时,确定所述预定数目的第二触摸数据对应点击操作。
结合第三方面的第三种可能的实施方式,本发明实施例第三方面的第四种可能的实施方式中,所述状态数据包括重力传感器监测到的重力加速度,所述预设位移为固定值。
结合第三方面的第三种可能的实施方式,本发明实施例第三方面的第五种可能的实施方式中,所述状态数据包括陀螺仪监测到的加速度、角速度、位移和速率中的一个或多个的组合;所述预设位移与所述状态数据的关系为:所述状态数据的数值越大,则所述预设位移的数值越大。
结合第三方面以及第三方面的第一种至第五种任一种可能的实施方式,本发明实施例第三方面的第六种可能的实施方式中,所述处理器还用于在采集通过所述触摸屏输入的触摸数据的过程中,通过获取的所述终端的状态数据,对采集到的触摸数据进行位移补偿;所述处理器通过以下方式进行所述位移补偿:所述处理器在第X时刻采集到第X触摸数据;根据第X时刻之前所述终端的状态数据,确定所述终端是否有位移偏移量;当所述终端有位移偏移量时,根据所述位移偏移量补偿所述第X触摸数据。
结合第三方面以及第三方面的第一种至第六种任一种可能的实施方式,本发明实施例第三方面的第七种可能的实施方式中,所述处理器用于确定所述第一预设时间段内获取的所述状态数据的方差值;当所述方差值大于或等于预设阈值时,确定需要校准所述当前的触摸操作,当所述方差值小于所述预设阈值时,确定不需要校准所述当前的触摸操作。
本发明实施例,能够在非静止状态下准确分辨用户输入的点击操作以及滑动操作,减小将点击操作误判为滑动操作的机率,提高识别准确率。
附图说明
图1是本发明实施例识别触摸操作的方法一实施例的流程图;
图2是本发明实施例识别触摸操作的方法另一实施例方式的流程图;
图3是本发明实施例识别触摸操作的终端一实施例的结构示意图;
图4是本发明实施例识别触摸操作的终端另一实施例的结构示意图;
图5是本发明实施例识别触摸操作的终端又一实施例的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
参阅图1,图1是本发明实施例识别触摸操作的方法一实施例的流程图。本实施例的执行主体为终端,终端为移动终端,移动终端可以为手机,也可以为平板电脑,其中,移动终端具有触摸屏,并且移动终端内置有重力传感器和/或陀螺仪传感器。本实施方式包括以下步骤:
S101:终端采集通过触摸屏输入的触摸数据。
当终端正常工作,用户在终端的触摸屏上输入触摸动作时,终端采集通过触摸屏输入的触摸数据。
其中,终端可以实时采集触摸数据,也可以每隔预设周期采集一次,此处不作限制。触摸数据包括用户在触摸屏上输入的每个触摸点对应的坐标。
S102:所述终端获取所述终端的状态数据。
终端获取终端内置传感器监测到的状态数据,其中,状态数据为用于表示终端的运动状态的数据,运动状态包括静止状态和非静止状态。
进一步地,传感器可以为重力传感器,也可以为陀螺仪传感器。当终端内置的传感器为重力传感器时,状态数据包括重力加速度。当终端内置的传感器为陀螺仪传感器时,状态数据包括加速度、角速度、位移和速率中的一个或多个的组合,但并不限于此。
当终端处于静止状态时,状态数据的值保存持续不变,当终端处于非静止状态时,状态数据值的大小会发生变化。例如,当终端处于静止状态时,重力加速度值、加速度值、角速度值、速率值、位移值大小和方向保存持续不变,当终端处于非静止状态时,重力加速度值、加速度值、角速度值、速率值、位移值大小或方向会发生变化。
可选地,当终端内置的传感器为陀螺仪传感器,在终端采集通过触摸屏输入的触摸数据的过程中,还可以包括:终端通过获取的终端的状态数据,对采集到的触摸数据进行位移补偿;终端通过以下方式进行位移补偿:
终端在第X时刻采集到第X触摸数据;终端根据第X时刻之前终端的状态数据,确定终端是否有位移偏移量;当终端有位移偏移量时,根据位移偏移量补偿第X触摸数据。
例如,当终端内置的传感器为陀螺仪传感器,终端在第X时刻采集的第X触摸数据,获取在采集第X触摸数据之前的状态数据,根据在采集第X触摸数据之前的状态数据确定终端是否有位移偏移量。其中,状态数据可以为陀螺仪传感器监测到的位移。X为自然数。
当终端确定有位移偏移量时,获取陀螺仪传感器监测到的位移偏量,根据位移偏移量补偿采集第X触摸数据对应的坐标,以计算第X触摸数据实际对应的坐标,并上报应用层,从而实现对“点偏”的情况进行补偿。其中,终端上报应用层的的坐标是经过补偿后的第X触摸数据对应的坐标。
比如,当确定终端的位移偏移量为向右偏移2mm,第X触摸数据对应的坐标为(a,b)时,对第X触摸数据进行位移补偿之后,其坐标为(a-2,b)。其中,终端上报应用层第X触摸数据对应的坐标为(a-2,b)。a,b的单位均为mm,当a,b的单位为其他单位时,将2mm换算成与a,b相同的单位。
S103:当在第一时刻采集的第一触摸数据对应非点击操作,且判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作。
终端可以根据采集到的触摸数据确定该触摸数据对应的触摸操作,根据状态数据确定终端的运动状态。当运动状态数据值的大小持续不变时,终端处于静止状态,当运动状态数据值的大小发生变化时,终端处于非静止状态。
触摸操作可以包括点击操作、非点击操作。终端在确定触摸操作后将触摸操作对应的触摸事件的类型以及坐标上报应用层做进一步处理。
其中,触摸事件的类型包括点击事件以及滑动事件。点击事件包括两个触摸事件,第一个为按下(down)事件、第二个为抬起(up)事件。
当终端采集到的用户接触触摸屏的触摸数据为(X,Y)时,终端将触摸数据(X,Y)对应的触摸操作识别为点击操作,上报应用层的内容为按下(down)事件,其坐标为(X,Y);当终端采集到用户离开触摸屏的触摸数据为(X,Y)时,终端将触摸数据(X,Y)对应的触摸操作识别为点击操作,上报应用层的内容为抬起(up)事件,其坐标为(X,Y)。终端将down事件以及up事件识别为点击操作。
滑动事件包括多个触摸事件,按下(down)事件、至少一个非点击操作——滑动(move)事件、抬起(up)事件。例如,按下(down)事件、滑动(move)事件、滑动(move)事件、……抬起(up)事件:
当终端采集到的用户接触触摸屏时的触摸数据为(X1,Y1)时,终端上报应用层的内容为按下(down)事件,其坐标为(X1,Y1);当终端确定在大于触摸屏对应的最小周期(一般为12.5ms或者10ms)时采集到的触摸数据为(X2,Y2),且触摸数据(X1,Y1)与(X2,Y2)之间的位移大于触摸屏对应的位移阈值时,终端将触摸数据(X2,Y2)对应的触摸操作为非点击操作,终端上报应用层的内容为滑动(move)事件,其坐标为(X2,Y2);……当终端采集到用户离开触摸屏的触摸数据为(X3,Y3),终端将触摸数据(X3,Y3)对应的触摸操作识别为点击操作,上报应用层的内容为抬起(up)事件,其坐标为(X3,Y3)。终端将down事件、move事件以及up事件识别为滑动操作,将down事件、move事件以及up事件各自对应的坐标识别为滑动事件的滑动轨迹。
其中,触摸屏对应的最小周期为终端获取触摸数据的周期。位移阈值由终端触摸屏自身参数决定,每种触摸屏对应的唯一阈值可能不同,也可能相同。位移阈值用于判定触摸数据对应的触摸操作为点击操作还是非点击操作。
当最小周期内触摸数据对应的位移大于位移阈值时,触摸操作为非点击操作。即终端监测到在最小周期内用户手指未离开触摸屏,且在该最小周期内的触摸数据对应的位移大于位移阈值时,该触摸操作为非点击操作;或者,终端监测到在最小周期内用户手指离开触摸屏,且在该最小周期内的触摸数据对应的位移大于位移阈值时,该触摸操作为非点击操作。
当最小周期内监测到用户手指离开触摸屏,且在该最小周期内触摸数据对应的位移小于或等于位移阈值时,触摸操作为点击操作。
当终端确定在第一时刻采集的第一触摸数据对应点击操作时,直接上报应用层做进一步处理。
当终端确定在第一时刻采集的第一触摸数据对应非点击操作,且判断终端在第一时刻处于非静止状态时,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作。第一预设时间段可以根据实际需要而设定。第一预设时间段对应的时间越长,误差越小。
进一步地,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作的方法可以为:确定第一时刻之前的第一预设时间段内获取的状态数据是否超过该状态数据对应的预设阈值。例如,确定第一时刻之前的第一预设时间段内获取的重力加速度,或位移、加速度、角速度、速率中的其中任一个是否超过各自对应的预设阈值。当第一时刻之前的第一预设时间段内获取的状态数据大于该状态数据对应的预设阈值时,需要校准当前的触摸操作;当第一时刻之前的第一预设时间段内获取的状态数据小于或等于该状态数据对应的预设阈值时,不需要校准当前的触摸操作。
进一步地,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作的方法还可以为:确定第一预设时间段内获取的状态数据的方差值;当方差值大于预设阈值时,确定需要校准当前的触摸操作,当方差值小于或等于预设阈值时,确定不需要校准当前的触摸操作。
例如,终端根据第一预设时间段内获取的状态数据计算其对应的方差值,并比较方差值与方差值对应的预设阈值;当方差值大于方差值对应的预设阈值时,启动校准策略。运动状态数据可以为重力加速度值或位移值。
当需要校准当前的触摸操作时,执行步骤S104;当不需要校准当前的触摸操作时,执行步骤S103或将触摸操作对应的触摸事件的类型以及坐标上报应用层做进一步处理。S104:当需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据。
当终端确定需要校准当前的触摸操作时,终端将缓存第一时刻之后预定数目的第二触摸数据。
其中,预定数目可以为3,也可以为4或其他值,具体可根据实际需要进行设置,此处不作限制。
S105:当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
例如,当终端确定需要校准当前的触摸操作时,终端缓存第一时刻之后的3个(预定数目为3)的第二触摸数据,以确定当前的触摸操作对应的触摸事件是滑动事件还是点击事件。
可以理解的是,在本实施例中可以先缓存好预定数目的第二触摸数据,再逐一判断已经缓存的第二触摸数据是否对应点击操作;也可以每缓存一个第二触摸数据并判断当前缓存的第二触摸数据是否对应点击操作,当未缓存满预定数目的第二触摸数据,且确定当前缓存的第二触摸数据对应up事件(即用户手指离开触摸屏)或move事件(即用户手指未离开触摸屏,且在触摸屏上移动),或已经缓存满预定数目的第二触摸数据时,预定数目中最后一个第二触摸数据对应move事件时,取消缓存,否则再次缓存预定数目的第二触摸数据做进一步判断。
下面以每缓存一个第二触摸数据并判断当前缓存的第二触摸数据是否对应点击操作为例进行说明。
终端开始缓存第一时刻之后的第一个第二触摸数据,并判断第一个第二触摸数据与第一时刻采集的第一触摸数据之间的位移是否超过预设位移。
其中,当第一个第二触摸数据与第一时刻采集的第一触摸数据之间的位移超过预设位移时,终端将第一个第二触摸数据对应的触摸操作识别为非点击操作。当第一个第二触摸数据与第一时刻采集的第一触摸数据之间的位移小于或等于预设位移时,终端将第一个第二触摸数据对应的触摸操作识别为点击操作。
当终端确定第一个第二触摸数据对应非点击操作时,继续缓存第一时刻之后的第二个第二触摸数据,并按上述方法判断第二个第二触摸数据与第一时刻采集的第一触摸数据之间的位移是否超过预设位移。
当第一个第二触摸数据对应点击操作时,将当前的触摸操作作为点击事件上报并取消缓存。即将第一个第二触摸数据对应的坐标修改为第一时刻之前上报的up事件对应的坐标,并取消缓存。
进一步地,当终端通过重力传感器获取状态数据时,预设位移为固定值。当终端通过陀螺仪传感器获取状态数据时,预设位移为可变值。预设位移与状态数据的关系为:状态数据的数值越大,则预设位移的数值越大。即,终端根据获取的状态数据的数值实时调整预设位移的数值。
进一步地,当根据缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应滑动操作时,将当前的触摸操作作为滑动事件上报。
例如,当终端在第一时刻采集的第一触摸数据对应非点击操作(终端连续监测到down事件、至少一个move事件)时,终端开始缓存第一个第二触摸数据,确定第一个第二触摸数据与down事件对应的触摸数据之间的位移是否超过预设位移。
当第一个第二触摸数据与down事件对应的触摸数据之间的位移小于或等于预设位移,且监测到用户手指离开触摸屏时,终端判定第一个第二触摸数据对应点击操作(up事件),将当前的触摸操作作为点击事件上报应用层,取消缓存,不再缓存第二个第二触摸数据。在终端已经将第一时刻的第一触摸数据对应的down事件上报应用层时,终端此时只上报应用层的内容为up事件,其对应的坐标为down事件对应的坐标。在终端先前没有上报第一时刻的第一触摸数据对应的down事件时,终端此时上报应用层的内容为down事件以及up事件,其坐标均为第一触摸数据中down事件对应的坐标。
当第一个第二触摸数据与down事件对应的触摸数据之间的位移大于预设位移,且监测到用户手指未离开触摸屏时,终端判定第一个第二触摸数据对应的触摸操作为非点击操作(move事件),继续缓存第一时刻之后的第二个第二触摸数据,并按上述方法判断第二个第二触摸数据与第一时刻采集的第一触摸数据之间的位移是否超过预设位移。
当第二个第二触摸数据与down事件对应的触摸数据之间的位移大于预设位移,且监测到用户手指离开触摸屏时,终端将当前的触摸操作识别为滑动事件上报应用层,取消缓存,不再缓存第三个第二触摸数据。其中,终端上报应用层的内容为move事件,其坐标为第二个第二触摸数据对应的坐标;以及up事件,其坐标为第二个第二触摸数据对应的坐标。
当第二个第二触摸数据与down事件对应的触摸数据之间的位移大于预设位移,且监测到用户手指未离开触摸屏时,终端判定第二个第二触摸数据对应的触摸操作为非点击操作(move事件),继续缓存第三个第二触摸数据,并按上述方法判断第三个第二触摸数据与第一时刻采集的第一触摸数据之间的位移是否超过预设位移。
当第三个第二触摸数据与down事件对应的触摸数据之间的位移大于预设位移,且监测到用户手指未离开触摸屏时,终端判定当前的触摸操作为非点击操作,取消缓存。终端上报应用层的内容为move事件,其坐标为第三个第二触摸数据对应的坐标。终端不上报第一个以及第二个第二触摸数据。
当第三个第二触摸数据与down事件对应的触摸数据之间的位移大于预设位移,且监测到用户手指离开触摸屏时,终端将当前的触摸操作识别为滑动事件上报应用层,取消缓存。其中,终端上报应用层的内容为move事件,其坐标为第三个第二触摸数据对应的坐标;以及up事件,其坐标为第三个第二触摸数据对应的坐标。
上述方案,终端在判断出第一时刻采集的第一触摸数据对应非点击操作,且判断出终端在第一时刻处于非静止状态时,终端确定是否需要校准当前的触摸操作;当需要校准当前的触摸操作时,终端缓存第一时刻之后预定数目的第二触摸数据,然后根据缓存的第二触摸数据确定当前的操作是否为点击操作;当确定为点击操作时,将当前的触摸操作作为点击事件上报。由此能够在非静止状态下准确分辨出用户的点击操作,减小将点击操作误判为滑动操作的机率,提高识别准确率。
参阅图2,图2是本发明实施例识别触摸操作的方法另一实施例的流程图。本实施例的执行主体为终端,终端为移动终端,移动终端可以为手机,也可以为平板电脑,其中,移动终端具有触摸屏,并且移动终端内置有重力传感器和/或陀螺仪传感器。本实施例包括以下步骤:
S201:终端采集通过触摸屏输入的触摸数据以及获取内置于所述终端的传感器监测到的状态数据。
当终端正常工作,用户在终端的触摸屏上输入触摸动作时,终端采集用户通过触摸屏输入的触摸数据以及获取内置于终端的传感器监测到的数据,并判断采集到的触摸数据对应点击操作还是非点击操作,以及根据监测到的状态数据确定终端当前处于静止状态或非静止状态。
其中,终端可以实时采集触摸数据,也可以每隔预设周期采集一次,此处不作限制。触摸数据包括用户在触摸屏上输入的每个触摸点对应的坐标。判断采集到的触摸数据对应点击操作还是非点击操作的方法请参阅上一实施例中的不足S103的相关描述,此处不赘述。
当终端内置的传感器为重力传感器时,终端获取的状态数据包括重力加速度。当终端内置的传感器为陀螺仪传感器时,终端获取的状态数据包括加速度、角速度、位移和速率中的一个或多个的组合。
当终端处于静止状态时,重力加速度值、加速度值、角速度值、速率值、位移值大小和方向保存持续不变,当终端处于非静止状态时,重力加速度值、加速度值、角速度值、速率值、位移值大小或方向会发生变化。
当采集到的触摸数据对应点击操作时,执行步骤S202;
当采集到的触摸数据对应非点击操作,且终端处于非静止状态时,执行步骤S202。
S202:当采集到的触摸数据对应点击操作,将所述当前的触摸操作作为点击事件上报。
当终端采集到的触摸数据对应点击操作时,无论终端当前处于静止状态或非静止状态,均将当前的触摸操作作为点击事件上报。
例如,当用户手指接触终端的触摸屏时,终端采集到的触摸数据对应down事件,将down事件及其对应的坐标上报应用层。当用户手指离开终端的触摸屏,终端采集到的触摸数据对应up事件时,将up事件及其对应的坐标上报应用层。
进一步地,当终端内置的传感器为陀螺仪传感器,在终端采集通过触摸屏输入的触摸数据的过程中,终端采集到的触摸数据对应down事件时,还可以包括:终端通过获取的终端的状态数据,对采集到的触摸数据进行位移补偿;终端通过以下方式进行位移补偿:
终端获取在第X时刻采集到第X触摸数据;终端根据第X时刻之前终端的状态数据,确定终端是否有位移偏移量;当终端有位移偏移量时,根据位移偏移量补偿第X触摸数据。其中,N为自然数。
例如,当终端内置的传感器为陀螺仪传感器,终端采集到的第X触摸数据对应对应的触摸事件为down事件时,获取在采集第X触摸数据之前的状态数据,根据在采集第X触摸数据之前的状态数据确定终端是否有位移偏移量。其中,状态数据可以为陀螺仪传感器监测到的位移。
当终端确定有位移偏移量时,获取陀螺仪传感器监测到的位移偏量,根据位移偏移量补偿采集第X触摸数据对应的坐标,以计算第X触摸数据实际对应的坐标,并上报应用层,从而实现对“点偏”的情况进行补偿。其中,终端上报应用层的内容为down事件,其对应的坐标是经过补偿后的第X触摸数据对应的坐标。
比如,当确定终端的位移偏移量为向右偏移2mm,第X触摸数据对应的坐标为(a,b)时,对第X触摸数据进行位移补偿之后,其坐标为(a-2,b)。其中,终端上报应用层的内容为down事件,其对应的坐标为(a-2,b)。a,b的单位均为mm,当a,b的单位为其他单位时,将2mm换算成与a,b相同的单位。
S203:当在第一时刻采集的第一触摸数据对应非点击操作,且判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作。
当终端采集的触摸数据对应非点击操作,将当前时刻记为第一时刻。终端判断在第一时刻处于非静止状态时,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作。
具体为:确定第一时刻之前的第一预设时间段内获取的状态数据的方差值;当方差值大于预设阈值时,确定需要校准当前的触摸操作,当方差值小于或等于预设阈值时,确定不需要校准当前的触摸操作。
当不需要校准当前的触摸操作时,将当前触摸操作上报应用层做进一步处理;当需要校准当前的触摸操作时,执行步骤S204。
S204:当需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据。
当终端确定需要校准当前的触摸操作时,终端将缓存第一时刻之后预定数目的第二触摸数据。
其中,预定数目可以为3,也可以为4或其他值,具体可根据实际需要进行设置,此处不作限制。
终端根据缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作还是非点击操作。
其中,当终端监测到up事件,且当前缓存的第二触摸数据的坐标与离该第二触摸数据最近的down事件对应的坐标之间的位移小于预设位移时,当前操作对应点击操作。
当终端未监测到up事件,且当前缓存的第二触摸数据的坐标与离该第二触摸数据最近的down事件对应的坐标之间的位移小于预设位移时,当前操作对应非点击操作。终端上报应用层为move事件,其坐标为当前缓存的第二触摸数据的坐标。
当终端监测到up事件,且当前缓存的第二触摸数据的坐标与离该第二触摸数据最近的down事件对应的坐标之间的位移小于预设位移时,当前操作对应滑动操作。
当当前操作对应点击操作时,执行步骤S205;
当当前操作对应非点击操作时,执行步骤S206。
S205:当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
当终端监测到up事件,且当前缓存的第二触摸数据的坐标与离该第二触摸数据最近的down事件对应的坐标之间的位移小于预设位移时,终端将当前的触摸操作对应的触摸事件识别为点击事件,将up事件,离该预定数目的第二触摸数据最近的down事件对应的坐标上报应用层。
例如,当缓存的第二个第二触摸数据对应的触摸事件为up事件时,上报应用层up事件,该up事件的坐标为离第二个触摸数据最近的down事件对应的坐标。down事件及其坐标在此之前已经上报过应用层。
S206:当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应滑动操作时,将所述当前的触摸操作作为滑动事件上报。
当终端监测到up事件,且当前缓存的第二触摸数据的坐标与离该第二触摸数据最近的down事件对应的坐标之间的位移小于预设位移时,终端将当前的触摸操作识别为滑动操作,终端上报应用层的触摸事件为move事件、up事件,且move事件以及up事件的坐标均为当前缓存的第二触摸数据的坐标。
例如,当缓存的第二个第二触摸数据对应的触摸事件为move事件,且此时监测到up事件时,上报应用层move事件、up事件,且move事件以及up事件的坐标均为第二触摸数据对应的的坐标。
上述方案,终端在判断出第一时刻采集的第一触摸数据对应非点击操作,且判断出终端在第一时刻处于非静止状态时,终端确定是否需要校准当前的触摸操作;当需要校准当前的触摸操作时,终端缓存第一时刻之后预定数目的第二触摸数据,然后根据缓存的第二触摸数据确定当前的操作是否为点击操作;当确定为点击操作时,将当前的触摸操作作为点击事件上报。由此能够在非静止状态下准确分辨出用户的点击操作,减小将点击操作误判为滑动操作的机率,提高识别准确率。
当运动状态数据为位移时,终端还能根据获取的状态数据的数值实时调整预设位移的数值,进一步提高识别准确率。
当运动状态数据为位移时,终端还能够对用户输入的触摸数据对应的坐标进行补偿,减小上报的触摸数据的误差,提高识别精度。
请参阅图3,图3是本发明实施例识别触摸操作的终端一实施例的结构示意图。本实施例中终端为移动终端,移动终端可以为手机,也可以为平板电脑,其中,移动终端具有触摸屏,并且移动终端内置有重力传感器和/或陀螺仪传感器。
本实施例中识别触摸动作的终端包括的各模块用于执行图1对应的实施例中包括的各步骤,具体请参见图1以及图1对应的实施例中各步骤的相关描述,此处不赘述。本实施例中识别触摸动作的装置识别触摸动作的装置包括第一采集模块310、第二采集模块320、确定模块330、缓存模块340、识别模块350。
第一采集模块310用于采集通过触摸屏输入的触摸数据。比如,第一采集模块310采集通过触摸屏输入的触摸数据。第一采集模块310将触摸数据向确定模块330发送。
第二采集模块320用于获取所述终端的状态数据;其中,状态数据为用于表示终端的运动状态的数据,运动状态包括静止状态和非静止状态。比如,第二采集模块320获取所述终端的状态数据;其中,状态数据为用于表示终端的运动状态的数据,运动状态包括静止状态和非静止状态。第二采集模块320将状态数据向确定模块330发送。
确定模块330用于接收第一采集模块310发送的触摸数据以及第二采集模块320发送的状态数据,当第一采集模块310在第一时刻采集的第一触摸数据对应非点击操作,且根据第二采集模块320的状态数据判断终端在第一时刻处于非静止状态时,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作。
比如,确定模块330接收第一采集模块310发送的触摸数据以及第二采集模块320发送的状态数据,当第一采集模块310在第一时刻采集的第一触摸数据对应非点击操作,且根据第二采集模块320的状态数据判断终端在第一时刻处于非静止状态时,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作。当需要校准当前的触摸操作时,向缓存模块340发送通知信息;当不需要校准当前的触摸操作时,通知识别模块350识别当前触摸操作。
缓存模块340用于接收确定模块330发送的通知信息,当确定模块330确定需要校准当前的触摸操作时,缓存第一时刻之后预定数目的第二触摸数据。比如,缓存模块340接收确定模块330发送的通知信息,当确定模块330确定需要校准当前的触摸操作时,缓存第一时刻之后预定数目的第二触摸数据。缓存模块340将缓存的第一时刻之后预定数目的第二触摸数据向识别模块350发送。
识别模块350用于接收缓存模块340发送的缓存的第一时刻之后预定数目的第二触摸数据,当根据缓存模块340缓存的所述预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作时,将当前的触摸操作作为点击事件上报。
比如,识别模块350接收缓存模块340发送的缓存的第一时刻之后预定数目的第二触摸数据,当根据缓存的所述预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作时,将当前的触摸操作作为点击事件上报。
上述方案,终端根据触摸屏输入的触摸数据判断在第一时刻采集的第一触摸数据对应非点击操作,且根据终端的状态数据判断终端在第一时刻处于非静止状态时,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作,当需要校准当前的触摸操作时,缓存第一时刻之后预定数目的第二触摸数据,当根据缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作时,将当前的触摸操作作为点击事件上报,能够在非静止状态下准确分辨用户输入的点击操作以及滑动操作,减小将点击操作误判为滑动操作的机率,提高识别准确率。
请参阅图4,图4是本发明实施例识别触摸操作的终端另一实施例的结构示意图。本实施例中终端为移动终端,移动终端可以为手机,也可以为平板电脑,其中,移动终端具有触摸屏,并且移动终端内置有重力传感器和/或陀螺仪传感器。
本实施例中识别触摸操作的终端包括的各模块用于执行图1对应的实施例中包括的各步骤,具体请参见图1以及图1对应的实施例中各步骤的相关描述,此处不赘述。本实施例中识别触摸操作的终端包括第一采集模块410、第二采集模块420、确定模块430、缓存模块440、识别模块450。其中,当移动终端内置有陀螺仪时,识别触摸动作的装置还包括补偿模块460。
本实施例与上一实施例的不同之处在于,当移动终端内置有陀螺仪时,识别触摸动作的装置还包括补偿模块460,以及
确定模块430用于确定第二采集模块420在第一预设时间段内获取的状态数据的方差值;当方差值大于或等于预设阈值时,确定需要校准当前的触摸操作,当方差值小于所述预设阈值时,确定不需要校准当前的触摸操作。
比如,确定模块430确定第二采集模块420在第一预设时间段内获取的状态数据的方差值;当方差值大于或等于预设阈值时,确定需要校准当前的触摸操作,当方差值小于所述预设阈值时,确定不需要校准当前的触摸操作。
补偿模块460用于在第一采集模块410采集通过触摸屏输入的触摸数据的过程中,通过第二采集模块420获取的终端的状态数据,对采集到的触摸数据进行位移补偿;其中,补偿模块460通过以下方式进行位移补偿:第一采集模块410在第X时刻采集到第X触摸数据;补偿模块460根据第X时刻之前终端的状态数据,确定终端是否有位移偏移量;当终端有位移偏移量时,根据位移偏移量补偿所述第X触摸数据。
比如,在第一采集模块410采集通过触摸屏输入的触摸数据的过程中,补偿模块460通过第二采集模块420获取的终端的状态数据,对采集到的触摸数据进行位移补偿;其中,补偿模块460通过以下方式进行位移补偿:获取第一采集模块410在第X时刻采集到第X触摸数据;补偿模块460根据第二采集模块获取的第X时刻之前终端的状态数据,确定终端是否有位移偏移量;当终端有位移偏移量时,根据位移偏移量补偿第X触摸数据。补偿模块460将补偿后的第X触摸数据、第一采集模块410采集的触摸数据(不包含第X触摸数据)以及第二采集模块420获取的终端的状态数据发送给确定模块430。
识别模块450用于当缓存模块440缓存的预定数目的第二触摸数据之间的位移大于预设位移时,确定预定数目的第二触摸数据对应滑动操作;当缓存的预定数目的第二触摸数据之间的位移小于或等于预设位移时,确定预定数目的第二触摸数据对应点击操作。
其中,状态数据包括重力传感器监测到的重力加速度,预设位移为固定值。
其中,状态数据包括陀螺仪监测到的加速度、角速度、位移和速率中的一个或多个的组合;预设位移与状态数据的关系为:状态数据的数值越大,则预设位移的数值越大。
比如,当缓存模块440缓存的预定数目的第二触摸数据之间的位移大于预设位移时,识别模块450确定预定数目的第二触摸数据对应滑动操作;当缓存的预定数目的第二触摸数据之间的位移小于或等于预设位移时,识别模块450确定预定数目的第二触摸数据对应点击操作。
其中,当状态数据包括重力传感器监测到的重力加速度时,预设位移为固定值。
当状态数据包括陀螺仪监测到的加速度、角速度、位移和速率中的一个或多个的组合时,预设位移与状态数据的关系为:状态数据的数值越大,则预设位移的数值越大。
识别模块450还用于当根据缓存模块440缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应滑动操作时,将当前的触摸操作作为滑动事件上报。比如,识别模块450当根据缓存模块440缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应滑动操作时,将当前的触摸操作作为滑动事件上报。
当根据缓存模块440缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作时,识别模块450具体用于将当前的触摸操作对应的第一个触摸点作为点击事件对应的触摸点进行上报。
比如,当根据缓存模块440缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作时,识别模块450将当前的触摸操作对应的第一个触摸点作为点击事件对应的触摸点进行上报。
上述方案,终端根据触摸屏输入的触摸数据判断在第一时刻采集的第一触摸数据对应非点击操作,且根据终端的状态数据判断终端在第一时刻处于非静止状态时,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作,当需要校准当前的触摸操作时,缓存第一时刻之后预定数目的第二触摸数据,当根据缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作时,将当前的触摸操作作为点击事件上报,能够在非静止状态下准确分辨用户输入的点击操作以及滑动操作,减小将点击操作误判为滑动操作的机率,提高识别准确率。
当运动状态数据为位移时,终端还能根据获取的状态数据的数值实时调整预设位移的数值,进一步提高识别准确率。
当运动状态数据为位移时,终端还能够对用户输入的触摸数据对应的坐标进行补偿,减小上报的触摸数据的误差,提高识别精度。
参阅图5,图5是本发明实施例识别触摸操作的终端又一实施例的结构示意图。本实施例中终端为移动终端,移动终端可以为手机,也可以为平板电脑,其中,移动终端具有触摸屏,并且移动终端内置有重力传感器和/或陀螺仪传感器。本实施例的识别触摸操作的终端包括:接收器510、处理器520、发送器530、只读存储器540、随机存取存储器550以及总线560。
接收器510用于接收数据。
处理器520控制识别触摸操作的终端的操作,处理器520还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器520可能是一种集成电路芯片,具有信号的处理能力。处理器520还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
发送器530用于发送数据。
存储器可以包括只读存储器540和随机存取存储器550,并向处理器520提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。
识别触摸操作的终端的各个组件通过总线560耦合在一起,其中总线560除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线560。
存储器存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器520通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
处理器520用于采集通过触摸屏输入的触摸数据,以及获取所述终端的状态数据;其中,所述状态数据为用于表示所述终端的运动状态的数据,所述运动状态包括静止状态和非静止状态;
处理器520还用于当在第一时刻采集的第一触摸数据对应非点击操作,且根据所述状态数据判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作;
处理器520用于当所述处理器确定需要校准所述当前的触摸操作时,控制存储器缓存所述第一时刻之后预定数目的第二触摸数据;
处理器520还用于当根据所述存储器缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
可选地,处理器520还用于当根据所述存储器缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应滑动操作时,将所述当前的触摸操作作为滑动事件上报。
可选地,当根据所述存储器缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,处理器520具体用于将所述当前的触摸操作对应的第一个触摸点作为所述点击事件对应的触摸点进行上报。
可选地,处理器520用于当所述存储器缓存的所述预定数目的第二触摸数据之间的位移大于预设位移时,确定所述预定数目的第二触摸数据对应滑动操作;当缓存的所述预定数目的第二触摸数据之间的位移小于或等于所述预设位移时,确定所述预定数目的第二触摸数据对应点击操作。
可选地,所述状态数据包括重力传感器监测到的重力加速度,所述预设位移为固定值。
可选地,所述状态数据包括陀螺仪监测到的加速度、角速度、位移和速率中的一个或多个的组合;所述预设位移与所述状态数据的关系为:所述状态数据的数值越大,则所述预设位移的数值越大。
可选地,处理器520还用于在采集通过所述触摸屏输入的触摸数据的过程中,通过获取的所述终端的状态数据,对采集到的触摸数据进行位移补偿;处理器520通过以下方式进行所述位移补偿:处理器520在第X时刻采集到第X触摸数据;根据第X时刻之前所述终端的状态数据,确定所述终端是否有位移偏移量;当所述终端有位移偏移量时,根据所述位移偏移量补偿所述第X触摸数据。
可选地,处理器520用于确定所述第一预设时间段内获取的所述状态数据的方差值;当所述方差值大于或等于预设阈值时,确定需要校准所述当前的触摸操作,当所述方差值小于所述预设阈值时,确定不需要校准所述当前的触摸操作。上述方案,终端根据触摸屏输入的触摸数据判断在第一时刻采集的第一触摸数据对应非点击操作,且根据终端的状态数据判断终端在第一时刻处于非静止状态时,根据第一时刻之前的第一预设时间段内获取的状态数据确定是否需要校准当前的触摸操作,当需要校准当前的触摸操作时,缓存第一时刻之后预定数目的第二触摸数据,当根据缓存的预定数目的第二触摸数据确定预定数目的第二触摸数据对应点击操作时,将当前的触摸操作作为点击事件上报,能够在非静止状态下准确分辨用户输入的点击操作以及滑动操作,减小将点击操作误判为滑动操作的机率,提高识别准确率。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (16)
1.一种识别触摸操作的方法,其特征在于,所述方法包括:
终端采集通过触摸屏输入的触摸数据;
所述终端获取所述终端的状态数据;其中,所述状态数据为用于表示所述终端的运动状态的数据,所述运动状态包括静止状态和非静止状态;
当在第一时刻采集的第一触摸数据对应非点击操作,且判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作;
当需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据;
当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当根据缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应滑动操作时,将所述当前的触摸操作作为滑动事件上报。
3.根据权利要求1所述的方法,其特征在于,所述将所述当前的触摸操作作为点击事件上报的步骤具体包括:
将所述当前的触摸操作对应的第一个触摸点作为所述点击事件对应的触摸点进行上报。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括通过以下方式确定所述预定数目的第二触摸数据对应点击操作或滑动操作:
当缓存的所述预定数目的第二触摸数据之间的位移大于预设位移时,确定所述预定数目的第二触摸数据对应滑动操作;
当缓存的所述预定数目的第二触摸数据之间的位移小于或等于所述预设位移时,确定所述预定数目的第二触摸数据对应点击操作。
5.根据权利要求4所述的方法,其特征在于,所述状态数据包括重力加速度,所述预设位移为固定值。
6.根据权利要求4所述的方法,其特征在于,所述状态数据包括加速度、角速度、位移和速率中的一个或多个的组合;
所述预设位移与所述状态数据的关系为:所述状态数据的数值越大,则所述预设位移的数值越大。
7.根据权利要求1-3任一所述的方法,其特征在于,在所述终端采集通过所述触摸屏输入的触摸数据的过程中,所述方法还包括:所述终端通过获取的所述终端的状态数据,对采集到的触摸数据进行位移补偿;所述终端通过以下方式进行所述位移补偿:
所述终端在第X时刻采集到第X触摸数据;
所述终端根据第X时刻之前所述终端的状态数据,确定所述终端是否有位移偏移量;
当所述终端有位移偏移量时,根据所述位移偏移量补偿所述第X触摸数据。
8.根据权利要求1-3任一所述的方法,其特征在于,所述根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作,具体包括:确定所述第一预设时间段内获取的所述状态数据的方差值;当所述方差值大于或等于预设阈值时,确定需要校准所述当前的触摸操作,当所述方差值小于所述预设阈值时,确定不需要校准所述当前的触摸操作。
9.一种识别触摸操作的终端,其特征在于,所述终端包括第一采集模块、第二采集模块、确定模块、缓存模块、识别模块;
所述第一采集模块用于采集通过触摸屏输入的触摸数据;
所述第二采集模块用于获取所述终端的状态数据;其中,所述状态数据为用于表示所述终端的运动状态的数据,所述运动状态包括静止状态和非静止状态;
所述确定模块用于当所述第一采集模块在第一时刻采集的第一触摸数据对应非点击操作,且根据所述第二采集模块的状态数据判断所述终端在所述第一时刻处于非静止状态时,根据所述第一时刻之前的第一预设时间段内获取的所述状态数据确定是否需要校准当前的触摸操作;
所述缓存模块用于当所述确定模块确定需要校准所述当前的触摸操作时,缓存所述第一时刻之后预定数目的第二触摸数据;
所述识别模块用于当根据所述缓存模块缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,将所述当前的触摸操作作为点击事件上报。
10.根据权利要求9所述的终端,其特征在于,所述识别模块还用于当根据所述缓存模块缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应滑动操作时,将所述当前的触摸操作作为滑动事件上报。
11.根据权利要求9所述的终端,其特征在于,当根据所述缓存模块缓存的所述预定数目的第二触摸数据确定所述预定数目的第二触摸数据对应点击操作时,所述识别模块具体用于将所述当前的触摸操作对应的第一个触摸点作为所述点击事件对应的触摸点进行上报。
12.根据权利要求9或10所述的终端,其特征在于,所述识别模块用于当缓存的所述预定数目的第二触摸数据之间的位移大于预设位移时,确定所述预定数目的第二触摸数据对应滑动操作;当缓存的所述预定数目的第二触摸数据之间的位移小于或等于所述预设位移时,确定所述预定数目的第二触摸数据对应点击操作。
13.根据权利要求12所述的终端,其特征在于,所述状态数据包括重力传感器监测到的重力加速度,所述预设位移为固定值。
14.根据权利要求12所述的终端,其特征在于,所述状态数据包括陀螺仪监测到的加速度、角速度、位移和速率中的一个或多个的组合;所述预设位移与所述状态数据的关系为:所述状态数据的数值越大,则所述预设位移的数值越大。
15.根据权利要求9-11任一所述的终端,其特征在于,所述终端还包括补偿模块,在所述第一采集模块采集通过所述触摸屏输入的触摸数据的过程中,所述补偿模块用于通过所述第二采集模块获取的所述终端的状态数据,对采集到的触摸数据进行位移补偿;其中,所述补偿模块通过以下方式进行所述位移补偿:
所述第一采集模块在第X时刻采集到第X触摸数据;
所述补偿模块根据第X时刻之前所述终端的状态数据,确定所述终端是否有位移偏移量;
当所述终端有位移偏移量时,根据所述位移偏移量补偿所述第X触摸数据。
16.根据权利要求9-11任一所述的终端,其特征在于,所述确定模块用于确定所述第一预设时间段内获取的所述状态数据的方差值;当所述方差值大于或等于预设阈值时,确定需要校准所述当前的触摸操作,当所述方差值小于所述预设阈值时,确定不需要校准所述当前的触摸操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510425555.5A CN106354400B (zh) | 2015-07-17 | 2015-07-17 | 一种识别触摸操作的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510425555.5A CN106354400B (zh) | 2015-07-17 | 2015-07-17 | 一种识别触摸操作的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354400A CN106354400A (zh) | 2017-01-25 |
CN106354400B true CN106354400B (zh) | 2019-08-16 |
Family
ID=57842695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510425555.5A Active CN106354400B (zh) | 2015-07-17 | 2015-07-17 | 一种识别触摸操作的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354400B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909250B (zh) * | 2017-03-01 | 2020-01-14 | Oppo广东移动通信有限公司 | 一种触摸操作的处理方法、装置及移动终端 |
CN109960479B (zh) * | 2017-12-22 | 2022-05-17 | 中科创达软件股份有限公司 | 一种显示设备抗眩晕的方法及装置 |
CN114691002B (zh) * | 2020-12-14 | 2023-10-20 | 华为技术有限公司 | 一种页面滑动的处理方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102422249A (zh) * | 2010-03-10 | 2012-04-18 | 松下电器产业株式会社 | 按入位置控制装置、按入位置控制方法以及触摸传感器系统 |
CN103455200A (zh) * | 2007-06-13 | 2013-12-18 | 苹果公司 | 区分触摸传感器面板上敲击动作和滑动动作的方法和设备 |
CN103500047A (zh) * | 2013-09-23 | 2014-01-08 | 百度在线网络技术(北京)有限公司 | 移动终端中交互元素的控制方法、装置和移动终端 |
CN104572186A (zh) * | 2014-12-25 | 2015-04-29 | 深圳市金立通信设备有限公司 | 一种执行操作指令的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5523090B2 (ja) * | 2009-12-25 | 2014-06-18 | キヤノン株式会社 | 入力装置、入力装置の制御方法、プログラムおよび記憶媒体 |
-
2015
- 2015-07-17 CN CN201510425555.5A patent/CN106354400B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455200A (zh) * | 2007-06-13 | 2013-12-18 | 苹果公司 | 区分触摸传感器面板上敲击动作和滑动动作的方法和设备 |
CN102422249A (zh) * | 2010-03-10 | 2012-04-18 | 松下电器产业株式会社 | 按入位置控制装置、按入位置控制方法以及触摸传感器系统 |
CN103500047A (zh) * | 2013-09-23 | 2014-01-08 | 百度在线网络技术(北京)有限公司 | 移动终端中交互元素的控制方法、装置和移动终端 |
CN104572186A (zh) * | 2014-12-25 | 2015-04-29 | 深圳市金立通信设备有限公司 | 一种执行操作指令的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106354400A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105339877B (zh) | 用于移动装置的触摸屏上的手指检测 | |
CN108292165B (zh) | 触摸姿势检测评估 | |
CN107506073B (zh) | 触摸屏检测方法、装置、移动终端及计算机可读存储介质 | |
CN102736759B (zh) | 触摸屏及其控制方法 | |
CN109254823B (zh) | 一种切换多级嵌套的分页视图元素的方法、存储器及终端 | |
CN106354400B (zh) | 一种识别触摸操作的方法及装置 | |
KR20130088855A (ko) | 터치-트레일에 따른 속도 혹은 압력 등과 같은 특성의 변동에 기초한 터치-입력의 명확화 | |
CN105302383A (zh) | 一种电容触摸传感器抗干扰的方法和设备 | |
CN105824610A (zh) | 一种基于终端的应用程序图标的排列方法和装置 | |
CN101452353B (zh) | 一种触摸屏输入检测方法和触摸屏设备 | |
CN104049786A (zh) | 可自动校正触摸位置的电子装置、系统及校正方法 | |
CN105739776B (zh) | 一种压力值的校准方法、装置及移动终端 | |
CN102207812A (zh) | 触控式电子装置及其多窗口的管理方法 | |
WO2017032009A1 (zh) | 一种解锁方法及移动终端 | |
CN106371693B (zh) | 一种显示导航信息的方法及移动终端 | |
CN102520824B (zh) | 触控面板的控制装置、单点多指动作判断方法及其触控笔 | |
CN103370680A (zh) | 触摸输入装置、电子设备以及输入方法 | |
CN107941236B (zh) | 计步方法、装置及存储介质 | |
US20190018503A1 (en) | Cursor control method and cursor control system | |
JP5487350B1 (ja) | タッチ入力装置、入力検出方法、およびコンピュータプログラム | |
CN111857431A (zh) | 信息显示方法、触控设备及存储介质 | |
CN106933423B (zh) | 一种压力触控检测的方法及移动终端 | |
CN106155529A (zh) | 移动终端控制方法及移动终端 | |
CN108287621A (zh) | 触摸屏校准方法及系统 | |
CN113676586A (zh) | 触摸屏的显示方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: Huawei Device Co., Ltd. Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant before: HUAWEI terminal (Dongguan) Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |