一种触控操作识别方法和装置与流程

文档序号:14071115阅读:198来源:国知局

本发明涉及触摸屏技术领域,特别是涉及一种触控操作识别方法和装置。



背景技术:

目前,终端屏幕的边框宽度是影响终端视觉效果的一大关键因素,各终端厂商争相推出窄边框甚至是无边框的终端以提升屏占比和美感。用户在使用窄边框或者无边框终端时,必然会触摸到屏幕边缘,有时该触摸是误操作,有时该触摸并非是误操作。比如:用户单手握着手机时,指腹会触摸到屏幕两侧的边缘,对于用户的误触操作,手机不应该响应。又如:在画图应用中,线条被画到了屏幕边缘,对于正常的触摸操作,手机应该实时响应。

针对边缘误触问题的解决方案基本是:将屏幕划分为边缘区域和非边缘区域,当检测到触摸时,判断接触位置是否落在边缘区域中,如果否,则进行响应,如果是,则对边缘区域中的触摸操作进行抑制。也就是说,只要接触位置落在边缘区域中,终端直接认定边缘区域中的触摸操作为误触操作,并对该误触操作不作响应。但是这将导致两个问题:一,手指在边缘区域的连续滑动不会被响应;二,在连续触摸过程中,只要手指滑动到边缘区域就会被抑制,此时终端系统会认为当前触摸动作已经结束,而实际上手指可能没有结束触摸。比如:用户在画一条连续的曲线时,当手指滑动到屏幕的边缘区域时该曲线就会中断。由此可见,现有的边缘误触解决方案无法区分用户的不同触摸行为,尤其是无法区分触摸行为是边缘误触行为或是边缘触控行为。



技术实现要素:

本发明提供一种触控操作识别方法和装置,用以解决现有无法区分触摸行为是边缘误触行为或是边缘触控行为的问题。

为了解决上述技术问题,本发明是通过以下技术方案来解决的:

本发明提供了一种触控操作识别方法,包括:获取触摸操作对应的触摸数据,并识别出边缘触摸数据,所述边缘触摸数据是触摸屏的边缘区域中的触摸操作对应的触摸数据;在所述边缘触摸数据符合预设的滑动触摸条件的情况下,判定所述边缘触摸数据为有效的触控操作数据。

其中,所述方法还包括:在所述边缘触摸数据不符合所述滑动触摸条件的情况下,判定所述边缘触摸数据为无效的触控操作数据。

其中,判断所述边缘触摸数据是否符合预设的滑动触摸条件,包括:根据所述边缘触摸数据,判断边缘触摸的接触面积是否小于预设的阈值;若所述接触面积小于所述预设的阈值,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;若所述接触面积大于等于所述预设的阈值,则判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

其中,判断所述边缘触摸数据是否符合预设的滑动触摸条件,包括:利用先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否符合预设的滑动触摸条件。

其中,利用先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否符合滑动触摸条件,包括:如果先于所述边缘触摸数据获取到的触摸数据是有效的触控操作数据,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;反之,判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

其中,利用先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否符合滑动触摸条件,包括:根据所述边缘触摸数据以及先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否为触摸抖动产生的数据;若否,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;若是,则判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

本发明还提供了一种触控操作识别装置,包括:获取模块,用于获取触摸操作对应的触摸数据,并识别出边缘触摸数据,所述边缘触摸数据是触摸屏的边缘区域中的触摸操作对应的触摸数据;处理模块,用于在所述边缘触摸数据符合预设的滑动触摸条件的情况下,判定所述边缘触摸数据为有效的触控操作数据。

其中,所述处理模块,还用于在所述边缘触摸数据不符合所述滑动触摸条件的情况下,判定所述边缘触摸数据为有效的触控操作数据。

其中,所述处理模块,进一步用于根据所述边缘触摸数据,判断边缘触摸的接触面积是否小于预设的阈值;若所述接触面积小于所述预设的阈值,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;若所述接触面积大于等于所述预设的阈值,则判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

其中,所述处理模块,进一步用于利用先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否符合所述预设的滑动触摸条件。

其中,所述处理模块,具体用于:如果先于所述边缘触摸数据获取到的触摸数据是有效的触控操作数据,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;反之,则判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

其中,所述处理模块,具体用于:根据所述边缘触摸数据以及先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否为触摸抖动产生的数据;若否,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;若是,则判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

本发明有益效果如下:

本发明获取边缘触摸数据;识别该边缘触摸数据是否为有效的触控操作数据,进而可以识别出触摸屏边缘的触摸行为是边缘误触行为还是边缘触控行为,可以有效地抑制无效的触控操作,保证有效的触控操作不受到影响,保障终端基本功能的运行,提升了用户体验效果。

附图说明

图1是根据本发明第一实施例的触控操作识别方法的流程图;

图2是根据本发明第二实施例的获取触摸数据的步骤流程图;

图3是根据本发明第三实施例的触控操作识别的方法流程图;

图4是根据本发明第四实施例的触控操作识别装置的结构图。

具体实施方式

本发明获取触摸操作对应的触摸数据,并识别出边缘触摸数据;该边缘触摸数据是触摸屏的边缘区域中的触摸操作对应的触摸数据;在该边缘触摸数据符合预设的滑动触摸条件的情况下,判定该边缘触摸数据为有效的触控操作数据。进一步地,在该边缘触摸数据不符合所述滑动触摸条件的情况下,判定所述边缘触摸数据为无效的触控操作数据。通过本发明可以识别出触摸屏边缘的触摸行为是边缘误触行为还是边缘触控行为,可以有效地抑制无效的触控操作,保证有效的触控操作不受到影响,保障终端基本功能的运行,提升了用户体验效果。

以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

实施例一

本实施例提供一种触控操作识别方法,如图1所示,为根据本发明第一实施例的触控操作识别方法的流程图。本实施例的执行主体为包括触摸屏的终端。

步骤s110,获取触摸操作对应的触摸数据。

当用户(如手指)接触触摸屏时,可以检测到触摸屏中产生的触摸信号;在检测到触摸信号时,可以采集该触摸操作对应的触摸数据。

触摸数据包括:能够表示用户和触摸屏的接触区域的坐标数据。

触摸屏的种类包括:电容屏和压力屏。触摸信号的种类包括:电信号和压力信号。

步骤s120,识别该触摸数据是否为边缘触摸数据。若是,则执行步骤s130;若否,则执行步骤s160。

预先为触摸屏划分为边缘区域和非边缘区域。触摸操作分为边缘触摸操作和非边缘触摸操作。

边缘触摸数据是边缘区域中的触摸操作(边缘触摸操作)对应的触摸数据。非边缘触摸数据是非边缘区域中的触摸操作(非边缘触摸操作)对应的触摸数据。进一步地,根据边缘区域和非边缘区域的范围信息,以及用户和触摸屏的接触区域的坐标数据,识别触摸数据是边缘触摸数据还是非边缘触摸数据。

具体的,根据触摸数据可以确定用户和触摸屏的接触区域,如果该接触区域完全处于边缘区域内或者有预定比例的接触区域落在边缘区域中,则认定触摸数据是边缘触摸数据,反之认定触摸数据为非边缘触摸数据。

例如:有超过一半的接触区域落在边缘区域中,或者只要有部分接触区域落在边缘区域中,就可以认定触摸数据是边缘触摸数据,用户的接触行为是边缘接触行为。

步骤s130,判断该边缘触摸数据是否符合预设的滑动触摸条件。若是,则执行步骤s140;若否,则执行步骤s150。

滑动触摸条件是确定本次的边缘触摸为有效的触控操作的条件。进一步地,滑动触摸条件包括:本次的边缘触摸为连续触摸的一部分的条件,换言之,本次的边缘触摸和之前的边缘触摸为连续触摸的条件。

例如:滑动触摸条件包括:如果边缘触摸的接触面积小于预设的阈值(接触面积阈值),则该边缘触摸为有效的触控操作。那么,根据边缘触摸数据,判断边缘触摸的面积是否小于预设的阈值;若接触面积小于该预设的阈值,则判定该边缘触摸数据符合滑动触摸条件;若接触面积大于等于该预设的阈值,则判定该边缘触摸数据不符合滑动触摸条件。

又如:滑动触摸条件包括:如果本次的边缘触摸和前多次的触摸形成连续触摸,则本次的边缘触摸为有效的触控操作。那么,利用先于边缘触摸数据获取到的触摸数据,判断该边缘触摸数据是否符合滑动触摸条件。在本实施例中提供以下两种情形,但是以下两种情形不用于限定本发明。

情形一,如果先于边缘触摸数据获取到的触摸数据是有效的触控操作数据;则判定该边缘触摸数据符合滑动触摸条件;反之,则判定该边缘触摸数据不符合滑动触摸条件。如:先于边缘触摸数据获取到的触摸数据为非边缘触摸数据。

情形二,根据边缘触摸数据以及先于该边缘触摸数据获取到的触摸数据,判断该边缘触摸数据是否为触摸抖动产生的数据;若否,则判定该边缘触摸数据符合滑动触摸条件;若是,则判定该边缘触摸数据不符合滑动触摸条件。触摸抖动是指手指在触摸屏上进行触摸操作时发生的抖动行为。接触抖动产生的数据可以是坐标数据,触摸操作对应的坐标和发生触摸抖动时的坐标较为接近。

步骤s140,判定该边缘触摸数据为有效的触控操作数据。

在边缘触摸数据符合滑动触摸条件的情况下,判定该边缘触摸数据为有效的触控操作数据。

如果边缘触摸数据符合滑动触摸条件,则说明本次的边缘触摸为有效的触控操作,将该边缘触摸数据作为触控操作数据,根据该触控操作数据,执行对应的触摸操作。操作结果可以通过终端显示给用户。

步骤s150,判定该边缘触摸数据为无效的触控操作数据。

在边缘触摸数据不符合滑动触摸条件的情况下,判定该边缘触摸数据为有效的触控操作数据。

如果边缘触摸数据不符合滑动触摸条件,则说明本次的边缘触摸为无效的触控操作,进而可以识别出本次的边缘触摸为边缘误触,可以舍弃该边缘触摸数据,抑制该无效的触控操作。通过识别触控操作数据是否有效,可以避免边缘误触给用户带来的不便。

步骤s160,判定该触摸数据为非边缘触摸数据,并认定该非边缘触摸数据为有效的触控操作数据。

本实施例获取单个手指在触摸屏上的触摸数据并进行识别,当多个手指在触摸屏上触摸时,需要分别获取每个手指的触摸数据并分别进行识别,针对各个手指的触摸数据的识别和处理相互独立、互不影响。进一步地,可以在触摸数据中添加为手指分配的手指标识,来区分不同手指的触摸数据并分别进行识别和处理。同一手指连续触摸的过程中,触摸数据的手指标识相同。

本实施例可以识别出当前触摸是边缘触摸或是非边缘触摸,对于边缘触摸还可以识别出是有效的触控操作或是无效的误触。通过本实施例可以抑制无效的误触,保证正常的触控不受影响。

实施例二

本实施例对获取触摸数据的步骤进行进一步地描述,图2是根据本发明第二实施例的获取触摸数据的步骤流程图。本实施例以电信号为例。

步骤s210,为触摸屏划分边缘区域和非边缘区域。

边缘区域是指触摸屏四个边缘的较窄的区域,触摸屏中除了边缘区域之外的区域为非边缘区域。例如:在触摸屏中显示应用图标的区域作为非边缘区域,触摸屏靠近终端中框的区域为边缘区域。

可以根据测试统计结果,在触摸屏中设定合理的边缘区域和非边缘区域。边缘区域的区域范围以不影响用户体验为准。

步骤s220,检测触摸屏中产生的电信号。

触摸屏中产生的信号量是用户手指和触摸屏接触产生的。

具体的,每隔预定时间检测一次触摸屏中产生的电信号。例如:每隔10ms检测一次触摸屏中产生的电信号。

步骤s230,如果检测到某个区域的信号量的特征符合触摸特征,则获得该区域的区域坐标。

由于用户可能会在无意中触碰到触摸屏,所以需要判断用户对触摸屏的触碰是否为触摸行为(触摸操作)。如果某一区域产生电信号,且信号量的特征符合接触行为的特征,则可以确定用户和触摸屏的当前接触为触摸行为,该区域为触摸的接触区域,采集的多个区域坐标为触摸数据。

触摸特征包括:产生电信号的区域的面积大于预设的面积阈值,且该区域的信号量大于预设的信号量阈值。

步骤s240,在所有的区域坐标中,确定处于边缘区域中的区域坐标,并计算边缘区域的坐标比例r。

边缘区域的坐标比例r=处于边缘区域中的区域坐标的数量/接触区域的所有区域坐标的数量。

例如:采集到100个区域坐标,这100个区域坐标可以描述出接触区域的形状,在这100个区域坐标中有30个区域坐标处于非边缘区域,有70个区域坐标处于边缘区域中,则边缘区域的坐标比例r=70/100=0.7。

步骤s250,判断该坐标比例r是否大于预设的基准比例。若是,则执行步骤s260;若否,则执行步骤s270。

基准比例用于衡量用户和触摸屏的当前触摸是否为边缘触摸。进一步地,基准比例可以根据边缘触摸测试的统计结果进行设置。

例如:基准比例为0.9,用户接触触摸屏,所有坐标都处于边缘区域中,那么边缘区域的坐标比例r=1,这时可以认定该接触为边缘接触。

步骤s260,判定当前触摸行为是边缘触摸,触摸数据为边缘触摸数据。

步骤s270,判定当前接触行为是非边缘触摸,触摸数据为非边缘触摸数据。

本实施例还可以采用压力屏来进一步提高识别的准确性。如果采用压力屏,则根据压力屏的压力信号,确定当前碰触是否为触摸行为,采集压力形变区域的坐标,并根据边缘区域的坐标比例来确定当前触摸行为是边缘接触行为或是非边缘接触行为。

实施例三

本实施例对触摸屏边缘区域的触控操作识别进行进一步地描述。图3是根据本发明第三实施例的触控操作识别的方法流程图。

步骤s310,在本次获取的边缘触摸数据中,根据处于边缘区域中的所有区域坐标,计算最大坐标差值。

最大坐标差值包括:最大坐标差值xδ和最大坐标差值yδ。

最大坐标差值xδ为边缘区域中横坐标的最大坐标差值。在处于边缘区域的所有区域坐标中,获取所有横坐标,计算横坐标的最大值和最小值的差值,将该差值的绝对值作为最大坐标差值xδ。

最大坐标差值yδ为边缘区域中纵坐标的最大坐标差值。在处于边缘区域的所有区域坐标中,获取所有纵坐标,计算纵坐标的最大值和最小值的差值,将该差值的绝对值作为最大坐标差值yδ。

步骤s320,判断最大坐标差值是否大于基准坐标变化值。若是,则执行步骤s390;若否,则执行步骤s330。

基准坐标变化值xyδ用于衡量当前触摸行为是否为大面积接触。大面积接触是指用户的手掌和边缘区域的接触面积较大。如:用户手握终端,整个大拇指都和触摸屏边缘接触,这时接触区域的面积较大,因此横坐标和/或纵坐标的变化跨度较大。进一步地,基准坐标变化值xyδ需要根据大量的手掌大面积接触实验的统计结果进行设置。

如果最大坐标差值大于基准坐标变化值xyδ,则认定本次接触为大面积接触。其中,最大坐标差值包括:最大坐标差值xδ和最大坐标差值yδ。最大坐标差值xδ和最大坐标差值yδ中的至少一个大于基准坐标变化值xyδ,就可以认定最大坐标差值大于基准坐标变化值xyδ。最大坐标差值xδ和最大坐标差值yδ都小于基准坐标变化值xyδ,认定最大坐标差值不大于基准坐标变化值xyδ。

如果认定本次触摸为大面积接触,则可以确定本次触摸不是为了进行触控,可以将本次触摸认定为无效的触控操作并对其进行抑制,具体可以将本次触摸产生的触摸数据视为无效数据并且无需上报至框架层。

步骤s330,判断是否存在起始数据datastart。若是,则执行步骤s380;若否,则执行步骤s340。

起始数据datastart是在本次获取边缘接触数据之前获取到的、并且已经被认定为有效的触控操作数据的触摸数据。

例如,在一次连续触摸中,获取到的第一个触摸数据为非边缘触摸数据,非边缘触摸数据为有效的触控操作数据,将该非边缘触摸数据存储为起始数据datastart,以供后续使用。

又如:在一次连续触摸中,获取一个边缘触摸数据,该边缘触摸数据不是大面积接触产生的边缘触摸数据,而且经过和前一个触摸数据比较,可以认定该边缘触摸数据不是抖动产生的数据,这时可以得到该边缘触摸数据是有效的触控操作数据,将该边缘触摸数据存储为起始数据datastart,以供后续使用。

若存在起始数据datastart,则意味着本次边缘触摸行为属于一次连续触摸的一部分。若不存在起始数据datastart,则说明在本次边缘触摸行为之前,没有有效的触控操作数据,需要进一步判断以确定当前边缘接触行为是否有效。

步骤s340,判断是否存在临时数据datatmp,若否,则执行步骤s350,若是,则执行步骤s360。

临时数据datatmp是根据前一次获取得到触摸数据,计算出前一次的接触区域的中心坐标。

中心坐标的计算方法包括:根据边缘触摸数据中的所有区域坐标(x1,y1)、(x2,y2)…、(xn,yn),可以确定接触区域的形状;根据该接触区域的形状确定该接触区域的中心;根据该接触区域的所有区域坐标,确定该接触区域的中心的坐标,即中心坐标(xcenter,ycenter);其中,n>1。

起始数据datastart和临时数据datatmp只对当前手指的本次连续触摸行为有效,其他手指的触摸行为,或者同一手指的前后两次的连续触摸行为,分别对应不同的起始数据datastart和临时数据datatmp。

步骤s350,将本次获取的边缘触摸数据作为临时数据datatmp暂存。

将本次获取的边缘触摸数据的中心坐标(xcenter,ycenter)作为临时数据datatmp进行暂存,以供下次使用。

步骤s360,根据本次的边缘触摸数据计算中心坐标,并根据该中心坐标和临时数据datatmp,计算本次的中心坐标变化率。

由于中心坐标包括横坐标和纵坐标,临时数据包括横坐标和纵坐标,所以本次的中心坐标变化率包括:横坐标变化率rx和纵坐标变化率ry。

rx=|(本次的中心坐标中的横坐标-临时数据中的横坐标)/临时数据中的横坐标|。其中,||表示取绝对值。

ry=|(本次的中心坐标中的纵坐标-临时数据中的纵坐标)/临时数据中的纵坐标|。

步骤s370,判断本次的中心坐标变化率是否大于基准变化率rstd。若是,则执行步骤s380,若否,则执行步骤s390。

中心坐标变化率大于基准变化率rstd,表示本次的边缘触摸数据不是触摸抖动产生的数据,而是正常的滑动。

若横坐标变化率rx和纵坐标变化率ry中至少一个大于基准变化率rstd,则判定中心坐标变化率大于基准变化率rstd;若横坐标变化率rx和纵坐标变化率ry均不大于基准变化率rstd,则认定中心坐标变化率不大于基准变化率rstd。

步骤s380,判定本次的边缘触摸数据有效,将本次的边缘触摸数据作为起始数据datastart进行存储。

步骤s390,判定本次的边缘触摸数据无效。

在识别出边缘触摸数据之后,本实施例可以舍弃大面积接触产生的数据,识别连续触摸的延续数据,排除抖动产生的数据,进而可以准确地识别出边缘触摸是触控还是误触。

例如:用户在触摸屏中画线条,画线条为连续触摸过程,线条从非边缘区域被划入了边缘区域,每隔10ms获取一次触摸数据,针对边缘触摸数据而言,通过本实施例,可以确定画线条时获取出的边缘触摸数据不是大面积接触产生的数据,而且线条是从非边缘区域被划入了边缘区域,存在起始数据datastart,那么边缘触摸数据为有效的触控操作数据,可以执行该触控操作数据对应的触控操作,执行结果是显示用户在非边缘区域画出的线条。

实施例四

本实施例提供一种触控操作识别装置。如图4所示,为根据本发明第四实施例的触控操作识别装置的结构图。

该装置包括:

获取模块410,用于获取触摸操作对应的触摸数据,并识别出边缘触摸数据。所述边缘触摸数据是触摸屏的边缘区域中的触摸操作对应的触摸数据。

处理模块420,用于在所述边缘触摸数据符合预设的滑动触摸条件的情况下,判定所述边缘触摸数据为有效的触控操作数据。

处理模块420,还用于在所述边缘触摸数据不符合所述滑动触摸条件的情况下,判定所述边缘触摸数据为有效的触控操作数据。

在一个实施例中,处理模块420,进一步用于根据所述边缘触摸数据,判断边缘触摸的接触面积是否小于预设的阈值;若所述接触面积小于所述预设的阈值,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;若所述接触面积大于等于所述预设的阈值,则判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

在另一实施例中,处理模块420,进一步用于利用先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否符合所述预设的滑动触摸条件。下面示意性的提供两种实现方式:

方式一,处理模块420具体用于:如果先于所述边缘触摸数据获取到的触摸数据是否为有效的触控操作数据,则判定所述边缘触摸数据符合所述滑动触摸条件;反之,则判定所述边缘触摸数据不符合所述滑动触摸条件。

方式二,处理模块420具体用于:根据所述边缘触摸数据以及先于所述边缘触摸数据获取到的触摸数据,判断所述边缘触摸数据是否为触摸抖动产生的数据;若否,则判定所述边缘触摸数据符合所述预设的滑动触摸条件;若是,则判定所述边缘触摸数据不符合所述预设的滑动触摸条件。

本实施例所述的装置的功能已经在图1~图3所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。

实施例五

本实施例提供一种设有触摸屏的终端设备。

该终端设备包括:硬件系统和软件系统。

硬件系统主要包括:获取模块410、处理模块420及显示模块。由于获取模块410和处理模块420的功能已经在实施例四中进行了描述,对于已经描述过的功能在此不作赘述。

处理模块420,还用于根据触控操作数据执行对应的触控操作。

显示模块,用于显示执行结果。

软件系统主要包括:驱动层、框架层及应用层。

驱动层对应硬件系统中的获取模块410和处理模块420,应用层对应硬件系统中的显示模块。

驱动层负责接收获取模块410发送的触摸数据,将该触摸数据交由处理模块420进行处理,并由处理模块420执行有效的触控操作数据对应的触控操作;驱动层接收处理模块420发送的执行结果,并将执行结果上报至框架层,框架层将处理结果分发至应用层,由显示模块生成和用户触摸操作相一致的数据,呈现给用户。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

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