触摸控制方法及装置、存储介质、终端设备与流程

文档序号:16528140发布日期:2019-01-05 10:30阅读:132来源:国知局
触摸控制方法及装置、存储介质、终端设备与流程

本发明涉及触摸屏领域,尤其涉及一种触摸控制方法及装置、存储介质、终端设备。



背景技术:

随着多媒体信息查询的与日俱增,人们越来越多地谈到触摸屏,因为触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然的而且又适用于中国多媒体信息查询国情的输入设备,触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。利用这种技术,用户只要用手指轻轻地指碰计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术极大方便了那些不懂电脑操作的用户,这种人机交互方式赋予了多媒体以崭新的。

而多触摸屏技术的出现无疑进一步改善了用户的操作体验,现有多点触摸屏的技术主要以电容式触摸屏原理为基础进行设计的,显示屏能够接受两个或更多接触点的分析判断,以此完成更加复杂的程序操作,比如两个手指同时作用放大或缩小图片,还可浏览网页,随时定点放大,使用手机访问互联网不再费劲。

如图1所示,根据安卓系统架构,触摸设备1和触摸设备2分别与驱动层连接,通过触摸设备1和触摸设备2的触摸数据直接传入usb控制中心,再由控制中心直接传递至多点触摸接口,再由多点触摸接口直接向上层的framework层和应用层上报。如图2所示,当系统在上报触摸设备1的触摸数据的过程中,若在某一时刻检测到来源触摸设备2的down事件时,两个触摸设备的触摸数据同时上报数据,除了会导致时序冲突,使得其中一个触摸设备在概率性的时间内无法显示绘制轨迹,且在触摸设备1所有触摸点up的时候,触摸设备2的状态在android上层同样受影响,导致触摸设备2后续的数据发生了异常.



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种触摸控制方法及装置、存储介质、终端设备,能有效解决现有多个触摸设备同时上报触摸数据而导致时序冲突现象,确保同一时刻只有一种触摸设备往上层报数据。

为了解决上述技术问题,本发明实施例提供了一种适用于n个触摸设备,n≥2,包括以下步骤:

当任意时刻检测到对其中一触摸设备的down事件时,判断当前时刻是否存在其他触摸设备在上报触摸数据;

若判断当前时刻存在其他触摸设备在上报触摸数据,获取所述其他触摸设备和当前触摸设备的响应优先级;其中,所述当前触摸设备为当前时刻检测到down事件的触摸设备;

当所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,则继续上报所述其他触摸设备的触摸数据直到检测到对所述其他触摸设备的up事件,并丢弃预设的第一时间段内所述当前触摸设备的触摸数据;其中,所述第一时间段为检测到所述当前触摸设备的down事件的时刻和检测到所述其他触摸设备的up事件的时刻之间的时间间隔;

若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,为当前触摸设备补down事件,并开始上报所述当前触摸设备的触摸数据。

作为上述方案的改进,所述方法还包括步骤:

当所述其他触摸设备的响应优先级小于所述当前触摸设备的响应优先级时,则停止上报所述其他触摸设备的触摸数据,为所述其他触摸设备补up事件,并开始上报所述当前触摸设备的触摸数据直到检测到对所述当前触摸设备的up事件。

作为上述方案的改进,所述若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,为当前触摸设备补down事件,并开始上报所述当前触摸设备的触摸数据包括:

若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,判断所述补down事件列表中的触摸设备的数量是否等于1;

若所述补down事件列表中的触摸设备的数量等于1,则为所述当前触摸设备补down事件,开始上报所述当前触摸设备的触摸数据,为并将所述当前触摸设备在所述补down事件列表中删除。

作为上述方案的改进,所述方法还包括步骤:

若所述补down事件列表中的触摸设备的数量大于1时,根据所述补down事件列表中所述触摸设备的响应优先级,对所述触摸设备进行排序生成响应序列;

根据所述响应序列,从所述响应序列中的第一个触摸设备开始,依次上报每一触摸设备的触摸数据。

作为上述方案的改进,还包括步骤:

当任意时刻同时检测到对多个触摸设备的down事件时,将所述多个触摸设备添加至所述补down事件列表中,根据所述补down事件列表中所述触摸设备的响应优先级,对所述触摸设备进行排序生成响应序列;

根据所述响应序列,从所述响应序列中的第一个触摸设备开始,依次上报每一触摸设备的触摸数据。

作为上述方案的改进,所述从所述响应序列中的第一个触摸设备开始,依次上报每一触摸设备的触摸数据包括:

开始上报所述第一个触摸设备的触摸数据直到检测到所述第一个触摸设备的up事件;

当任意时刻检测所述第一个触摸设备的up事件时,为所述响应列表中的下一个触摸设备补down事件,并将所述第一个触摸设备在所述补down事件列表中删除;

响应于任意时刻对所述响应序列中其中一触摸设备的down事件,开始上报所述触摸设备的触摸数据直到检测到所述触摸设备的up事件,将所述触摸设备从所述响应序列中删除,并丢弃预设的第二时间段内所述响应序列中的剩余触摸设备的触摸数据;其中,所述第二时间段为检测到所述触摸设备的down事件的时刻和检测到所述触摸设备的up事件的时刻之间的时间间隔;

当任意时刻检测所述触摸设备的up事件时,为所述响应列表中的下一个触摸设备补down事件,并将所述当前触摸设备在所述补down事件列表中删除。

本发明还得对应提供了一种触摸控制装置,适用于n个触摸设备,n≥2,包括:

第一判断模块,用于当任意时刻检测到对其中一触摸设备的down事件时,判断当前时刻是否存在其他触摸设备在上报触摸数据;

响应优先级获取模块,用于判断当前时刻存在其他触摸设备在上报触摸数据,获取所述其他触摸设备和当前触摸设备的响应优先级;其中,所述当前触摸设备为当前时刻检测到down事件的触摸设备;

数据丢弃模块,用于当所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,则继续上报所述其他触摸设备的触摸数据直到检测到对所述其他触摸设备的up事件,并丢弃预设的第一时间段内所述当前触摸设备的触摸数据;其中,所述第一时间段为检测到所述当前触摸设备的down事件的时刻和检测到所述其他触摸设备的up事件的时刻之间的时间间隔;

down事件补充模块,用于若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,为当前触摸设备补down事件,并开始上报所述当前触摸设备的触摸数据。

作为上述方案的改进,所述装置还包括:

up事件补充模块,用于当所述其他触摸设备的响应优先级小于所述当前触摸设备的响应优先级时,则停止上报所述其他触摸设备的触摸数据,为所述其他触摸设备补up事件,并开始上报所述当前触摸设备的触摸数据直到检测到对所述当前触摸设备的up事件。

本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述任一项所述的触摸控制方法。

本发明实施例还提供了一种终端设备,包括一个或多个处理器、存储器以及一个或多个程序,其中:

所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序包括用于执行上述任一项所述的触摸控制方法。

与现有技术相比,本发明实施例提供的触摸控制方法及装置、存储介质、终端设备,通过任意时刻检测到对其中一触摸设备的down事件时,若判断当前时刻存在其他触摸设备在上报触摸数据时,且所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,则继续上报所述其他触摸设备的触摸数据直到检测到对所述其他触摸设备的up事件,并丢弃预设的第一时间段内所述当前触摸设备的触摸数据,而当所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,为所述当前触摸设备补down事件,可避免多个触摸设备同时上报触摸数据而导致时序冲突现象,确保同一时刻只有一种触摸设备往上层报数据,可在不改动原有android原始框架情况下,解决多种触摸设备同时工作导致触摸异常问题。

附图说明

图1是现有技术中多触摸设备的数据上报示意图;

图2是现有技术提供的现有技术中多触摸设备的数据流示意图;

图3是本发明实施例1提供的一种触摸控制方法的流程图;

图4是本发明实施例1中多触摸设备的数据流示意图;

图5是本发明实施例2提供的一种触摸控制方法的流程图;

图6是本发明实施例2中多触摸设备的数据流示意图;

图7是本发明中多触摸设备的的数据上报示意图;

图8是本发明实施例3提供的一种触摸控制方法的流程图;

图9是本发明实施例3依次上报每一触摸设备的触摸数据的流程图;

图10是本发明实施例4提供的一种触摸控制装置的结构框图。

具体实施方式

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

参见图2所示,图2是本发明实施例1提供的一种触摸控制方法的方法流程图,所述触摸控制方法适用于n个触摸设备,n≥2,包括以下步骤:

s101、当任意时刻检测到对其中一触摸设备的down事件时,判断当前时刻是否存在其他触摸设备在上报触摸数据;

需要说明的是,对于触摸设备而言,每个触摸点,均有对应的down事件和up事件,其中,

down事件:手指或者笔,接触到触摸屏(包括红外屏、电容屏、电磁屏等),由未接触到已接触的一瞬间所产生的事件,即为down事件;

up事件:对应的,手指或者笔,接触到触摸屏(包括红外屏、电容屏、电磁屏等)由已接触到离开触摸屏的一瞬间产生的事件,即为up事件。

对于安卓系统而言,每个触摸设备对存在对应的down事件和up事件,其中,down事件是指对于某一触摸设备由未接触到已接触的一瞬间所产生的事件;二up事件是指对于某一触摸设备由已接触到离开触摸屏的一瞬间产生的事件。本方案涉及到多触摸屏的数据上报问题,适用于对于上述对于安卓系统的情况。

当任意时刻检测到对其中一触摸设备的down事件时,且判断当前时刻不存在其他触摸设备在上报触摸数据,可直接相应改触摸设备的down事件,开始上报该触摸设备的触摸数据。

s102、若判断当前时刻存在其他触摸设备在上报触摸数据,获取所述其他触摸设备和当前触摸设备的响应优先级;其中,所述当前触摸设备为当前时刻检测到down事件的触摸设备;

其中,步骤s102中的响应优先级由用户或系统预先设置,可通过触摸设备类型、大小和型号等进行设置。当某一触摸设备的响应优先级更高时,需优先处理该触摸设备的触摸数据;当某一触摸设备的响应优先级更低时,需优先处理其他响应优先级更高的触摸设备的触摸数据。

s103、当所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,则继续上报所述其他触摸设备的触摸数据直到检测到对所述其他触摸设备的up事件,并丢弃预设的第一时间段内所述当前触摸设备的触摸数据;其中,所述第一时间段为检测到所述当前触摸设备的down事件的时刻和检测到所述其他触摸设备的up事件的时刻之间的时间间隔;

s104、若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,为当前触摸设备补down事件,并开始上报所述当前触摸设备的触摸数据。

下面以n=2为例对上述过程进行详细说明。如图4所示,当系统在上报触摸设备1的触摸数据的过程中,若任意时刻检测到来源触摸设备2的down事件时,首先判断触摸设备1和触摸设备2的响应优先级。若触摸设备1的响应优先级大于触摸设备2的响应优先级,则在触摸设备1还没有up之前,先屏蔽触摸设备2的数据,如图4中虚线所示。例如,假设触摸设备1是红外触摸屏,触摸设备2是电磁触摸屏,在红外触摸屏的手势擦除过程中,在某一时刻感应到电磁触摸屏上电磁笔的书写操作,由于红外触摸屏的响应优先级大于电磁触摸屏的响应优先级,因此需等待红外触摸屏的擦除动作完成,才能显示电磁触摸屏上的书写笔迹。

在另一优选实施例中,如图5所示,在实施例1的基础上,所述触摸控制方法还包括步骤:

s105、当所述其他触摸设备的响应优先级小于所述当前触摸设备的响应优先级时,则停止上报所述其他触摸设备的触摸数据,为所述其他触摸设备补up事件,并开始上报所述当前触摸设备的触摸数据直到检测到对所述当前触摸设备的up事件。

下面以n=2为例对上述过程进行详细说明。如图6所示,当系统在上报触摸设备1的触摸数据的过程中,若任意时刻检测到来源触摸设备2的down事件时,首先判断触摸设备1和触摸设备2的响应优先级。若触摸设备1的响应优先级小于触摸设备2的响应优先级,则需要把触摸设备1补up事件,开始响应触摸设备2的触摸操作,且在触摸设备2工作过程中,将触摸设备1的触摸数据丢弃。例如,上述例子中,假设触摸设备1是红外触摸屏,触摸设备2是电磁触摸屏,在红外触摸屏的手势擦除过程中,在某一时刻感应到电磁触摸屏上电磁笔的书写操作,由于电磁触摸屏的响应优先级大于红外触摸屏的响应优先级,因此为红外触摸屏补up事件,停止响应红外触摸屏的擦除操作,开始在电磁触摸屏上显示电磁笔的书写笔迹。

如图7所示,驱动层usb控制中心和多点触摸接口之间加入了时序处理线程,该时序处理线程采用上述的触摸控制方法对触摸设备1和触摸设备2的触摸数据的上传顺序进行调整,避免出现两个触摸设备同时上报数据导致时序冲突,确保同一时刻只有一种触摸设备的触摸数据可以往上层上报。如图4所示,当触摸设备1的所有触摸点up之后,可正常响应触摸设备2的触摸操作,不会影响触摸设备2在android上层的状态,满足android框架下多触摸设备的兼容性问题。

参见图8,为本发明实施例3提供的一种触摸控制方法的流程图

s201、当任意时刻检测到对其中一触摸设备的down事件时,判断当前时刻是否存在其他触摸设备在上报触摸数据;

s202、若判断当前时刻存在其他触摸设备在上报触摸数据,获取所述其他触摸设备和当前触摸设备的响应优先级;其中,所述当前触摸设备为当前时刻检测到down事件的触摸设备;

s203、当所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,则继续上报所述其他触摸设备的触摸数据直到检测到对所述其他触摸设备的up事件,并丢弃预设的第一时间段内所述当前触摸设备的触摸数据;其中,所述第一时间段为检测到所述当前触摸设备的down事件的时刻和检测到所述其他触摸设备的up事件的时刻之间的时间间隔;

s204、当所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,将所述当前触摸设备添加至补down事件列表中;

s205、若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,判断所述补down事件列表中的触摸设备的数量是否等于1;

s206、若所述补down事件列表中的触摸设备的数量等于1,则为所述当前触摸设备补down事件,开始上报所述当前触摸设备的触摸数据,为并将所述当前触摸设备在所述补down事件列表中删除。

也就是说,只有在所述补down事件列表中的触摸设备的数量等于1的情况下,才无需确定先为那个触摸设备补down事件,仅需响应剩余的一个触摸设备的触摸数据。上述可存在两种情况,一种为n=2的情况,另一种为在补down事件列表中的触摸设备已经提前up了,这种情况也会将其在所述补down事件列表中删除。

而另外的一种情况是,若若所述补down事件列表中的触摸设备的数量大于1时,根据所述补down事件列表中所述触摸设备的响应优先级,对所述触摸设备进行排序生成响应序列;根据所述响应序列,从所述响应序列中的第一个触摸设备开始,依次上报每一触摸设备的触摸数据。

优选地,如图9所示,可采用以下方式依次上报每一触摸设备的触摸数据:

s301、开始上报所述第一个触摸设备的触摸数据直到检测到所述第一个触摸设备的up事件;

s302、当任意时刻检测所述第一个触摸设备的up事件时,为所述响应列表中的下一个触摸设备补down事件,并将所述第一个触摸设备在所述补down事件列表中删除;

s303、响应于任意时刻对所述响应序列中其中一触摸设备的down事件,开始上报所述触摸设备的触摸数据直到检测到所述触摸设备的up事件,将所述触摸设备从所述响应序列中删除,并丢弃预设的第二时间段内所述响应序列中的剩余触摸设备的触摸数据;其中,所述第二时间段为检测到所述触摸设备的down事件的时刻和检测到所述触摸设备的up事件的时刻之间的时间间隔;

s304、当任意时刻检测所述触摸设备的up事件时,为所述响应列表中的下一个触摸设备补down事件,并将所述当前触摸设备在所述补down事件列表中删除。

此外,还存在一种情况为同一时刻检测到多个触摸设备的down事件,可将所述多个触摸设备添加至所述补down事件列表中,根据所述补down事件列表中所述触摸设备的响应优先级,对所述多个触摸设备进行排序生成响应序列,然后根据所述响应序列,从所述响应序列中的第一个触摸设备开始,依次上报每一触摸设备的触摸数据。优选地,可采用如图9所示的方法依次上报每一触摸设备的触摸数据。

参见图10为本发明实施例4提供的触摸控制装置,适用于n个触摸设备,n≥2,包括:

第一判断模块11,用于当任意时刻检测到对其中一触摸设备的down事件时,判断当前时刻是否存在其他触摸设备在上报触摸数据;

响应优先级获取模块12,用于判断当前时刻存在其他触摸设备在上报触摸数据,获取所述其他触摸设备和当前触摸设备的响应优先级;其中,所述当前触摸设备为当前时刻检测到down事件的触摸设备;

数据丢弃模块13,用于当所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,则继续上报所述其他触摸设备的触摸数据直到检测到对所述其他触摸设备的up事件,并丢弃预设的第一时间段内所述当前触摸设备的触摸数据;其中,所述第一时间段为检测到所述当前触摸设备的down事件的时刻和检测到所述其他触摸设备的up事件的时刻之间的时间间隔;

down事件补充模块14,用于若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,为当前触摸设备补down事件,并开始上报所述当前触摸设备的触摸数据。

优选地,所述装置还包括up事件补充模块,用于当所述其他触摸设备的响应优先级小于所述当前触摸设备的响应优先级时,则停止上报所述其他触摸设备的触摸数据,为所述其他触摸设备补up事件,并开始上报所述当前触摸设备的触摸数据直到检测到对所述当前触摸设备的up事件。

优选地,所述装置还包括补down事件列表添加模块,用于当所述其他触摸设备的响应优先级大于所述当前触摸设备的响应优先级时,将所述当前触摸设备添加至补down事件列表中。

所述down事件补充模块14包括第二判断模块和补down事件列表删除模块,其中,所述第二判断模块用于若所述其他触摸设备的优先级大于所述当前触摸设备,则当任意时刻检测到对其他触摸设备的up事件时,判断所述补down事件列表中的触摸设备的数量是否等于1;补down事件列表删除模块用于若所述补down事件列表中的触摸设备的数量等于1,则为所述当前触摸设备补down事件,开始上报所述当前触摸设备的触摸数据,为并将所述当前触摸设备在所述补down事件列表中删除。

优选地,所属装置还包括第一响应序列生成模块和第一上报模块,其中,所述第一响应序列生成模块用于若所述补down事件列表中的触摸设备的数量大于1时,根据所述补down事件列表中所述触摸设备的响应优先级,对所述触摸设备进行排序生成响应序列;第一上报模块用于根据所述响应序列,从所述响应序列中的第一个触摸设备开始,依次上报每一触摸设备的触摸数据。

优选地,所述装置还包括第二响应序列生成模块和第二上报模块,其中,所述第二响应序列生成模块用于当任意时刻同时检测到对多个触摸设备的down事件时,将所述多个触摸设备添加至所述补down事件列表中,根据所述补down事件列表中所述触摸设备的响应优先级,对所述触摸设备进行排序生成响应序列;所述第二上报模块用于根据所述响应序列,从所述响应序列中的第一个触摸设备开始,依次上报每一触摸设备的触摸数据。

优选地,可采用以下方式依次上报每一触摸设备的触摸数据:

开始上报所述第一个触摸设备的触摸数据直到检测到所述第一个触摸设备的up事件;

当任意时刻检测所述第一个触摸设备的up事件时,为所述响应列表中的下一个触摸设备补down事件,并将所述第一个触摸设备在所述补down事件列表中删除;

响应于任意时刻对所述响应序列中其中一触摸设备的down事件,开始上报所述触摸设备的触摸数据直到检测到所述触摸设备的up事件,将所述触摸设备从所述响应序列中删除,并丢弃预设的第二时间段内所述响应序列中的剩余触摸设备的触摸数据;其中,所述第二时间段为检测到所述触摸设备的down事件的时刻和检测到所述触摸设备的up事件的时刻之间的时间间隔;

当任意时刻检测所述触摸设备的up事件时,为所述响应列表中的下一个触摸设备补down事件,并将所述当前触摸设备在所述补down事件列表中删除。

本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述任一项所述的触摸控制方法

本发明实施例还提供了一种终端设备,包括一个或多个处理器、存储器以及一个或多个程序,其中:

所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序包括用于执行上述任一项所述的触摸控制方法。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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