CN114995674B - 边缘误触的检测方法、电子设备和计算机可读存储介质 - Google Patents
边缘误触的检测方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114995674B CN114995674B CN202111075660.2A CN202111075660A CN114995674B CN 114995674 B CN114995674 B CN 114995674B CN 202111075660 A CN202111075660 A CN 202111075660A CN 114995674 B CN114995674 B CN 114995674B
- Authority
- CN
- China
- Prior art keywords
- touch
- event
- detected
- edge
- touch event
- 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
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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
- G06F3/04186—Touch location disambiguation
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
Abstract
本申请实施例提供了一种边缘误触的检测方法、电子设备和计算机可读存储介质,该方法包括:获取待检测的触控事件的数据,其中,触控事件包括按下事件、至少一个移动事件和抬起事件,触控事件的数据包括按下事件的第一数据、抬起事件的第二数据和各个移动事件的第三数据;根据电子设备的预设边缘误触区域以及所述待检测的触控事件的第一数据、第二数据和第三数据,确定所述待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。本申请实施例提供的边缘误触的检测方法能够检测边缘误触故障,且能够识别边缘误触故障的类型。
Description
技术领域
本申请涉及触控技术领域,具体涉及一种边缘误触的检测方法、电子设备和计算机可读存储介质。
背景技术
随着电子技术的快速发展,触控技术被广泛应用于各类电子设备中。例如,手机、平板电脑、可穿戴设备及教学一体机等设备的显示屏中集成有触控面板,使得设备在显示的同时具有触控的功能。另外,笔记本电脑等设备设置有触控面板,也能够实现触控功能。
这些具有触控功能的电子设备,在应用时,容易出现边缘误触。尤其在电子设备屏占比越来越高,边框越来越小的情况下,边缘误触问题尤为突出。因此,对边缘防误触的算法要求越来越高。就边缘防误触算法来说,无论是算法设计阶段、算法测试阶段、算法应用阶段,还是算法改进阶段,都需要识别和检测边缘误触故障。
发明内容
本申请提供了一种边缘误触的检测方法、电子设备和计算机可读存储介质,能够识别和检测边缘误触故障。
第一方面,本申请提供一种边缘误触的检测方法,该方法包括:
获取待检测的触控事件的数据,其中,触控事件包括按下事件、至少一个移动事件和抬起事件,触控事件的数据包括按下事件的第一数据、抬起事件的第二数据和各个移动事件的第三数据;根据电子设备的预设边缘误触区域以及待检测的触控事件的第一数据、第二数据和第三数据,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。
可选的,若待检测的触控事件属于多个预设类型的边缘误触事件中的某一种,则可以提示边缘误触故障。
可选的,若待检测的触控事件不属于多个预设类型的边缘误触事件中的任何一种,则该确定待检测的触控事件不属于边缘误触事件。
第一方面提供的边缘误触的检测方法中,通过获取待检测的触控事件的第一数据、第二数据和第三数据,根据电子设备的设边缘误触区域以及待检测的触控事件的第一数据、第二数据和第三数据确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。该方法能够确定出待检测的触控事件是否为边缘误触事件,便于后续的分析或处理;同时,本实施例提供的方法能够确定边缘误触的类型,对于边缘误触事件的检测结果更加精准,从而使得后续的分析或处理更加精准,提高对于边缘误触问题解决的有效性。另外,本实施例提供的方法在边缘误触检测的过程中,不仅基于按下事件的第一数据和抬起事件的第二数据进行检测,而且基于各个移动事件的第三数据进行检测,全面考虑触控过程中用户手指或手写笔等的抬起、按下和移动情况,进一步提高了边缘误触事件检测的准确性。
结合第一方面,在第一方面的有些实现方式中,根据电子设备的预设边缘误触区域以及待检测的触控事件的第一数据、第二数据和第三数据,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种,包括:
根据待检测的触控事件的第一数据、第二数据和第三数据,确定待检测的触控事件的触控位置、触控距离和各个移动距离;其中,触控距离用于表征触控事件中按下事件的位置与抬起事件的位置在预设方向上的距离,各个移动距离用于表征触控事件中各个移动事件的位置与按下事件的位置在预设方向上的距离;根据预设边缘误触区域以及待检测的触控事件的触控位置、触控距离和各个移动距离,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。
结合第一方面和上述实现方式,方法还包括:
根据待检测的触控事件的第一数据和第二数据,确定待检测的触控事件的触控时长;触控时长用于表征触控事件中抬起事件的发生时刻与按下事件的发生时刻的时间差;
根据预设边缘误触区域以及待检测的触控事件的触控位置、触控距离和各个移动距离,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种,包括:
根据预设边缘误触区域以及待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。
一种可能的实现方式中,多个预设类型的边缘误触事件包括:边缘长摁误触事件、边缘滑动误触事件和边缘连续点击误触事件。
边缘长摁误触事件、边缘滑动误触事件和边缘连续点击误触事件均是用户实际使用过程会遇到的边缘误触类型。该实现方式中,充分考虑用户使用终端过程中的真实体验,能够智能的检测出触控事件中的边缘长摁误触事件,与用户实际使用中发生的边缘误触故障类型匹配,便于后续针对边缘长摁误触事件的数据进行分析、处理和改进,提高用户体验。
一种可能的实现方式中,预设边缘误触区域包括第一预设区域,根据预设边缘误触区域以及待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种,包括:
若待检测的触控事件的触控位置属于第一预设区域,待检测的触控事件的各个移动距离中至少一个移动距离小于或等于第一预设距离,待检测的触控事件的触控距离小于或等于第一预设距离,且待检测的触控事件的触控时长大于或等于预设长摁时长,则确定待检测的触控事件为边缘长摁误触事件。
可选的,第一预设区域可以为X坐标为0pixel至5pixel的区域,以及X坐标为width-6pixel至width-1pixel的区域,其中,width为电子设备的显示屏的像素宽度。
可选的,第一预设距离可以为30pixel。
可选的,预设长摁时长可以为1500ms。
该实现方式中,通过确定待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长是否与边缘长摁误触事件的参数条件相匹配,以确定待检测的触控事件是否为边缘长摁误触事件。第一预设区域、第一预设距离和预设长摁时长能够量化的体现出边缘长摁误触事件的特征,因而,该实现方式提供的方法能够准确的检测出边缘长摁误触事件,提高对于边缘长摁误触故障检测的准确性。而且,该实现方式中,将触控距离和移动距离同时作为参数来检测边缘长摁误触,能够保证抬起事件与按下事件的相对位置,以及移动事件与按下事件的相对位置均满足预设的条件,进一步提高了边缘长摁误触故障检测的准确性。
一种可能的实现方式中,触控位置包括触控事件中按下事件的位置、各个移动事件的位置和抬起事件的位置;待检测的触控事件的触控位置属于第一预设区域,包括:
待检测的触控事件中按下事件的位置、各个移动事件的位置和抬起事件的位置均属于第一预设区域。
该实现方式中,在确定待检测的触控事件中抬起事件的报点坐标、各个移动事件的报点坐标和按下事件的报点坐标均属于第一预设区域的情况下,确定待检测的触控事件的触控位置属于第一预设区域,这样能够保证边缘误触事件中每个事件、每个报点均位于第一预设区域,防止对边缘误触的误判,使得边缘误触故障的检测结果更加准确。
一种可能的实现方式中,该方法还包括:
若待检测的触控事件为边缘长摁误触事件,则:获取第一时间段内边缘误触事件的第一数量;第一时间段是指待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;获取第一时间段内触控事件的第二数量;若第二数量大于第一数量,则确定待检测的触控事件为用户可感知的边缘长摁误触事件。
可选的,可以通过获取第一时间段内边缘误触事件的事件标识的数量确定第一数量。
可选的,可以通过获取第一时间段内事件标识的数量确定第二数量。
该实现方式中,在确定边缘长摁事件为边缘长摁误触事件的情况下,确定该触控事件是否为用户可感知的边缘长摁误触事件,进一步与用户实际使用中发生的边缘误触故障匹配,真实的反映用户体验,从而便于后续针对性分析、处理和改进,进一步提高用户体验。
一种可能的实现方式中,预设边缘误触区域包括第二预设区域,根据预设边缘误触区域以及待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种,包括:
若待检测的触控事件的触控位置属于第二预设区域,待检测的触控事件的各个移动距离中至少一个移动距离大于第一预设距离且小于或等于第二预设距离,待检测的触控事件的触控距离大于第一预设距离且小于或等于第二预设距离,并且待检测的触控事件的触控时长大于或等于预设滑动时长,则确定待检测的触控事件为边缘滑动误触事件。
可选的,第二预设区域可以与第一预设区域相同。
可选的,第二预设距离可以为700pixel。
可选的,预设滑动时长可以与预设长摁时长相等,为1500ms。
该实现方式中,通过确定待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长是否与边缘滑动误触事件的参数条件相匹配,以确定待检测的触控事件是否为边缘滑动误触事件。第二预设区域、第二预设距离和预设滑动时长能够量化的体现出边缘滑动误触事件的特征,因而,该实现方式提供的方法能够准确的检测出边缘滑动误触事件,提高对于边缘滑动误触故障检测的准确性。而且,该实现方式中,将触控距离和移动距离同时作为参数来检测边缘滑动误触,能够保证抬起事件与按下事件的相对位置,以及移动事件与按下事件的相对位置均满足预设的条件,进一步提高了边缘滑动误触故障检测的准确性。
一种可能的实现方式中,该方法还包括:
若待检测的触控事件为边缘滑动误触事件,则:获取第一时间段内边缘误触事件的第一数量;第一时间段是指待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;获取第一时间段内触控事件的第二数量;若第二数量大于第一数量,则确定待检测的触控事件为用户可感知的边缘滑动误触事件。
该实现方式中,在确定待检测的触控事件为边缘滑动误触事件的情况下,确定该触控事件是否为用户可感知的边缘滑动误触事件,进一步与用户实际使用中发生的边缘误触故障匹配,真实的反映用户体验,从而便于后续针对性分析、处理和改进,进一步提高用户体验。
一种可能的实现方式中,多个预设类型的边缘误触事件包括边缘连续点击误触事件,预设边缘误触区域包括第三预设区域;
根据预设边缘误触区域以及待检测的触控事件的触控位置、触控距离和各个移动距离,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种包括:
若待检测的触控事件的触控位置属于第三预设区域,待检测的触控事件的各个移动距离中至少一个移动距离小于或等于第二预设距离,且待检测的触控事件的触控距离小于或等于第二预设距离,则,获取待检测的触控事件之后与待检测的触控事件在时间上连续的m个触控事件的数据;m为正整数;
根据m个触控事件的数据分别确定m个触控事件的触控位置、触控距离和各个移动距离;
若m个触控事件的触控位置均属于第三预设区域,m个触控事件中每个触控事件的各个移动距离中,至少一个移动距离小于或等于第二预设距离,m个触控事件的触控距离均小于或等于第二预设距离,且连续事件时长大于或等于预设连续点击时长,则确定待检测的触控事件和m个触控事件为边缘连续点击误触事件;其中,连续事件时长是指m个触控事件中的最后一个触控事件中抬起事件的发生时刻与待检测的触控事件中按下事件的发生时刻之间的时间差。
可选的,第三预设区域可以与第一预设区域及第二预设区域相同。
可选的,第二预设距离可以为700pixel。
可选的,m可以为3。
可选的,预设连续点击时长可以为3000ms。
该实现方式中,通过待检测的触控事件的数据以及待检测的触控事件之后与待检测的触控事件在时间上连续的m个触控事件的数据,确定待检测的触控事件和m个触控事件是否与边缘连续点击误触事件。第三预设区域、第二预设距离和预设连续点击时长能够量化的体现出边缘连续点击误触事件的特征,因而,该实现方式提供的方法能够准确的检测出边缘连续点击误触事件,提高对于边缘连续点击误触故障检测的准确性。而且,该实现方式中,将触控距离和移动距离同时作为参数来检测边缘连续点击误触,能够保证抬起事件与按下事件的相对位置,以及移动事件与按下事件的相对位置均满足预设的条件,进一步提高了边缘连续点击误触故障检测的准确性。
一种可能的实现方式中,该方法还包括:
若待检测的触控事件和m个触控事件为边缘连续点击误触事件,则:获取第二时间段内边缘误触事件的第三数量;第二时间段是指待检测触控事件中按下事件的发生时刻与m个触控事件中的最后一个触控事件中抬起事件的发生时刻之间的时间段;获取第二时间段内触控事件的第四数量;若第四数量大于第三数量,则确定待检测的触控事件和m个触控事件为用户可感知的边缘连续点击误触事件。
可选的,可以通过获取第二时间段内边缘误触事件的事件标识的数量确定第三数量。
该实现方式中,在确定待检测的触控事件和m个触控事件为边缘连续点击误触事件的情况下,确定该边缘连续点击误触事件是否为用户可感知的边缘连续点击误触事件,进一步与用户实际使用中发生的边缘误触故障类型匹配,真实的反映用户体验,从而便于后续针对性分析、处理和改进,进一步提高用户体验。
一种可能的实现方式中,第一数据包括按下事件的报点坐标,第二数据包括抬起事件的报点坐标,第三数据包括移动事件的报点坐标;根据待检测的触控事件的第一数据、第二数据和第三数据,确定待检测的触控事件的触控位置、触控距离和各个移动距离,包括:
根据待检测的触控事件中按下事件的报点坐标、移动事件的报点坐标和抬起事件的报点坐标确定待检测的触控事件的触控位置;确定待检测的触控事件中抬起事件的报点坐标与按下事件的报点坐标在预设方向上的差值的绝对值,得到待检测的触控事件的触控距离;分别确定待检测的触控事件中,各个移动事件的报点坐标与按下事件的报点坐标在预设方向上的差值的绝对值,得到待检测的触控事件的各个移动距离。
该实现方式中,通过按下事件的报点坐标、抬起事件的报点坐标和各个移动事件的报点坐标,能够简单、准确的确定出待检测的触控事件的触控位置、触控距离和各个移动距离,提高算法运行效率。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例边缘误触故障的场景示意图;
图2是本申请实施例提供的一例电子设备的软件结构框图;
图3是本申请实施例提供的一例电子设备的触控流程示意图;
图4是本申请实施例提供的一例边缘误触的检测流程示意图;
图5是本申请实施例提供的一例边缘误触的检测方法的流程示意图;
图6是本申请实施例提供的一例第一数据的示意图;
图7是本申请实施例提供的一例第二数据的示意图;
图8是本申请实施例提供的一例第三数据的示意图;
图9是本申请实施例提供的一例手机的屏幕坐标系及预设边缘误触区域的示意图;
图10是本申请实施例提供的一例边缘误触的检测方法的流程示意图;
图11是本申请实施例提供的一例手机的屏幕坐标系及第一预设区域的示意图;
图12是本申请实施例提供的另一例边缘误触故障的场景示意图;
图13是本申请实施例提供的一例用户可感知的边缘长摁误触场景对应的触控事件的报点的示意图;
图14是本申请实施例提供的一例边缘误触的检测方法的流程示意图;
图15是本申请实施例提供的一例用户可感知的边缘滑动误触场景对应的触控事件的报点的示意图;
图16是本申请实施例提供的一例边缘误触的检测方法的流程示意图;
图17是本申请实施例提供的一例用户可感知的边缘连续点击误触场景对应的触控事件的报点的示意图;
图18是本申请实施例提供的一例边缘误触的检测装置的结构示意图;
图19是本申请实施例提供的一例电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
触控面板(Touch panel,TP),又称触摸面板等,是指能够实现触控输入的面板。触控面板可以单独使用实现触控功能,例如,应用于笔记本电脑等电子设备。触控面板也可以与显示面板配合使用,形成触控显示屏(也称为触控屏或触摸屏),既能够实现显示功能,又能够实现触控功能,例如,应用于手机、平板电脑、可穿戴设备及教学一体机等电子设备。
无论是应用于哪一种电子设备,触控面板在使用过程中都可能出现边缘误触故障。以触控面板应用于手机为例进行说明:
示例性的,图1为本申请一个实施例提供的边缘误触故障的场景示意图。如图1所示,当用户握持手机时,可能出现手指碰触到触控屏的边缘,触控屏的触控面板识别到触控操作,执行相应操作,这样会导致用户另外一只手在执行正常的触控操作时,触控面板无法识别正常的触控操作的输入,从而导致用户无法实现预期的操作。
对于边缘误触故障,一般会采用边缘防误触算法进行处理,以避免边缘误触对用户的正常操作造成影响。然而,无论是边缘防误触算法的设计阶段、测试阶段、应用阶段,还是改进阶段,都需要识别和检测边缘误触事件。本申请实施例旨在提供一种边缘误触的检测方法,用于识别和检测边缘误触事件。
为了便于理解,在对本申请实施例提供的边缘误触的检测方法说明之前,首先对具有触控功能的电子设备的软件结构,以及电子设备实现触控功能的过程进行说明。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。
示例性的,图2为本申请一个实施例提供的电子设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
另外,应用程序框架层还包括事件上报与管理的相关模块,例如,事件监听(EventHub)模块、输入读取(input reader)模块和输入分发(input dispatcher)模块等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。另外,内核层还可以包括触控信号处理模块、触控数据生成模块、日志(log)生成模块和通信模块等。其中,通信模块可以为有线通信模块,也可以为无线通信模块。
同时,电子设备还包括硬件层。硬件层可以包括主板、触控面板、触控芯片以及配件等。硬件层与软件系统的各个层配合,实现触控功能。
示例性的,图3为本申请一个实施例提供的电子设备的触控流程示意图。如图3所示,电子设备实现触控功能的结构和模块包括:硬件层的触控面板201,内核层的触控信号处理模块202、触控数据生成模块203和日志生成模块207,以及应用程序框架层的事件监听模块204、输入读取模块205和输入分发模块206等。
用户通过触控面板201进行触控操作。触控操作包括但不限于触摸操作、点击操作、滑动操作和长摁操作(也称为长按操作)等。触控面板201接收用户的触控操作,生成触控信号,并将生成的触控信号上报至内核层的触控信号处理模块202。触控信号处理模块202接收触控信号,对触控信号进行封装处理,并将封装处理后的触控信号输出至内核层的触控数据生成模块203。可选的,触控信号处理模块202可以通过I2C接口、MIPI接口或SPI接口等将封装处理后的触控信号上报至触控数据生成模块203。触控数据生成模块203对该触控信号进行归一化处理、数据校准等处理,进而生成触控事件的数据(input.c)。可以理解,用户执行一个触控操作,生成一个或多个触控事件。一个触控事件对应一个触控接触对象(如手指或手写笔等)的操作,一个触控事件对应一组数据。例如,用户在屏幕上执行上滑操作,可能用一根手指上滑,也可能用多根手指上滑。每根手指在屏幕上的操作,都生成一个触控事件,对应一组数据。
触控数据生成模块203将生成的触控事件的数据上报至应用程序架构层的事件监听模块204和输入读取模块205进行处理。经过事件监听模块204和输入读取模块205处理后,由输入分发模块206分发至应用程序层中对应的应用程序,由该应用程序做出相应的响应。
可以理解,触控数据生成模块203生成触控事件的数据后,还可以进一步将触控事件的数据发送至日志生成模块207。日志生成模块207根据触控事件的数据生成日志文件。可选的,触控数据生成模块203可以实时的将触控事件的数据发送至日志生成模块207,以使日志生成模块207生成日志文件;也就是说,触控数据生成模块203每生成一个触控事件的数据,就将该触控事件的数据发送至日志生成模块207,由日志生成模块207将该触控事件的数据的部分或全部写入日志文件中。日志文件可以存储于电子设备的存储器中,也可以发送至其他的电子设备,例如,发送至服务器。
本申请实施例提供的边缘误触的检测方法用于对如图2及图3所示结构的电子设备生成的触控事件的数据进行处理,以检测边缘误触故障。具体的,本申请实施例提供的方法用于对图3实施例所示的触控数据生成模块203生成的触控事件的数据(input.c)进行处理。
需要说明的是,本申请实施例提供的边缘误触的检测方法可以应用于电子设备。该电子设备可以为上述具有触控功能,即能够生成触控事件的数据的电子设备,例如终端设备;也可以为与生成触控事件的数据的电子设备通信连接的其他电子设备,例如,服务器。其中,终端设备可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等具有触控功能的设备。本申请实施例提供的方法应用于终端设备时,可选的,终端设备可以实时从内核层获取触控事件的数据,对触控事件的数据进行处理,以检测边缘误触事件。可选的,也可以将生成的触控事件的数据以运行日志等形式存储于存储器中,终端设备可以从存储器中获取触控事件的数据,对触控事件的数据进行处理。
本申请实施例提供的方法应用于服务器时,服务器可以为云端服务器,也可以为物理服务器。可选的,生成触控事件的数据的电子设备可以将生成的触控事件的数据以运行日志等形式上传至服务器,服务器对触控事件的数据进行处理,以检测边缘误触事件。
为了便于说明,下述实施例均以边缘误触的检测方法应用于服务器为例,并以生成触控事件的数据的电子设备为终端设备,具体以手机为例进行说明。
首先结合图2和图3,对边缘误触的检测方法的整个流程(包括手机生成触控事件的数据及上传触控事件至服务器的过程)进行说明。可以理解,本实施例中,各个模块表征实现某一功能的模块,其可以通过硬件实现,也可以通过软件实现,还可以通过软件与硬件结合实现,本申请对此不做任何限定。请参见图4,边缘误触的检测流程包括:
S401、用户通过触控面板执行触控操作。
S402、触控面板接收用户的触控操作,生成触控信号。
S403、触控面板将生成的触控信号上报至触控信号处理模块。
S404、触控信号处理模块接收触控信号,对触控信号进行封装处理。
S405、触控信号处理模块将封装处理后的触控信号发送至触控数据生成模块。
S406、触控数据生成模块对封装处理后的触控信号进行归一化处理、数据校准等处理,生成触控事件的数据。
S407、触控数据生成模块将生成的触控事件的数据发送至日志生成模块。
S408、日志生成模块根据触控事件的数据生成日志文件。
即,日志生成模块将各个触控事件的数据的部分或全部写入日志文件中。
S409、日志生成模块将日志文件发送至通信模块。
S4010、通信模块将日志文件发送至服务器。
可选的,日志生成模块可以周期性的将生成的日志文件打包发送至通信模块,由通信模块将日志文件发送至服务器。可选的,日志生成模块也可以根据日志文件中数据量的大小,每当日志文件中的数据量达到预设值时,将日志文件打包发送至服务器。
S4011、服务器接收通信模块发送的日志文件,并根据日志文件中的触控事件的数据检测边缘误触故障。
下面实施例,将基于图2至图4所示的结构和流程,结合附图和应用场景,对服务器根据日志文件中的触控事件的数据检测边缘误触故障的具体过程进行阐述。
图5是本申请实施例提供的一例边缘误触的检测方法的流程示意图,如图5所示,该方法包括:
S501、获取待检测的触控事件的数据,其中,触控事件包括按下事件、至少一个移动事件和抬起事件,触控事件的数据包括按下事件的第一数据、抬起事件的第二数据和移动事件的第三数据。
服务器中可以存储有多个触控事件的数据。服务器可以对多个触控事件的数据进行逐一处理,检测各个触控事件是否为边缘误触事件,即,对多个触控事件的数据逐一执行本申请实施例中的各个步骤。其中,当前正在处理的触控事件称为待检测的触控事件。
可选的,本申请实施例中,每个触控事件包括一个按下(DOWN)事件、至少一个移动(MOVE)事件和一个抬起(UP)事件。其中,按下事件对应用户手指或手写笔等的按下操作,即用户的手指或手写笔等与屏幕接触。抬起事件对应用户手指或手写笔等的抬起操作,即用户的手指或手写笔等离开屏幕。移动事件也称为移动点,对应用户手指或手写笔等与屏幕的接触状态或沿屏幕移动的操作。一个触控事件的移动事件在时间上处于按下事件和抬起事件之间。
相应的,每个触控事件的数据可以包括按下事件的数据(下称第一数据)、抬起事件的数据(下称第二数据)和各个移动事件的数据(下称第三数据)。第一数据可以包括按下事件的报点坐标(包括横坐标和纵坐标,即X坐标和Y坐标)、按下事件的报点时刻和事件标识等。其中,事件标识也可以称为事件编号、Tracking ID等,用于表征触控事件的唯一身份。
第二数据可以包括抬起事件的报点坐标(包括横坐标和纵坐标,即X坐标和Y坐标)、抬起事件的报点时刻和事件标识等。
第三数据可以包括移动事件的报点坐标(包括横坐标和纵坐标,即X坐标和Y坐标)、移动事件的报点时刻和事件标识等。
可以理解,一个触控事件对应一个事件标识,也就是说,同一触控事件的第一数据中的事件标识、第二数据中的事件标识和各组第三数据中的事件标识相同。另外,如上所述,一个触控事件包括一个按下事件和一个抬起事件,即,一个触控事件包括一对按下/抬起事件。事件标识相同的一个按下事件和一个抬起事件即为一对按下/抬起事件。
可选的,第一数据、第二数据和第三数据中还可以分别包括报点率等其他数据,本申请实施例对此不做任何限定。
示例性的,图6为本申请实施例提供的一例第一数据(即按下事件的数据)的示意图。如图6所示,604处所示的“BTN_TOUCH DOWN”表征该组数据为第一数据。第一数据包括按下事件的报点坐标:X坐标601和Y坐标602。第一数据还包括事件标识603、按下事件的报点时刻605,以及报点率606等。
示例性的,图7为本申请实施例提供的一例第二数据(即抬起事件的数据)的示意图。如图7所示,704处所示的“BTN_TOUCH UP”表征该组数据为第二数据。第二数据包括抬起事件的报点坐标:X坐标701和Y坐标702。第二数据还包括事件标识703、抬起事件的报点时刻705,以及报点率706等。
示例性的,图8为本申请实施例提供的一例第三数据(即移动事件的数据)的示意图。如图8所示,第三数据包括移动事件的报点坐标:X坐标801和Y坐标802。第三数据还包括事件标识803、移动事件的报点时刻805,以及报点率806等。
S502、根据终端设备的预设边缘误触区域以及待检测的触控事件的第一数据、第二数据和第三数据,确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。
终端设备的预设边缘误触区域用于从触控位置上筛选边缘误触事件。触控位置是指触控事件的发生位置,也即用户与终端设备的屏幕接触的位置。也就是说,触控事件的触控位置位于预设边缘误触区域内,则该触控事件可能为边缘误触事件。若触控事件的触控位置位于预设边缘触控区域之外,则该触控事件不属于边缘误触事件。
预设边缘误触区域可以根据实际需求设定。示例性的,以手机为例,图9为本申请实施例提供的一例手机的屏幕坐标系及预设边缘误触区域的示意图。如图9所示,设手机的宽度方向为X坐标方向,手机的长度方向为Y坐标方向,正持手机时屏幕左上角为坐标0点。可选的,X坐标、Y坐标以及预设边缘误触区域可以以像素点pixel为单位来衡量。设手机显示屏的像素宽度为width,像素长度为length,则X坐标的范围为0pixel至width-1pixel,Y坐标的范围为0pixel至length-1pixel。例如,手机分辨率为2400×1080,也即手机的显示屏在X坐标方向上划分了1080个pixel,Y向上划分了2400个pixel,则,该手机的像素宽度width为1080pixel,该手机的像素长度length为2400pixel。X坐标的范围为0pixel至1079pixel,Y坐标的范围为0pixel至2399pixel。
预设边缘误触区域例如可以为X坐标为0至x,Y坐标为y至length-y-1的区域,如图9中的区域901。或者,预设边缘误触区域还可以为X坐标为width-x-1至width-1,Y坐标为y至length-y-1的区域,如图9中的区域902。当然,预设边缘误触区域也可以既包括区域901,又包括区域902。
根据用户实际操作的不同,边缘误触可能存在多种类型。本实施例中,可以预先定义多个类型的边缘误触事件,并定义各个类型的边缘误触事件的判断条件。服务器基于各个类型的边缘误触事件的判断条件,根据待检测的触控事件的第一数据、第二数据、第三数据和终端设备的预设边缘误触区域,确定该待检测的触控事件是否属于多个预设类型的边缘误触事件中的一种。
若待检测的触控事件属于某一预设类型的边缘误触事件,则服务器可以提示边缘误触故障,并提取保存该待检测的触控事件的数据以及所属的边缘误触类型,以供后续的分析或处理使用,例如,可以供研发人员分析终端设备产生边缘误触的原因、分析终端设备的产品稳定性或对终端设备的防误触算法进行改进等。可选的,确定待检测的触控事件属于某一预设类型的边缘误触事件后,服务器还可以进一步获取该待检测的触控事件相关的其他数据,例如,透明大页(Transparent Huge Pages,THP)数据等,以供后续的分析或处理使用。服务器具体获取的数据类型可以根据边缘误触检测结果的用途来确定。
若待检测的触控事件不属于多个预设类型的边缘误触事件中的任何一种,则该确定待检测的触控事件不属于边缘误触事件,可以将服务器中该待检测的触控事件的数据删除释放。
本实施例中,通过获取待检测的触控事件的第一数据、第二数据和第三数据,根据终端设备的设边缘误触区域以及待检测的触控事件的第一数据、第二数据和第三数据确定待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。本实施例提供的方法能够确定出待检测的触控事件是否为边缘误触事件,便于后续的分析或处理。同时,本实施例提供的方法能够确定边缘误触的类型,对于边缘误触事件的检测结果更加精准,从而使得后续的分析或处理更加精准,提高对于边缘误触问题解决的有效性。另外,本实施例提供的方法在边缘误触检测的过程中,不仅基于按下事件的第一数据和抬起事件的第二数据进行检测,而且基于各个移动事件的第三数据进行检测,全面考虑触控过程中用户手指或手写笔等的抬起、按下和移动情况,进一步提高了边缘误触事件检测的准确性。
在一个实施例中,多个预设类型的边缘误触事件可以包括边缘长摁误触事件、边缘滑动误触事件和边缘连续点击误触事件。其中,边缘长摁误触事件,也称为边缘长按误触事件,是指用户在屏幕的预设边缘误触区域按压屏幕超过预设的时长。边缘滑动误触事件是指用户在屏幕的预设边缘误触区域向某一方向滑动或往复滑动。边缘连续点击误触事件,也称为边缘相邻位置不断抬起按下误触事件,是指用户在屏幕的预设边缘误触区域中某一位置附近多次进行点击操作。
可以理解,服务器获取待检测的触控事件的第一数据、第二数据和第三数据后,首先根据第一数据、第二数据和第三数据分别确定判断边缘误触事件类型所需的参数;之后将确定出的参数与各个类型的边缘误触事件的参数条件分别进行匹配,若确定出的参数与某一类型的边缘误触事件的参数条件匹配成功,则确定待检测的触控事件属于该类型的边缘误触事件,否则不属于该类型的边缘误触事件。若待检测的触控事件不属于预设类型的边缘误触事件中的任何一种,则,确定待检测的触控事件不属于边缘误触事件。
可选的,判断不同类型的边缘误触事件所需的参数可以不同。作为一种可能的实现方式,判断待检测的触控事件是否为边缘长摁误触事件和边缘滑动误触事件所需的参数可以包括:触控位置、触控距离、各个移动距离和触控时长。
其中,触控位置可以包括按下事件的位置、各个移动事件的位置和抬起事件的位置。按下事件的位置可以通过按下事件的报点坐标来表征,移动事件的位置可以通过移动事件的报点坐标来表征,抬起事件的位置可以通过抬起事件的报点坐标来表征。
触控距离用于表征触控事件中抬起事件的位置与按下事件的位置在预设方向上的距离。在一些实施例中,预设方向例如可以为终端设备的纵坐标方向,触控距离可以为抬起事件的纵坐标与按下事件的纵坐标的差值的绝对值,即:触控距离=|yup-ydown|。在另一些实施例中,终端设备(如智能手表)的屏幕为圆形时,预设方向例如可以为预设弧线,触控距离可以为抬起事件和按下事件沿预设弧线的距离。
各个移动距离用于表征触控事件中各个移动事件的位置与按下事件的位置在预设方向上的距离。可选的,预设方向为终端设备的纵坐标方向时,各个移动距离可以通过计算各个移动事件的纵坐标与按下事件的纵坐标的差值的绝对值得到,例如,某一触控事件包括s个移动事件,即包括s个移动点,s为正整数,则,该触控事件包括s个移动距离,s个移动距离与s个移动事件对应,其中,第n个移动事件对应的移动距离=|yn-ydown|,其中,yn为第n个移动事件的纵坐标,ydown为按下事件的纵坐标,n为小于或等于s的正整数。
触控时长用于表征触控事件中抬起事件的发生时刻与按下事件的发生时刻的时间差。具体的,可以通过计算触控事件中抬起事件的报点时刻与按下事件的报点时刻的差值,得到触控时长,即:触控时长=tup-tdown。
下面结合附图,分别对边缘长摁误触事件和边缘滑动误触事件的判断过程分别进行说明。
示例性的,图10为本申请实施例提供的一例边缘误触的检测方法的流程示意图。如图10所示,判断待检测的触控事件是否属于边缘长摁误触事件的方法包括:
S1001、判断待检测的触控事件的触控位置是否属于第一预设区域。
可选的,服务器可以判断待检测的触控事件中抬起事件、各个移动事件和按下事件的位置是否均属于第一预设区域。具体的,服务器可以判断待检测的触控事件中抬起事件的报点坐标、各个移动事件的报点坐标和按下事件的报点坐标是否均属于第一预设区域;若是,则确定待检测的触控事件的触控位置属于第一预设区域,执行步骤S1002;若否,则确定待检测的触控事件的触控位置不属于第一预设区域,执行步骤S1006。
本实施例中,服务器在确定待检测的触控事件中抬起事件的报点坐标、各个移动事件的报点坐标和按下事件的报点坐标均属于第一预设区域的情况下,确定待检测的触控事件的触控位置属于第一预设区域,这样能够保证边缘误触事件中每个事件、每个报点均位于第一预设区域,防止对边缘误触的误判,使得边缘误触故障的检测结果更加准确。
示例性的,图11为本申请实施例提供的一例手机的屏幕坐标系及第一预设区域的示意图。如图11所示,可选的,第一预设区域例如可以为X坐标为0pixel至5pixel的区域,如图11中区域1101所示,以及X坐标为width-6pixel至width-1pixel的区域,如图11中区域1102所示。即:服务器判断待检测的触控事件中,抬起事件的报点坐标、各个移动事件的报点坐标和抬起事件的报点坐标的X坐标是否均属于数据集[0,1,2,3,4,5]或数据集[width-6,width-5,width-4,width-3,width-2,width-1],单位pixel。
S1002、判断待检测的触控事件的各个移动距离中是否至少一个移动距离小于或等于第一预设距离。
可选的,第一预设距离例如可以为30pixel。具体的,服务器判断待检测的触控事件的各个移动距离中是否至少一个移动距离满足0pixel≤|yn-ydown|≤30pixel;若是,则执行步骤S1003;若否,则执行步骤S1006。
S1003、判断待检测的触控事件的触控距离是否小于或等于第一预设距离。
具体的,服务器判断待检测的触控事件的触控距离是否满足0pixel≤|yup-ydown|≤30pixel;若是,则执行步骤S1004;若否,则执行步骤S1006。
S1004、判断待检测的触控事件的触控时长是否大于或等于预设长摁时长。
预设长摁时长可以根据实际需求设定。可选的,预设长摁时长例如可以为1500ms。具体的,服务器判断待检测的触控事件的触控时长是否满足tup-tdown≥1500ms;若是,则执行步骤S1005;若否,则执行步骤S1006。
S1005、确定待检测的触控事件为边缘长摁误触事件。
若确定待检测的触控事件为边缘长摁误触事件,则服务器可以提示边缘误触故障,提取保存该待检测的触控事件的数据以及所属的边缘误触类型,并将下一个触控事件作为待检测的触控事件,返回执行步骤S501,以判断下一个触控事件是否为多个预设类型的边缘误触事件中的一种。
S1006、确定待检测的触控事件不为边缘长摁误触事件。
若确定待检测的触控事件不为边缘长摁误触事件,则服务器进一步判断待检测触控事件是否为下一个类型的边缘误触事件,例如,判断待检测触控事件是否为边缘滑动误触事件。
本实施例中,通过确定待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长是否与边缘长摁误触事件的参数条件相匹配,以确定待检测的触控事件是否为边缘长摁误触事件。边缘长摁误触事件是一种用户实际使用过程会遇到的边缘误触类型。本实施例中,充分考虑用户使用终端设备过程中的真实体验,能够智能的检测出触控事件中的边缘长摁误触事件,与用户实际使用中发生的边缘误触故障类型匹配,便于后续针对边缘长摁误触事件的数据进行分析、处理和改进,提高用户体验。另外,第一预设区域、第一预设距离和预设长摁时长能够量化的体现出边缘长摁误触事件的特征,因而,本实施例提供的方法能够准确的检测出边缘长摁误触事件,提高对于边缘长摁误触故障检测的准确性。而且,本实施例中,将触控距离和移动距离同时作为参数来检测边缘长摁误触,能够保证抬起事件与按下事件的相对位置,以及移动事件与按下事件的相对位置均满足预设的条件,进一步提高了边缘长摁误触故障检测的准确性。
在一个实施例中,在确定待检测的触控事件为边缘长摁误触事件之后,还可以进一步确定待检测的触控事件是否为用户可感知的边缘长摁误触事件。用户可感知的边缘长摁误触事件是指发生边缘长摁误触的同时,用户执行了其他的正常操作,边缘长摁误触事件及其他的边缘误触事件影响了用户的正常操作,导致用户可以感知到发生了边缘误触事件。
例如,参考图12,用户左手持手机,左手的中指和无名指长摁手机右侧边缘,左手的中指和无名指长摁操作对应的两个触控事件均为边缘长摁误触事件。这个过程中,用户用右手食指点击了应用程序“录音机”。示例性的,图13示出了图12所示的应用场景对应的显示屏上触控事件的报点的示意图。图13中,1301表示用户左手中指的触控点,1302表示用户左手无名指对应的触控事件的报点,1303表示用户右手食指对应的触控事件的报点。
由于左手中指和无名指操作引起的边缘长摁误触故障,导致用户点击该应用程序无响应,进而感知到发生了边缘误触事件。这种场景下,左手的中指和无名指长摁操作对应的边缘长摁误触事件为用户可感知的边缘长摁误触事件。
在一个实施例中,可以通过下述方法确定边缘长摁误触事件是否为用户可感知的边缘长摁误触事件:
若确定待检测的触控事件为边缘长摁误触事件,则:获取第一时间段内边缘误触事件的数量,得到第一数量;其中,第一时间段是指待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;获取第一时间段内触控事件的数量,得到第二数量;若第二数量大于第一数量,则确定待检测的触控事件为用户可感知的边缘长摁误触事件。
也就是说,服务器确定待检测的触控事件发生的时间段内触控事件的总数量是否大于边缘误触事件(包括边缘长摁误触事件和其他类型的边缘误触事件)的数量,若是,则确定该边缘长摁误触事件为用户可感知的边缘长摁误触事件。
可选的,可以通过获取第一时间段内边缘误触事件的事件标识的数量确定第一数量,也可以通过获取第一时间段内发生边缘误触的按下/抬起事件的对数确定第一数量。类似的,可以通过获取第一时间段内事件标识的总数量确定第二数量,也可以通过获取第一时间段内的按下/抬起事件的总对数确定第二数量。
本实施例中,在确定边缘长摁事件为边缘长摁误触事件的情况下,确定该触控事件是否为用户可感知的边缘长摁误触事件,进一步与用户实际使用中发生的边缘误触故障匹配,真实的反映用户体验,从而便于后续针对性分析、处理和改进,进一步提高用户体验。
示例性的,图14为本申请实施例提供的一例边缘误触的检测方法的流程示意图。如图14所示,判断待检测的触控事件是否属于边缘滑动误触事件的方法包括:
S1401、判断待检测的触控事件的触控位置是否属于第二预设区域;
若是,则执行步骤S1402;
若否,则执行步骤S1406。
步骤S1401的具体过程与图10中S1001过程类似,在此不再赘述。
可选的,第二预设区域可以与第一预设区域相同,也可以不同。可以理解,第二预设区域与第一预设区域相同时,服务器执行了步骤S1001,可不再重复执行步骤S1401。
S1402、判断待检测的触控事件的各个移动距离中是否至少一个移动距离大于第一预设距离且小于或等于第二预设距离。
可选的,第二预设距离例如可以为700pixel。具体的,服务器判断待检测的触控事件的各个移动距离中,是否至少一个移动距离满足30pixel<|yn-ydown|≤700pixel;若是,则执行步骤S1403;若否,则执行步骤S1406。
S1403、判断待检测的触控事件的触控距离是否大于第一预设距离且小于或等于第二预设距离。
具体的,服务器判断待检测的触控事件的触控距离是否满足30pixel<|yup-ydown|≤700pixel;若是,则执行步骤S1404;若否,则执行步骤S1406。
S1404、判断待检测的触控事件的触控时长是否大于或等于预设滑动时长。
预设滑动时长可以根据实际需求设定。可选的,预设滑动时长可以与预设长摁时长相等,也为1500ms。具体的,服务器判断待检测的触控事件的触控时长是否满足tup-tdown≥1500ms;若是,则执行步骤S1405;若否,则执行步骤S1406。
S1405、确定待检测的触控事件为边缘滑动误触事件。
若确定待检测的触控事件为边缘滑动误触事件,则服务器可以提示边缘误触故障,提取保存该待检测的触控事件的数据以及所属的边缘误触类型,并将下一个触控事件作为待检测的触控事件,返回执行步骤S501,以判断下一个触控事件是否为多个预设类型的边缘误触事件中的一种。
S1406、确定待检测的触控事件不为边缘滑动误触事件。
若确定待检测的触控事件不为边缘滑动误触事件,则服务器进一步判断待检测触控事件是否为下一个类型的边缘误触事件,例如,判断待检测触控事件是否为边缘连续点击误触事件。
本实施例中,通过确定待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长是否与边缘滑动误触事件的参数条件相匹配,以确定待检测的触控事件是否为边缘滑动误触事件。边缘滑动误触事件是一种用户实际使用过程中会遇到边缘误触类型。本实施例中,充分考虑用户使用终端过程中的真实体验,能够智能的检测出触控事件中的边缘滑动误触事件,与用户实际使用中发生的边缘误触故障类型匹配,便于后续针对边缘滑动误触事件的数据进行分析、处理和改进,提高用户体验。另外,第二预设区域、第二预设距离和预设滑动时长能够量化的体现出边缘滑动误触事件的特征,因而,本实施例提供的方法能够准确的检测出边缘滑动误触事件,提高对于边缘滑动误触故障检测的准确性。而且,本实施例中,将触控距离和移动距离同时作为参数来检测边缘滑动误触,能够保证抬起事件与按下事件的相对位置,以及移动事件与按下事件的相对位置均满足预设的条件,进一步提高了边缘滑动误触故障检测的准确性。
在一个实施例中,在确定待检测的触控事件为边缘滑动误触事件之后,还可以进一步确定待检测的触控事件是否为用户可感知的边缘滑动误触事件。用户可感知的边缘滑动误触事件是指发生边缘滑动误触的同时,用户执行了其他的正常操作,边缘滑动误触事件及其他的边缘误触事件影响了用户的正常操作,导致用户可以感知到发生了边缘误触事件。
例如,在一个应用场景中,用户左手持手机,左手的中指在手机右侧边缘滑动,产生边缘滑动误触事件。这个过程中,用户右手食指向上滑动。示例性的,图15示出了该应用场景对应的显示屏上触控事件的报点的示意图。图15中,1501表示用户左手中指对应的触控事件的报点,1502表示用户右手食指对应的触控事件的报点。
由于左手中指滑动引起的边缘滑动误触故障,导致用户右手食指向上滑动无响应,进而感知到发生了边缘误触事件。这种场景下,左手的中指的滑动操作对应的边缘滑动误触事件为用户可感知的边缘滑动误触事件。
在一个实施例中,确定边缘滑动误触事件是否为用户可感知的边缘滑动误触事件的方法与确定用户可感知的边缘长摁误触的过程类似,可以通过下述步骤实现:
若确定待检测的触控事件为边缘滑动误触事件,则:
获取第一时间段内边缘误触事件的数量,得到第一数量;其中,第一时间段是指待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;获取第一时间段内触控事件的数量,得到第二数量;若第二数量大于第一数量,则确定待检测的触控事件为用户可感知的边缘滑动误触事件。
也就是说,服务器确定边缘滑动误触事件发生的时间段内触控事件的总数量是否大于边缘误触事件(包括边缘滑动误触事件和其他的边缘误触事件)的总数量,若是,则确定该边缘滑动误触事件为用户可感知的边缘滑动误触事件。
本实施例中,在确定待检测的触控事件为边缘滑动误触事件的情况下,确定该触控事件是否为用户可感知的边缘滑动误触事件,进一步与用户实际使用中发生的边缘误触故障匹配,真实的反映用户体验,从而便于后续针对性分析、处理和改进,进一步提高用户体验。
下面结合附图,对边缘连续点击误触事件的判断过程进行说明。
示例性的,图16为本申请实施例提供的一例边缘误触的检测方法的流程示意图。如图16所示,判断待检测的触控事件是否属于边缘连续点击误触事件的方法包括:
S1601、判断待检测的触控事件的触控位置是否属于第三预设区域;
若是,则执行步骤S1602;
若否,则执行步骤S1609。
步骤S1601的具体过程与图10中S1001过程类似,在此不再赘述。
可选的,第三预设区域可以与第一预设区域及第二预设区域相同,也可以不同。可以理解,第三预设区域与第一预设区域或第二预设区域相同时,服务器执行了步骤S1001或S1401,可不再重复执行步骤S1601。
S1602、判断待检测的触控事件的各个移动距离中是否至少一个移动距离小于或等于第二预设距离。
可选的,以第二预设距离为700pixel为例,具体的,服务器判断待检测的触控事件的各个移动距离中是否至少一个移动距离满足|yn-ydown|≤700pixel;若是,则执行步骤S1603;若否,则执行步骤S1609。
S1603、判断待检测的触控事件的触控距离是否小于或等于第二预设距离。
可选的,继续以第二预设距离为700pixel为例,具体的,服务器判断待检测的触控事件的触控距离是否满足|yup-ydown|≤700pixel;若是,则执行步骤S1604;若否,则执行步骤S1609。
S1604、获取待检测的触控事件之后与待检测的触控事件在时间上连续的m个触控事件的数据,m为正整数。
m的具体值可以根据实际需求设定,例如m可以为3。
可选的,可以根据待检测的触控事件中抬起事件的报点时刻,获取抬起事件的报点时刻之后相邻的m个触控事件的数据。m个触控事件中的每个触控事件均包括一个按下事件、至少一个移动事件和一个抬起事件,每个触控事件的数据包括该触控事件中抬起事件的第一数据、按下事件的第二数据和各个移动事件的第三数据。
S1605、根据m个触控事件的数据分别确定m个触控事件的触控位置、触控距离和各个移动距离。
确定m个触控事件的触控位置、触控距离和各个移动距离的具体过程,与上述实施例中确定待检测的触控事件的触控位置、触控距离和各个移动距离的具体过程相同,在此不再赘述。
S1606、判断m个触控事件中的每个触控事件是否均满足:触控位置属于第三预设区域、各个移动距离中至少一个移动距离小于或等于第二预设距离,触控距离小于或等于第二预设距离。
也就是说,判断m个触控事件的触控位置是否均属于第三预设区域、m个触控事件中的每个触控事件的各个移动距离中,是否至少一个移动距离小于或等于第二预设距离,m个触控事件的触控距离是否均小于或等于第二预设距离。
若m个触控事件的触控位置均属于第三预设区域,m个触控事件中每个触控事件的各个移动距离中,至少一个移动距离小于或等于第二预设距离,且m个触控事件的触控距离均小于或等于第二预设距离,则执行步骤S1607;否则执行步骤S1609。
可选的,服务器也可以按照事件标识,对m个触控事件逐一执行上述步骤S1604至S1606的相关过程。具体的,假设待检测的触控事件的事件标识为n,并假设待检测的触控事件中抬起事件的报点时刻之后,m个触控事件的事件标识依次为n+1,n+2,…,n+m。若服务器在1603步骤中确定待检测的触控事件的触控距离小于或等于第二预设距离,则执行以下步骤:
1)获取事件标识为n+1的触控事件的第一数据、第二数据和第三数据;
2)根据事件标识为n+1的触控事件的第一数据、第二数据和第三数据,确定事件标识为n+1的触控事件的触控位置;
3)确定事件标识为n+1的触控事件的触控位置是否属于第三预设区域;
4)若事件标识为n+1的触控事件的触控位置不属于第三预设区域,则执行步骤S1609;
5)若事件标识为n+1的触控事件的触控位置属于第三预设区域,则根据事件标识为n+1的触控事件的第一数据和第三数据,确定事件标识为n+1的触控事件的各个移动距离;
6)确定事件标识为n+1的触控事件的各个移动距离中是否至少一个移动距离小于或等于第二预设距离;
7)若事件标识为n+1的触控事件的各个移动距离均大于第二预设距离,则执行步骤S1609;
8)若事件标识为n+1的触控事件的各个移动距离中至少一个移动距离小于或等于第二预设距离,则根据事件标识为n+1的触控事件的第一数据和第二数据,确定事件标识为n+1的触控事件的触控距离;
9)确定事件标识为n+1的触控事件的触控距离是否小于或等于第二预设距离;
10)若事件标识为n+1的触控事件的触控距离大于第二预设距离,则执行步骤S1609;
11)若事件标识为n+1的触控事件的触控距离小于或等于第二预设距离,则重复上述1)至11)过程,对事件标识为n+2的触控事件进行判断;
以此类推,对事件标识为n+3,…,n+m的触控事件分别进行判断;
12)若对事件标识为n+m的触控事件的判断中,上述步骤9)的结果为:事件标识为n+m的触控事件的触控距离小于或等于第二预设距离,则确定m个触控事件的触控位置均属于第三预设区域,m个触控事件中每个触控事件的各个移动距离中,至少一个移动距离小于或等于第二预设距离且m个触控事件的触控距离均小于或等于第二预设距离,执行步骤S1607;否则执行步骤S1609。
S1607、判断连续事件时长是否大于或等于预设连续点击时长;连续事件时长是指m个触控事件中的最后一个触控事件的抬起事件的发生时刻与待检测的触控事件中按下事件的发生时刻之间的时间差。
预设连续点击时长可以根据实际需求设定。可选的,预设连续点击时长可以为3000ms。即,服务器判断连续事件时长是否大于或等于3000ms;若是,则执行步骤S1608;若否,则执行步骤S1609。
S1608、确定待检测的触控事件和m个触控事件为边缘连续点击误触事件。
若确定待检测的触控事件和m个触控事件为边缘连续点击误触事件,则服务器可以提示边缘误触故障,提取保存待检测的触控事件和m个触控事件的数据以及所属的边缘误触类型,并将m个触控事件之后的下一个触控事件作为待检测的触控事件,返回执行步骤S501,以判断该触控事件是否为多个预设类型的边缘误触事件中的一种。
S1609、确定待检测的触控事件不为边缘连续点击误触事件。
若确定待检测的触控事件不为边缘连续点击误触事件,且边缘连续点击误触为多个预设边缘误触类型中的最后一个类型,则服务器可以将待检测的触控事件之后的下一个触控事件(即上述事件标识为n+1的触控事件)作为待检测的触控事件,返回执行步骤S501,以判断该触控事件是否为多个预设类型的边缘误触事件中的一种。
由上述过程可见,判断待检测的触控事件是否为边缘连续点击误触事件所需的参数可以包括:触控位置、触控距离、各个移动距离、待检测的触控事件之后与待检测的触控事件在时间上连续的m个触控事件的数据,以及连续事件时长。
本实施例中,通过待检测的触控事件的数据以及待检测的触控事件之后与待检测的触控事件在时间上连续的m个触控事件的数据,确定待检测的触控事件和m个触控事件是否与边缘连续点击误触事件。边缘连续点击误触事件是一种用户实际使用过程中会遇到边缘误触类型。本实施例中,充分考虑用户使用终端过程中的真实体验,能够智能的检测出触控事件中的边缘连续点击误触事件,与用户实际使用中发生的边缘误触故障类型匹配,便于后续针对边缘连续点击误触事件的数据进行分析、处理和改进,提高用户体验。另外,第三预设区域、第二预设距离和预设连续点击时长能够量化的体现出边缘连续点击误触事件的特征,因而,本实施例提供的方法能够准确的检测出边缘连续点击误触事件,提高对于边缘连续点击误触故障检测的准确性。而且,本实施例中,将触控距离和移动距离同时作为参数来检测边缘连续点击误触,能够保证抬起事件与按下事件的相对位置,以及移动事件与按下事件的相对位置均满足预设的条件,进一步提高了边缘连续点击误触故障检测的准确性。
在一个实施例中,在确定待检测的触控事件和m个触控事件为边缘连续点击误触事件之后,还可以进一步确定待检测的触控事件和m个触控事件是否为用户可感知的边缘连续点击误触事件。用户可感知的边缘连续点击误触事件是指发生边缘连续点击误触的同时,用户执行了其他的正常操作,边缘连续点击误触事件及其他的边缘误触事件影响了用户的正常操作,导致用户可以感知到发生了边缘误触事件。
例如,在一个应用场景中,用户左手持手机,左手的大拇指在手机左侧边缘某一位置附近不断抬起按下,产生边缘连续点击误触事件。这个过程中,用户右手食指向右下方向拖动某一图标。示例性的,图17示出了该应用场景对应的显示屏上触控事件的报点的示意图。图17中,1701表示用户左手大拇指对应的触控事件的报点,1702表示用户右手食指对应的触控事件的报点。
由于左手大拇指不断抬起按下引起的边缘连续点击误触故障,导致用户右手食指向右下方向拖动图标无响应,进而感知到发生了边缘误触事件。这种场景下,左手的大拇指的不断抬起按下操作对应的边缘连续点击误触事件为用户可感知的边缘连续点击误触事件。
在一个实施中,确定边缘连续点击误触事件是否为用户可感知的边缘连续点击误触事件,可以通过下述过程实现:
若确定待检测的触控事件为边缘连续点击误触事件,则:
获取第二时间段内边缘误触事件的数量,得到第三数量;其中,第二时间段是指待检测的触控事件中按下事件的发生时刻与m个触控事件中的最后一个触控事件中抬起事件的发生时刻之间的时间段;获取第二时间段内触控事件的数量,得到第四数量;若第四数量大于第三数量,则确定待检测的触控事件和m个触控事件为用户可感知的边缘连续点击误触事件。
也就是说,服务器确定边缘连续点击误触事件发生的时间段内触控事件的总数量是否大于边缘误触事件(包括边缘连续点击误触事件和其他边缘误触事件)的总数量,若是,则确定该边缘连续点击误触事件为用户可感知的边缘连续点击误触事件。
可选的,可以通过获取第二时间段内边缘误触事件的事件标识的数量确定第三数量,也可以通过获取第二时间段内发生边缘误触的按下/抬起事件的对数确定第三数量。
本实施例中,在确定待检测的触控事件和m个触控事件为边缘连续点击误触事件的情况下,确定该边缘连续点击误触事件是否为用户可感知的边缘连续点击误触事件,进一步与用户实际使用中发生的边缘误触故障类型匹配,真实的反映用户体验,从而便于后续针对性分析、处理和改进,进一步提高用户体验。
可以理解,在判断待检测的触控事件是否为多个预设类型的边缘误触事件中的一种的过程中,可以按照上述的顺序依次判断,即先判断是否为边缘长摁误触事件,再判断是否为边缘滑动误触事件,最后判断是否为边缘连续点击误触事件。在一些实施例中,也可以按照其他的顺序进行判断,本申请实施例对此不做任何限定。
上文详细介绍了本申请实施例提供的边缘误触的检测方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图18为本申请实施例提供的边缘误触的检测装置的一种结构示意图。如图18所示,本实施例提供的边缘误触的检测装置,可以包括:
获取模块1801,用于获取待检测的触控事件的数据,其中,触控事件包括按下事件、至少一个移动事件和抬起事件,触控事件的数据包括按下事件的第一数据、抬起事件的第二数据和各个移动事件的第三数据;
检测模块1802,用于根据电子设备的预设边缘误触区域以及所述待检测的触控事件的第一数据、第二数据和第三数据,确定所述待检测的触控事件是否为多个预设类型的边缘误触事件中的一种。
在一个实施例中,所述检测模块1802具体用于:根据所述待检测的触控事件的第一数据、第二数据和第三数据,确定所述待检测的触控事件的触控位置、触控距离和各个移动距离;其中,触控距离用于表征触控事件中按下事件的位置与抬起事件的位置在预设方向上的距离,各个移动距离用于表征触控事件中各个移动事件的位置与按下事件的位置在预设方向上的距离;根据所述预设边缘误触区域以及所述待检测的触控事件的触控位置、触控距离和各个移动距离,确定所述待检测的触控事件是否为所述多个预设类型的边缘误触事件中的一种。
在一个实施例中,所述检测模块1802具体用于:根据所述待检测的触控事件的第一数据和第二数据,确定所述待检测的触控事件的触控时长;触控时长用于表征触控事件中抬起事件的发生时刻与按下事件的发生时刻的时间差;根据所述预设边缘误触区域以及所述待检测的触控事件的触控位置、触控距离、各个移动距离和触控时长,确定所述待检测的触控事件是否为所述多个预设类型的边缘误触事件中的一种。
在一个实施例中,所述多个预设类型的边缘误触事件包括:边缘长摁误触事件和边缘滑动误触事件。
在一个实施例中,所述预设边缘误触区域包括第一预设区域,所述检测模块1802具体用于:若所述待检测的触控事件的触控位置属于所述第一预设区域,所述待检测的触控事件的各个移动距离中至少一个移动距离小于或等于第一预设距离,所述待检测的触控事件的触控距离小于或等于所述第一预设距离,且所述待检测的触控事件的触控时长大于或等于预设长摁时长,则确定所述待检测的触控事件为所述边缘长摁误触事件。
在一个实施例中,触控位置包括触控事件中按下事件的位置、各个移动事件的位置和抬起事件的位置;所述检测模块1802具体用于确定所述待检测的触控事件中按下事件的位置、各个移动事件的位置和抬起事件的位置均属于所述第一预设区域。
在一个实施例中,所述检测模块1802还用于:获取第一时间段内边缘误触事件的第一数量;所述第一时间段是指所述待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;获取所述第一时间段内触控事件的第二数量;若所述第二数量大于所述第一数量,则确定所述待检测的触控事件为用户可感知的边缘长摁误触事件。
在一个实施例中,所述预设边缘误触区域包括第二预设区域,所述检测模块1802还具体用于:若所述待检测的触控事件的触控位置属于所述第二预设区域,所述待检测的触控事件的各个移动距离中至少一个移动距离大于第一预设距离且小于或等于第二预设距离,所述待检测的触控事件的触控距离大于所述第一预设距离且小于或等于所述第二预设距离,并且所述待检测的触控事件的触控时长大于或等于预设滑动时长,则确定所述待检测的触控事件为所述边缘滑动误触事件。
在一个实施例中,所述检测模块1802还具体用于:获取第一时间段内边缘误触事件的第一数量;所述第一时间段是指所述待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;获取所述第一时间段内触控事件的第二数量;若所述第二数量大于所述第一数量,则确定所述待检测的触控事件为用户可感知的边缘滑动误触事件。
在一个实施例中,所述多个预设类型的边缘误触事件包括边缘连续点击误触事件,所述预设边缘误触区域包括第三预设区域;所述检测模块1802具体用于:
若所述待检测的触控事件的触控位置属于所述第三预设区域,所述待检测的触控事件的各个移动距离中至少一个移动距离小于或等于第二预设距离,且所述待检测的触控事件的触控距离小于或等于所述第二预设距离,则,获取所述待检测的触控事件之后与所述待检测的触控事件在时间上连续的m个触控事件的数据;m为正整数;根据所述m个触控事件的数据分别确定所述m个触控事件的触控位置、触控距离和各个移动距离;若所述m个触控事件的触控位置均属于所述第三预设区域,所述m个触控事件中每个触控事件的各个移动距离中,至少一个移动距离小于或等于所述第二预设距离,所述m个触控事件的触控距离均小于或等于所述第二预设距离,且连续事件时长大于或等于预设连续点击时长,则确定所述待检测的触控事件和所述m个触控事件为边缘连续点击误触事件;其中,所述连续事件时长是指所述m个触控事件中的最后一个触控事件中抬起事件的发生时刻与所述待检测的触控事件中按下事件的发生时刻之间的时间差。
在一个实施例中,所述检测模块1802还具体用于:获取第二时间段内边缘误触事件的第三数量;所述第二时间段是指所述待检测触控事件中按下事件的发生时刻与所述m个触控事件中的最后一个触控事件中抬起事件的发生时刻之间的时间段;获取所述第二时间段内触控事件的第四数量;若所述第四数量大于所述第三数量,则确定所述待检测的触控事件和所述m个触控事件为用户可感知的边缘连续点击误触事件。
在一个实施例中,第一数据包括按下事件的报点坐标,第二数据包括抬起事件的报点坐标,第三数据包括移动事件的报点坐标;所述检测模块1802具体用于:
根据所述待检测的触控事件中按下事件的报点坐标、移动事件的报点坐标和抬起事件的报点坐标确定所述待检测的触控事件的触控位置;确定所述待检测的触控事件中抬起事件的报点坐标与按下事件的报点坐标在所述预设方向上的差值的绝对值,得到所述待检测的触控事件的触控距离;分别确定所述待检测的触控事件中,各个移动事件的报点坐标与按下事件的报点坐标在所述预设方向上的差值的绝对值,得到所述待检测的触控事件的各个移动距离。
本实施例提供的边缘误触的检测装置,用于执行上述边缘误触的检测方法,技术原理和技术效果相似,此处不再赘述。
请参考图19,其示出了本申请实施例提供的电子设备的一种结构。电子设备可以为上述申请实施例中的生成触控事件的数据的终端设备或服务器。该电子设备包括:处理器1901、接收器1902、发射器1903、存储器1904和总线1905。处理器1901包括一个或者多个处理核心,处理器1901通过运行软件程序以及模块,从而执行各种功能的应用以及信息处理。接收器1902和发射器1903可以实现为一个通信组件,该通信组件可以是一块基带芯片。存储器1904通过总线1905和处理器1901相连。存储器1904可用于存储至少一个程序指令,处理器1901用于执行至少一个程序指令,以实现上述实施例的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
当电子设备开机后,处理器可以读取存储器中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过天线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至控制电路中的控制电路,控制电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到电子设备时,控制电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
本领域技术人员可以理解,为了便于说明,图19仅示出了一个存储器和处理器。在实际的电子设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信数据进行处理,中央处理器主要用于执行软件程序,处理软件程序的数据。本领域技术人员可以理解,基带处理器和中央处理器可以集成在一个处理器中,也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,电子设备可以包括多个基带处理器以适应不同的网络制式,电子设备可以包括多个中央处理器以增强其处理能力,电子设备的各个部件可以通过各种总线连接。该基带处理器也可以表述为基带处理电路或者基带处理芯片。该中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储器中,由处理器执行软件程序以实现基带处理功能。该存储器可以集成在处理器中,也可以独立在处理器之外。该存储器包括高速缓存Cache,可以存放频繁访问的数据/指令。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SS)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,不限于此。
本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。本申请各实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DWD)、或者半导体介质(例如,SSD)等。
本申请实施例提供一种计算机程序产品,当所述计算机程序产品在终端运行时,使得所述终端执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例提供一种计算机可读存储介质,其上存储有程序指令,所述程序指令被终端执行时,使得所述终端执行上述实施例的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。综上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的边缘误触的检测方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另外需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。此外,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种边缘误触的检测方法,其特征在于,所述方法包括:
获取待检测的触控事件的数据,其中,触控事件包括按下事件、至少一个移动事件和抬起事件,触控事件的数据包括按下事件的第一数据、抬起事件的第二数据和各个移动事件的第三数据;
根据所述待检测的触控事件的第一数据、第二数据和第三数据,确定所述待检测的触控事件的触控位置、触控距离和各个移动距离;其中,触控距离用于表征触控事件中按下事件的位置与抬起事件的位置在预设方向上的距离,各个移动距离用于表征触控事件中各个移动事件的位置与按下事件的位置在预设方向上的距离;
将所述待检测的触控事件的触控位置与预设边缘误触区域匹配,将所述待检测的触控事件的触控距离和各个移动距离分别与预设距离阈值匹配,确定所述待检测的触控事件是否为多个预设类型的边缘误触事件中的一种,所述多个预设类型的边缘误触事件包括边缘长摁误触事件、边缘滑动误触事件和边缘连续点击误触事件;
若所述待检测的触控事件为所述多个预设类型的边缘误触事件中的一种,则确定所述边缘误触事件发生的时间段内,触控事件的总数量是否大于所述边缘误触事件的总数量;若是,则确定所述边缘误触事件为用户可感知的边缘误触事件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述待检测的触控事件的第一数据和第二数据,确定所述待检测的触控事件的触控时长;触控时长用于表征触控事件中抬起事件的发生时刻与按下事件的发生时刻的时间差;
所述将所述待检测的触控事件的触控位置与预设边缘误触区域匹配,将所述待检测的触控事件的触控距离和各个移动距离分别与预设距离阈值匹配,确定所述待检测的触控事件是否为多个预设类型的边缘误触事件中的一种,包括:
将所述待检测的触控事件的触控位置与所述预设边缘误触区域匹配,将所述待检测的触控事件的触控距离和各个移动距离分别与预设距离阈值匹配,将所述待检测的触控事件的触控时长与预设时长阈值匹配,确定所述待检测的触控事件是否为所述多个预设类型的边缘误触事件中的一种。
3.根据权利要求2所述的方法,其特征在于,所述预设边缘误触区域包括第一预设区域,所述预设距离阈值包括第一预设距离,所述预设时长阈值包括预设长摁时长,所述将所述待检测的触控事件的触控位置与所述预设边缘误触区域匹配,将所述待检测的触控事件的触控距离和各个移动距离分别与预设距离阈值匹配,将所述待检测的触控事件的触控时长与预设时长阈值匹配,确定所述待检测的触控事件是否为所述多个预设类型的边缘误触事件中的一种,包括:
若所述待检测的触控事件的触控位置属于所述第一预设区域,所述待检测的触控事件的各个移动距离中至少一个移动距离小于或等于所述第一预设距离,所述待检测的触控事件的触控距离小于或等于所述第一预设距离,且所述待检测的触控事件的触控时长大于或等于所述预设长摁时长,则确定所述待检测的触控事件为所述边缘长摁误触事件。
4.根据权利要求3所述的方法,其特征在于,触控位置包括触控事件中按下事件的位置、各个移动事件的位置和抬起事件的位置;所述待检测的触控事件的触控位置属于所述第一预设区域,包括:
所述待检测的触控事件中按下事件的位置、各个移动事件的位置和抬起事件的位置均属于所述第一预设区域。
5.根据权利要求1所述的方法,其特征在于,在所述待检测的触控事件为所述边缘长摁误触事件的情况下,所述确定所述边缘误触事件发生的时间段内,触控事件的总数量是否大于所述边缘误触事件的总数量;若是,则确定所述边缘误触事件为用户可感知的边缘误触事件,包括:
获取第一时间段内边缘误触事件的第一数量;所述第一时间段是指所述待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;
获取所述第一时间段内触控事件的第二数量;
确定所述第二数量是否大于所述第一数量;
若所述第二数量大于所述第一数量,则确定所述待检测的触控事件为用户可感知的边缘长摁误触事件。
6.根据权利要求2所述的方法,其特征在于,所述预设边缘误触区域包括第二预设区域,所述预设距离阈值包括第一预设距离和第二预设距离,所述预设时长阈值还包括预设滑动时长,所述将所述待检测的触控事件的触控位置与所述预设边缘误触区域匹配,将所述待检测的触控事件的触控距离和各个移动距离分别与预设距离阈值匹配,将所述待检测的触控事件的触控时长与预设时长阈值匹配,确定所述待检测的触控事件是否为所述多个预设类型的边缘误触事件中的一种,包括:
若所述待检测的触控事件的触控位置属于所述第二预设区域,所述待检测的触控事件的各个移动距离中至少一个移动距离大于所述第一预设距离且小于或等于所述第二预设距离,所述待检测的触控事件的触控距离大于所述第一预设距离且小于或等于所述第二预设距离,并且所述待检测的触控事件的触控时长大于或等于所述预设滑动时长,则确定所述待检测的触控事件为所述边缘滑动误触事件。
7.根据权利要求1所述的方法,其特征在于,在所述待检测的触控事件为所述边缘滑动误触事件的情况下,所述确定所述边缘误触事件发生的时间段内,触控事件的总数量是否大于所述边缘误触事件的总数量;若是,则确定所述边缘误触事件为用户可感知的边缘误触事件,包括:
获取第一时间段内边缘误触事件的第一数量;所述第一时间段是指所述待检测的触控事件中按下事件的发生时刻与抬起事件的发生时刻之间的时间段;
获取所述第一时间段内触控事件的第二数量;
确定所述第二数量是否大于所述第一数量;
若所述第二数量大于所述第一数量,则确定所述待检测的触控事件为用户可感知的边缘滑动误触事件。
8.根据权利要求1所述的方法,其特征在于,所述预设边缘误触区域包括第三预设区域,所述预设距离阈值包括第二预设距离;
所述将所述待检测的触控事件的触控位置与预设边缘误触区域匹配,将所述待检测的触控事件的触控距离和各个移动距离分别与预设距离阈值匹配,确定所述待检测的触控事件是否为多个预设类型的边缘误触事件中的一种,包括:
若所述待检测的触控事件的触控位置属于所述第三预设区域,所述待检测的触控事件的各个移动距离中至少一个移动距离小于或等于所述第二预设距离,且所述待检测的触控事件的触控距离小于或等于所述第二预设距离,则,获取所述待检测的触控事件之后与所述待检测的触控事件在时间上连续的m个触控事件的数据;m为正整数;
根据所述m个触控事件的数据分别确定所述m个触控事件的触控位置、触控距离和各个移动距离;
若所述m个触控事件的触控位置均属于所述第三预设区域,所述m个触控事件中每个触控事件的各个移动距离中,至少一个移动距离小于或等于所述第二预设距离,所述m个触控事件的触控距离均小于或等于所述第二预设距离,且连续事件时长大于或等于预设连续点击时长,则确定所述待检测的触控事件和所述m个触控事件为边缘连续点击误触事件;其中,所述连续事件时长是指所述m个触控事件中的最后一个触控事件中抬起事件的发生时刻与所述待检测的触控事件中按下事件的发生时刻之间的时间差。
9.根据权利要求8所述的方法,其特征在于,在所述待检测的触控事件为所述边缘连续点击误触事件的情况下,所述确定所述边缘误触事件发生的时间段内,触控事件的总数量是否大于所述边缘误触事件的总数量;若是,则确定所述边缘误触事件为用户可感知的边缘误触事件,包括:
获取第二时间段内边缘误触事件的第三数量;所述第二时间段是指所述待检测的触控事件中按下事件的发生时刻与所述m个触控事件中的最后一个触控事件中抬起事件的发生时刻之间的时间段;
获取所述第二时间段内触控事件的第四数量;
确定所述第四数量是否大于所述第三数量;
若所述第四数量大于所述第三数量,则确定所述待检测的触控事件和所述m个触控事件为用户可感知的边缘连续点击误触事件。
10.根据权利要求1至9中任一项所述的方法,其特征在于,第一数据包括按下事件的报点坐标,第二数据包括抬起事件的报点坐标,第三数据包括移动事件的报点坐标;所述根据所述待检测的触控事件的第一数据、第二数据和第三数据,确定所述待检测的触控事件的触控位置、触控距离和各个移动距离,包括:
根据所述待检测的触控事件中按下事件的报点坐标、移动事件的报点坐标和抬起事件的报点坐标确定所述待检测的触控事件的触控位置;
确定所述待检测的触控事件中抬起事件的报点坐标与按下事件的报点坐标在所述预设方向上的差值的绝对值,得到所述待检测的触控事件的触控距离;
分别确定所述待检测的触控事件中,各个移动事件的报点坐标与按下事件的报点坐标在所述预设方向上的差值的绝对值,得到所述待检测的触控事件的各个移动距离。
11.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、存储器和接口相互配合,使得所述电子设备执行如权利要求1至10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111075660.2A CN114995674B (zh) | 2021-09-14 | 2021-09-14 | 边缘误触的检测方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111075660.2A CN114995674B (zh) | 2021-09-14 | 2021-09-14 | 边缘误触的检测方法、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114995674A CN114995674A (zh) | 2022-09-02 |
CN114995674B true CN114995674B (zh) | 2023-06-13 |
Family
ID=83018420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111075660.2A Active CN114995674B (zh) | 2021-09-14 | 2021-09-14 | 边缘误触的检测方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114995674B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116679864B (zh) * | 2022-09-27 | 2024-03-29 | 荣耀终端有限公司 | 一种触控交互的处理方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109891379A (zh) * | 2017-08-03 | 2019-06-14 | 华为技术有限公司 | 一种防误触方法及终端 |
CN109992156A (zh) * | 2019-03-25 | 2019-07-09 | 努比亚技术有限公司 | 一种防误触方法、移动终端及计算机可读存储介质 |
CN111752465A (zh) * | 2019-03-29 | 2020-10-09 | 北京小米移动软件有限公司 | 防止边缘误触控的方法、装置及存储介质 |
WO2021092768A1 (zh) * | 2019-11-12 | 2021-05-20 | 深圳市欢太科技有限公司 | 触摸事件的处理方法、装置、移动终端及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021259B (zh) * | 2016-11-03 | 2021-03-30 | 华为技术有限公司 | 一种防误触方法及电子设备 |
CN106708263A (zh) * | 2016-12-16 | 2017-05-24 | 广东欧珀移动通信有限公司 | 一种触摸屏的防误触方法、装置及移动终端 |
CN106406633A (zh) * | 2016-12-16 | 2017-02-15 | 广东欧珀移动通信有限公司 | 一种触摸屏边缘的防误触方法、装置及移动终端 |
-
2021
- 2021-09-14 CN CN202111075660.2A patent/CN114995674B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109891379A (zh) * | 2017-08-03 | 2019-06-14 | 华为技术有限公司 | 一种防误触方法及终端 |
CN109992156A (zh) * | 2019-03-25 | 2019-07-09 | 努比亚技术有限公司 | 一种防误触方法、移动终端及计算机可读存储介质 |
CN111752465A (zh) * | 2019-03-29 | 2020-10-09 | 北京小米移动软件有限公司 | 防止边缘误触控的方法、装置及存储介质 |
WO2021092768A1 (zh) * | 2019-11-12 | 2021-05-20 | 深圳市欢太科技有限公司 | 触摸事件的处理方法、装置、移动终端及存储介质 |
Non-Patent Citations (3)
Title |
---|
Borja Peleato.Adaptive_Read_Thresholds_for_NAND_Flash.《IEEE Transactions on Communications》.2015,第63卷(第9期),第3069-3081页. * |
宋学瑞;蔡子裕;段青青.触摸屏数据处理算法.计算机工程.2008,(第23期),全文. * |
谢江容 潘风明 吴政南 谢杰 潘兴修.投射式电容触摸屏的电极设计分析.《光电子技术》.2016,第36卷(第3期),第200-204页. * |
Also Published As
Publication number | Publication date |
---|---|
CN114995674A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10013094B1 (en) | System, method, and computer program product for a multi-pressure selection touch screen | |
US20140115506A1 (en) | Systems And Methods For Measurement Of User Interface Actions | |
US20150177903A1 (en) | Method and apparatus for controlling scale resolution in electronic device | |
CN108463799B (zh) | 电子设备的柔性显示器及其操作方法 | |
US20160094670A1 (en) | Method, mobile device, system and computer product for detecting and measuring the attention level of a user | |
US20200327148A1 (en) | Universal Interaction for Capturing Content to Persistent Storage | |
EP3738027B1 (en) | Feature usage prediction using shell application feature telemetry | |
US20160210338A1 (en) | System for Collaborative Data Analytics for Time Series Data | |
US20230035104A1 (en) | Verification method, apparatus and device, and storage medium | |
CN108475182A (zh) | 数据处理方法以及电子终端 | |
CN114995674B (zh) | 边缘误触的检测方法、电子设备和计算机可读存储介质 | |
CN111025039B (zh) | 触摸显示屏的精准度的测试方法、装置、设备以及介质 | |
CN109213668B (zh) | 操作记录方法、装置及终端 | |
US20170339230A1 (en) | Method and apparatus for file management | |
CN102945122B (zh) | 为移动终端提供适配的阅读界面的方法以及客户端 | |
KR102303206B1 (ko) | 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치 | |
CN115061591A (zh) | 边缘误触的检测方法、电子设备和计算机可读存储介质 | |
CN112306606A (zh) | 一种用于呈现控件样式的方法与设备 | |
CN116055599B (zh) | 折叠屏屏幕夹角获取方法及电子设备 | |
CN115437571A (zh) | 数据写入方法、装置、计算机设备和存储介质 | |
CN114995675B (zh) | 触控跳点故障的检测方法、电子设备和可读存储介质 | |
US20130155072A1 (en) | Electronic device and method for managing files using the electronic device | |
CN110222070B (zh) | 报表归档方法、装置、介质、电子设备 | |
CN115639936A (zh) | 一种转屏控制方法、装置及电子设备 | |
CN103547982A (zh) | 利用空间和时间特征识别触摸传感器数据中的接触和接触属性 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |