一种在触控终端上触发点击事件的方法和装置与流程

文档序号:12886822阅读:228来源:国知局
一种在触控终端上触发点击事件的方法和装置与流程

本发明涉及触控技术领域,特别涉及一种用于触摸屏上发生点击操作时触发点击事件的方法和装置。



背景技术:

在相关技术中,触控终端包括触摸屏、检测装置、控制器、存储器和事件处理器,触摸屏上的触摸物从落下到抬起形成一次触摸操作,表示该触摸操作位置的信号由设置在触摸屏前端的检测装置发送给控制器,控制器将信号映射为触点坐标后,存储到存储器中,事件处理器先后从存储器中读取触点坐标,根据在一个时刻读取的触点坐标与在其之前读取的触点坐标的距离大小,判断是否触发触摸事件,触摸事件包括落下事件、抬起事件和滑动事件。

当存在前述距离大于第一阈值时,则触发用于响应滑动操作的滑动事件,否则前述距离均不大于第一阈值,则触发用于响应点击操作的点击事件。

在一些情况下,由于点击操作发生偏移导致前述距离增大,会错误地触发滑动事件,为了克服点击操作与滑动事件的不匹配,设置小于第一阈值的第二阈值,当前述距离全部小于第二阈值时,触发点击事件,以及当存在前述距离不小于第一阈值时,触发滑动事件。

然而,当前述距离全部小于第一阈值,且存在大于第二阈值的前述距离时,点击事件和滑动事件都不会触发,触摸操作也就成为无效操作。



技术实现要素:

本发明提供一种用于触摸屏上发生点击操作时触发点击事件的方法、装置及触控终端,能够克服当有在一个时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离介于第一阈值和第二阈值之间时,导致点击事件和滑动事件都不触发,进而导致触摸操作为无效操作的问题。

为达到上述目的,本发明实施例所采用的技术方案是:

第一方面,本发明提供一种用于触摸屏上发生点击操作时触发点击事件的方法,该方法步骤包括:

先后读取在一次点击操作持续的时间段内的触点坐标和触点坐标个数;当在一个时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离全部小于第一阈值,且存在所述距离大于第二阈值时,对第一触点坐标的个数进行累计计数;若对第一触点坐标的个数累计计数后得到的累加值小于其与所述触点坐标个数的差值,则触发点击事件。

第二方面,本发明提供一种在触控终端上对用于响应点击操作的点击事件触发事件触发的装置,包括以下单元:

读取单元,用于先后读取在一次点击操作持续的时间段内的触点坐标和触点坐标个数;

计数单元,用于当在一个时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离全部小于第一阈值,且存在所述距离大于第二阈值时,对第一触点坐标的个数进行累计计数;

触发单元,用于若对第一触点坐标的个数累计计数后得到的累加值小于其与所述触点坐标个数的差值,则触发点击事件。

第三方面,提供一种触控设备,包括:触控屏,控制器、存储器、事件处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行上述程序时实现第一方面所述方法步骤。

本发明提供的一种用于触摸屏上发生点击操作时触发点击事件的方法、装置和触控终端。

与现有技术相比,本发明取得的有益效果包括:

本发明能够以设置小于第一阈值的第二阈值,保证减少点击操作错误地响应为滑动操作,并且当存在第一触点坐标与在其之前读取的第二触点坐标的距离介于第一阈值和第二之间时,克服点击事件和滑动事件都不触发,导致触摸操作为无效操作的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

为了能够更清楚的说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简要地说明,显而易见,下面描述中的附图仅仅是本发明的一些可能实施例,对于本领域普通技术人员来讲,在不付出创造性劳动成果的前提下,还可以根据以下附图得到其他的附图。

图1本发明实施例一提供的一种用于触摸屏上发生点击操作时触发点击事件的方法步骤示意图。

图2本发明实施例一中在电容屏上实施一次单点点击操作生成的触点坐标示意图。

图3为图2中触点坐标被读取的时刻示意图。

图4本发明实施例一中在电容屏上实施一次两点点击操作生成的触点坐标被读取的时刻示意图。

图5本发明实施例一中在电容屏上实施一次单点点击操作生成的触点坐标落在预设区域的示意图。

图6本发明实施例一中用于触摸屏上发生点击操作时触发点击事件的方法具体步骤s12示意图。

图7本发明实施例一中以最先读取的一个第二触点坐标参数设置初始参数组的示意图。

图8本发明实施例一中以最先读取的两个第二触点坐标参数设置两个初始参数组的示意图。

图9本发明实施例一中第一触点坐标和第二触点坐标的区域分布示意图。

图10对图9中第一触点坐标进行累计计数的示意图。

图11本发明实施例一中计时结束时刻及其之前读取的4个触点坐标区域分布示意图。

图12为图11中第一触点坐标与第二触点坐标之间距离示意图。

图13为本发明实施例一中计时结束时刻及其之前读取的5个触点坐标区域分布示意图

图14a为本发明实施例二提供的一种用于触摸屏上发生点击操作时触发点击事件的方法装置示意图。

图14b为图14中计数单元142具体包括的单元示意图。

图15为本发明实施例二提供的一种用于发生点击操作时触发点击事件的方法的触控终端示意图

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明列举出的实施例,本领域普通技术人员在没有做出创造性劳动成果的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例一提供一种在触控终端上对用于表示点击操作的点击事件触发的方法,如图1所示,该方法包括以下具体步骤:

步骤s11:先后读取在一次点击操作持续的时间段内的触点坐标和触点坐标个数。

当触摸屏上发生一次点击操作时,事件处理器调取触摸事件函数及其子函数后,先后读取触点坐标参数,坐标参数包括对应于触摸屏坐标系的x坐标和y坐标,触摸事件的子函数包括点击事件,点击事件包括落下(touchdown)事件和抬起(touchup)事件。

当有触点坐标被最先读取时,触发落下事件且开始计时,对应地,当触点坐标被最后读取时,触发抬起事件且结束计时,计时开始到结束延迟的时距用于表示一次点击操作持续的时间段。

示范性的,以在电容屏上实施一次单点点击操作为例,如图2所示,在电容屏ad上建立包含横轴x和纵轴y的坐标系f,依次生成对应于坐标系f的触点坐标21、22和23,各个触点坐标的横坐标依次为:x1、x2、x3,纵坐标为依次为:y1、y2、y3,对应地,如图3所示,触点坐标21、22和23参数被事件处理器读取的时刻分别为t1、t2和t3,其中,t1时刻开始计时且触发落下事件,直到t3时刻结束计时,计时结束触发抬起事件,计时开始到结束延迟的时距400ms为上述点击操作持续的时间段。

其中,在上述时间段内的每一个时刻读取的触点坐标为第一触点坐标,在第一触点坐标之前读取的触点坐标为第二触点坐标。从计时开始对第一触点坐标累计计数,直至计时结束累计计数后得到的累计值为触点坐标的总个数,该总个数也可以是在计时开始时,从存储装置中读取。

示范性的,以在电容屏上实施一次两点点击操作为例,如图4所示,先后读取一次两点点击操作生成的触点坐标41至45,各个触点坐标对应的读取时刻依次为t1、t2、t3、t4、和t5;当在t1时刻读取触点坐标41时,触点坐标41为第一触点坐标且不存在第二触点坐标;当在t5时刻读取触点坐标45时,触点坐标45为第一触点坐标且第一触点坐标之前读取的触点坐标41至44全部是第二触点坐标。

步骤s12:当在一个时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离全部小于第一阈值,且存在所述距离大于第二阈值时,对第一触点坐标的个数进行累计计数。

根据第一触点坐标及其第二触点坐标参数,计算第一触点坐标与各个第二触点坐标的距离,比较各个距离与第一阈值,以及第二阈值的大小之后,对触点坐标进行累计计数,然后读取下一时刻的第一触点坐标参数,并重复执行累计计数直到计时结束为止。

具体地,预设第一阈值小于第二阈值,以第二阈值为参数表示点击操作滑动的最大边界,以及第一阈值为参数表示滑动操作滑动的最小边界,第一阈值和第二阈值的差值可以减少由于第一阈值作为点击操作滑动的最大边界值时,容易触发用于执行滑动操作的滑动事件,从而使得点击操作误执行为滑动操作的问题。

示范性的,以在电容屏ad上实施一次单点点击操作为例,如图5所示,以最先读取的触点坐标51为圆心,以及第一阈值r1为直径表示点击操作滑动的最大区域,设置第一阈值r1等于8个像素点的间距,且该间距的两倍等于第二阈值r2,以第二阈值r2为直径表示触发滑动事件的最小边界,该最小边界到最大区域的边界为4个像素点的间距,该间距用于减少点击操作误执行为滑动操作。

在上述图1的基础,本发明实施例还公开了步骤s12详细流程示意图,如图6所示,步骤s12具体包括以下步骤:

步骤s121:以最先读取的第一触点坐标参数设置初始参数组;

具体地,根据最先读取的第一触点坐标个数,设置对应的初始参数组数量,并且以各个第一触点坐标的横纵坐标为参数设置初始参数组内的初始值,由于在计时开始时刻之前未读取第二触点坐标,所以设置各个初始参数组内的横坐标差值δx=0,以及纵坐标差值δy=0,将δx=0和δy=0代入公式中,得到等于0的距离,该距离可以用作初始参数组所对应的第一累计值的初始值。

示例一

如图7所示,为电容屏ad坐标系f的局部示意图,先后读取一次单点点击操作生成的触点坐标71至74,其中,触点坐标74为第一触点坐标,在第一触点坐标之前读取且与计时开始时刻对应的触点坐标71(x1,y1)为第二触点坐标,由于最先读取的第二触点坐标仅为一个,所以当读取触点坐标71时,设置一个包含x1和y1参数的初始参数组,并将横坐标差值δx=0,以及纵坐标差值δy=0代入中,得到一个距离为0。

实例二

如图8所示,同时读取一次两点点击操作生成的第一触点坐标81(x1,y1)和82(x2,y2),设置包含x1和y1的第一初始参数组,以及包含x2和y2的第二初始参数组,各个初始参数组中横纵坐标的差值均等于0,将差值0代入上述公式(1)后,得到两个等于0的距离,各个0值分别包含在两个初始参数组内。

步骤s122:判断下一个时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离与第一阈值,以及第二阈值的大小之后,对第一触点坐标的个数进行累计计数。

具体地,在计时开始时刻之后,计算下一时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离,并且比较各个距离与第一阈值大小,以确定第一触点坐标未超出表示滑动操作滑动的最小边界,进而再与第二阈值进行比较,若存在小于第二阈值的距离,则以初始参数组内等于0的距离为累计计数的初始值,对第一触点坐标的个数进行累计计数一次后得到第一累计值。

其中,当计时开始时刻对应的第二触点坐标至少为两个时,分别计算各个最先读取的第二触点坐标与第一触点坐标之间的距离,且比较各个最先读取的第二触点坐标与第一触点坐标之间的距离,以得到各个距离中的最小距离,并在该最小距离对应的初始值0的基础上上,对第一触点坐标的个数进行累计计数。

示范性的,如图9所示,在计时开始时刻之后,读取下一时刻的一个第一触点坐标93(x3,y3),第一触点坐标93落在以与计时开始时刻对应的第二触点坐标91(x1,y1)为圆心,以及第一阈值r1和第二阈值r2为直径表示的两个区域之间,类似地,也落在以第二触点坐标92(x2,y2)为圆心,以及第一阈值r1和第二阈值r2为直径表示的两个区域之间。

如图10所示,以第一触点坐标93与第二触点坐标91的参数差值δx1=x3-x1和δy1=y3-y1,计算得到距离l1,以及与第二触点坐标92的参数差值δx2=x3-x2和δy2=y3-y2,计算得到距离l2,由于距离r1<l1<l2<r2,,所以第一触点坐标93距离第二触点坐标91更近,在第二触点坐标91对应的初始参数组中等于0的距离基础上,对第一触点坐标93的个数累计计数一次,累计后得到的累加值为1。

可选地,对第一触点坐标的个数累计计数后,根据第一触点坐标和最先读取的第二触点坐标之间的距离,计算该距离与第一阈值的第一差值,以及与第二阈值的第二差值;当第二差值不小于第一差值时,对该距离的个数进行累计计数一次后得到第二累计值。

步骤s123:重复执行步骤s122,直至计时结束时刻得到累计计数后的累加值为止。

示范性的,如图11所示,读取与计时结束时刻对应的第一触点坐标114后,第一触点坐标114落在以最先读取的第二触点坐标111为圆心,以及第一阈值r1为直径表示的区域d1内,并且落在以第二阈值r2为直径表示的区域d2外,第二触点坐标112和113落在区域d2内。

如图12所示,第一触点坐标114与第二触点坐标111、112和113之间的距离依次为l1、l2和l3,其中,l3<r2,l1和l2均介于r1和r2之间,第二触点坐标112和113与最先读取的第二触点坐标111之间的距离分别为l4和l5且l4=l5<r2,因此对第一触点坐标114的个数累计计数一次后得到的第一累计值为1。

步骤s13:若对第一触点坐标的个数累计计数后得到的累加值小于其与所述触点坐标个数的差值,则触发点击事件。

计时结束后,根据对第一触点坐标的个数累计计数后得到的累加值,以及其与触点坐标的总个数确定触点坐标的个数差值,该差值用于表示落在以最先读取的触点坐标为圆心,以及第一阈值为直径表示的区域内的触点坐标个数。

若累加值小于差值,则返回表示触发点击事件的布尔值true,否则累加值不小于差值,则返回表示不触发点击事件的布尔值false。

示范性的,如图13所示,先后读取一次单点点击操作生成的触点坐标131至135,其中,对最后读取的一个第一触点坐标135累计计数一次后,得到第一累计值为2,以及2与触点坐标总个数5的差值3,差值3表示第二触点坐标133和134均落在以最先读取的第二触点坐标131为圆心,以及第二阈值r2为直径表示的区域d2内,由于落在区域d3内的第二触点坐标个数3大于落在区域d3外,且落在以最先读取的第二触点坐标131为圆心,以及第一阈值r1为直径表示的区域d1内的第一累计值2,所以返回表示触发点击事件的布尔值true。

可选地,当返回布尔值为true时,查询落在以最先读取的触点坐标为圆心,以及第一阈值和第二阈值为直径表示的两个区域之间的第二触点坐标,第二触点坐标的个数等于第二累计值,确定第二累计值与第一累加值的第三差值。

当该差值大于第二累加值时,返回落在以最先读取的触点坐标为圆心,以及第二阈值为直径表示的区域内的触点坐标,否则该差值不小于第二累加值,返回上述两个区域之间的第二触点坐标,然后将返回的第二触点坐标和触发的点击事件上报给应用层,以在应用层的第二触点坐标对应于触摸屏坐标系的位置处执行点击事件。

需要说明的是,触点坐标总个数可以是直接从存储器中读取,也可以是在步骤s12执行过程中,对包含在小于第二阈值的距离中的触点坐标累计计数,以得到第三累计值,累计计数的具体实时方式已经在步骤s12中详细阐述,此处不再赘述。

与现有技术相比,采用本发明实施例一提供的方法,能够能够克服当存在第一坐标和第二坐标之间的距离介于第一阈值和第二阈值之间时,导致点击事件无法触发,进而导致无法在应用层执行点击事件以响应点击操作的问题。

实施例二

根据实施例一提供的用于方法,本发明实施例二还相应地提供一种定位触摸区域的装置,如下进行详细说明。

如图14所示,一种用于触摸屏上发生点击操作时触发点击事件的装置,包括读取单元141,用于先后读取在一次点击操作持续的时间段内的触点坐标和触点坐标个数;计数单元142,用于当在一个时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离全部小于第一阈值,且存在所述距离大于第二阈值时,对第一触点坐标的个数进行累计计数;触发单元143,用于若对第一触点坐标的个数累计计数后得到的累加值小于其与所述触点坐标个数的差值,则触发点击事件。

如图14b所示,计数单元143具体包括初始值确定单元1431、判断单元1432、第一单元1433和第二计数单元1434:

初始值确定单元1431,用于以最先读取的触点坐标为参数确定第一累加值的初始值为0。

判断单元1432,用于根据第一触点坐标与最先读取的第二触点坐标之间的距离,确定所述距离与第一阈值的第一差值,以及与第二阈值的第二差值。

第一计数单元1433,用于对第一触点坐标的个数进行累计计数。

第二计数单元1433,用于对第一触点坐标和最先读取的第二触点坐标之间的距离进行累计计数;

本发明实施例二提供的用于触摸屏上发生点击操作时触发点击事件的装置,由于设置小于第一阈值的第二阈值,以减少点击操作误执行为滑动操作,当存在触点坐标与在其之前读取的触点坐标之间的距离介于第一阈值和第二阈值之间时,也能够触发点击事件,进而响应点击操作。

关于本发明实施例二提供的触发点击事件的装置的进一步地说明、解释,可以参考实施例一中对点击事件触发的方法的具体描述,该装置和方法的实现原理和有益效果类似,在此不再赘述。

为了方便描述,以功能将触发点击事件的装置划分为各个单元分别描述。当然,在实施本发明时,各单元的功能可以在同一个或多个软件和/或硬件中实现,可集成在一个处理单元,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

实施例三

本实施例提供一种红外触控终端,包括:触控屏,存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,事件处理器执行上述程序时实现实施例一提供的用于触摸屏上发生点击操作时触发点击事件的方法。

示范性的,如图15所示,存储器151和事件处理器152通过控制信号线154连接,并且延伸出通信接口153,其中,存储器151内预先存储计算机程序,该计算机程序经处理器运行后可实现上述实施例一中的用于触摸屏上发生点击操作时触发点击事件的方法。

其中,在存储器151中存储有多个触点坐标,处理器运行时按照触点坐标生成顺序先后调取,用于以最先读取的第一触点坐标参数设置初始参数组,并且计算之后各个时刻读取的第一触点坐标与在其之前读取的第二触点坐标之间的距离,比较该距离与第一阈值,以及第二阈值的大小之后,然后对该距离中介于第一阈值和第二阈值之间的触点坐标个数进行累计计数。

需要说明的是,上述触控终端设备还可以包括用于配合本实施例提供的触发点击事件的装置使用的其他部件,如输入/输出子系统、外围设备接口、控制器和存储装置等,此处对其它具体部件不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可以包括如上述实施例中的流程。其中,所述的存储介质可以为磁盘、光盘、只读存储记忆体或随机存储记忆体等。

以上所述的具体实施方式,对本发明的目的、技术方案、有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,反在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围内。

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