一种数据处理方法和装置的制造方法_2

文档序号:9843880阅读:来源:国知局
当前数据包之后发送的数据包,而被控端执行数据包内的触摸事件的先 后顺序是以触摸事件的实际发送顺序为依据的。因此,如果该目标数据包为发送端在发送 该当前数据包之前发送的数据包,则被控端的驱动层需要先执行该目标数据包的目标触摸 事件,然后才执行该当前触摸事件;而如果该目标数据包为被控端在发送该当前数据包之 后发送的触摸事件,则在该驱动层执行该目标触摸事件之前,该驱动层已经执行了该当前 触摸事件。
[0045] 而当该目标数据包与当前数据包确定后,这两个数据包的生成顺序便是确定的, 即该至少一个目标数据包对应的至少一个目标触摸事件与所述当前触摸事件之间具有指 定的生成顺序,因此可选的,可以基于该指定的生成顺序,处理至少一个目标触摸事件,以 使得被控端处理该至少一个目标触摸事件以及该当前触摸事件的先后顺序与该生成顺序 相同。
[0046] 例如,目标数据包为触摸按压事件,而当前数据包为触摸抬起事件,同时可以确定 出发送端先发出目标数据包,然后发送该当前数据包,则构建出目标数据包对应的触摸按 压事件后,将该触摸按压事件发送到驱动层执行,然后将当前数据包的触摸抬起事件发送 到驱动层执行。
[0047] 本申请实施例中,被控端接收到当前数据包之后,依据当前数据包的包括的当前 触摸事件的第一标识,判断是否丢失该当前数据包关联的至少一个目标数据包,如果存在 目标数据包丢失,则会构建该目标数据包对应的目标触摸事件并执行,从而可以减少由于 包含触摸事件的数据包丢失而导致的控制异常。
[0048] 可以理解的是,当被控端发出的目标数据包与当前数据包的前后顺序不同,被控 端判断是否丢失该当前数据包关联的目标数据包的过程也可能有所不同。
[0049] 下面分别针对不同种确定丢失的目标数据包的方式进行介绍。
[0050] 参见图2,其示出了本申请一种数据处理方法又一个实施例的流程示意图,本实施 例的方法可以包括:
[0051 ] 201,接收控制端发送的当前数据包。
[0052]其中,该当前数据包包括:当前触摸事件以及该当前触摸事件的第一标识。其中, 第一标识用于标识触摸屏上的触摸点。
[0053] 202,当接收到该当前数据包时,获取最近一次接收到的历史数据包。
[0054] 其中,历史数据包包括:历史触摸事件以及该历史触摸事件的第一标识。需要说明 的是,该步骤202中获取的历史数据包为包含的历史触摸事件的第一标识与该当前触摸事 件的第一标识相同的数据包。
[0055] 在本实施例中接收到包含触摸事件的数据包时,则会记录该触摸事件相应的状态 信息,如触摸事件的事件内容(例如,触摸事件为触摸抬起事件)、触摸事件的第一标识。当 然,触摸事件的状态信息还可以包括:触摸事件的触摸位置坐标、触摸事件发生时间等等。
[0056] 203,依据预设的触摸事件序列,检测该历史触摸事件与该当前触摸事件之间是否 丢失至少一个目标触摸事件。
[0057] 其中,该触摸事件序列可以依次包括:触摸按压事件,触摸滑动事件,触摸抬起事 件。当然,也可以设定触摸事件序列可以依次包括:触摸按压事件,触摸抬起事件。
[0058] 可以理解的是,当历史触摸事件与当前触摸事件的第一标识相同时,历史触摸事 件与当前触摸事件的先后顺序应该符合触摸事件序列的序列循环执行次序,即具有相同第 一标识的连续多个触摸事件序列应该为:触摸按压事件、触摸滑动事件(可以有连续多个触 摸滑动事件)、触摸抬起事件、触摸按压事件、触摸滑动事件……这样一个循环序列。其中, 触摸滑动事件为可选的。因此,由该循环序列可以确定历史触摸事件与当前触摸事件之间 的可能情况,如果历史触摸事件与当前触摸事件之间不满足该循环序列,则说明存在数据 包丢失,同时根据该循环序列可以确定丢失了哪一个或几个触摸事件的数据包。
[0059]例如,在控制端的触摸屏上位置点A处的触摸点A的第一标识为point ID0,由触摸 点A所触发事件依次为:触摸按压事件A1、触摸抬起事件A2;在触摸点A抬起后,触摸屏的位 置点B新增触摸点B,且为触摸点B的第一标识也为point ID0,假设由触摸点依次触发的触 摸事件为触摸按压事件B1、触摸移动事件B2。而假设当前时刻被控端接收到控制端发送的 当前数据包中包括触摸移动事件B2,如果被控端最近一次接收到的具有第一标识的历史数 据包为包括该触摸抬起事件A2,而根据触摸事件序列可知,触摸按压事件不可能会出现触 摸移动事件,则说明丢失了该触摸移动事件B2对应的触摸按压事件B1。
[0060] 当然,在实际应用中,按照该触摸事件序列检测该历史触摸事件与该当前触摸事 件之间是否丢失至少一个目标触摸事件的方式可以有多种。
[0061] 可选的,一种检测方式可以为:如果当前触摸事件是触摸按压事件,判断该历史触 摸事件是否为触摸抬起事件,如果否,则确定历史触摸事件与该当前触摸事件之间丢失该 触摸事件序列中的触摸抬起事件,且丢失的触摸抬起事件与历史触摸事件属于同一次触摸 操作;
[0062]如果当前触摸事件不是该触摸按压事件,判断该历史触摸事件是否为所述触摸按 压事件或触摸移动事件,如果否,则确定所述历史触摸事件与所述当前触摸事件之间丢失 所述触摸事件序列中的触摸按压事件,且丢失的触摸按压事件与所述当前触摸事件属于同 一次触摸操作。
[0063]当然,还可以根据触摸事件序列,预先分析出在历史触摸事件和当前触摸事件为 各种可能的触摸事件的情况下,丢失的目标触摸事件的可能情况,然后生成包含历史触摸 事件、当前触摸事件以及丢失的目标触摸事件的对应表,然后通过查询该对照表,便可以确 定该丢失的目标触摸事件。
[0064] 如,可以参看如下表格1:
[0065] l·
[0067] 表 1
[0068] 其中,表1中的(x,y)与(x',y')用于表示两个触摸事件的触摸位置点,其中,(x,y) 与(x',y')可以是两个相同的位置点,也可以是两个不同的位置点。
[0069] DOWN代表触摸按压事件,如,D0WN(x,y)表示在位置点(x,y)处的触摸按压事件; Move表示触摸移动事件;UP表示触摸抬起事件。N/A表示不存在触摸事件丢失。
[0070]例如,以当前触摸事件为触摸按压事件D0WN(x,y),历史触摸事件为D0WN(x',y '), 则通过表1可知,存在触摸抬起事件丢失,且该触摸抬起事件与该历史触摸事件D0WN(x', y')为同一次触摸操作,即丢失在位置点(x',y')处的触摸抬起事件UP(x',y')。
[0071 ] 204,当存在至少一个目标数据包丢失时,构建该至少一个目标数据包对应的至少 一个目标触摸事件。
[0072] 确定出丢失了包含哪个目标触摸事件之后,可以直接构建该目标触摸事件。
[0073] 可选的,在实施例中,当前数据包还包括:当前触摸事件的触摸位置坐标;相应的, 历史数据包还包括:历史触摸事件的触摸位置坐标。这样,当确定出的目标触摸事件仅仅是 确定出丢失的哪种类型的触摸事件时,可以根据该当前触摸事件的触摸坐标位置或该历史 触摸事件的触摸位置坐标,确定该至少一个目标触摸事件的触摸位置坐标。依据至少一个 目标触摸事件的触摸位置坐标,构建至少一个包含有触摸位置坐标的目标触摸事件。
[0074]如,当前触摸事件与该目标触摸事件属于同一次触摸操作,则将该当前触摸事件 的触摸位置坐标作为该目标触摸事件的位置坐标;如果该历史触摸事件与该目标触摸事件 属于同一次触摸操作,则将该历史触摸事件的触摸位置坐标作为该目标触摸事件的位置坐 标。
[0075]当然,在当前触摸事件以及历史触摸事件均包括触摸位置坐标的情况下,在步骤 203中确定出的目标触摸事件具体可以是在目标位置坐标处的目标触摸事件。其中,该目标 位置坐标可以如前面所提到的依据该目标触摸事件与当前触摸事件或历史触摸事件是否 为同一次触摸操作来确定,也可以是按照表1形式确定出的。
[0076] 205,处理该至少一个目标触摸事件,以使得被控端能够识别该标识信息表征的触 摸操作。
[0077] 在本实施例中可以是先将该构建出的目标触摸事件发送到驱动层执行,然后再将 该当前触摸事件发送到驱动层执行。
[0078] 可以理解的是,当历史触摸事件与当前触摸事件不属于不同次触摸事件时,利用 图2实施例的方式则可能无法全部确定出所有丢失的目标触摸事件,这样,仅仅按照实施例 2的方式虽然可以减少控制异常的情况,但是却可能无法提高控制精准度。
[0079]如,参见表1,如果当前触摸事件为MOVE(X,y),而历史触摸事件为MOVE(X',y ')时, 按照表1可以确定不存在历史触摸事件丢失,但是有可能用户在控制端的触摸屏上的位置 点(X,y)进行了触摸滑动之后抬起手指,此时,控制端生成的触摸事件应该为M0VE(x,y)以 及UP(x,y)。而在历史触摸事件M0VE(x', y')之前,用户应该还在触摸屏上进行了触摸按压 操作,如触摸按压事件D0WN(x ',y ')。由于表1中将当前触摸事件与历史触摸事件认为是一 次触摸操作,从而导致无法确定丢失了 UP(x,y)和001以1',7'),这样,被控端就不会重构这 两个事件,从而导致被控端的事件执行过程与用户在控制端的实际输入不符。
[0080] 为了便于理解,可以参见图3所示,在图3中示出了同一和第一标识表示的两次触 摸操作的触摸过程示意图。在该图3中,用户在触摸点A按压后移动然后在触摸点B抬起,完 成一次触摸操作;然后,用户在触摸点C按压开始另一次触摸操作,并继续滑动,并在触摸点 D抬起。由图3可以看出,如果其中的③和④表征的触摸事件丢失时,那么被控端接收到⑤表 征的触摸事件为M0VE(x',y'),而被控端上一次接收到的历史触摸事件应该为②表征的 MOVE(X,y),假如⑤表征的触摸事件为MOVE(X ',y ')与②表征的历史触摸事件MOVE(X,y)为 同一次触摸操作,则不存在丢失触摸抬起事件以及触摸按压事件,而如果⑤表征的触摸事 件为M0VE(x',y')与②表征历史触摸事件M0VE(x,y)是图3所示的两次触摸操作,那么则说 明⑤表征的触摸事件为
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1