CN108153454B - 多点触摸切换方法、装置、存储介质及终端设备 - Google Patents
多点触摸切换方法、装置、存储介质及终端设备 Download PDFInfo
- Publication number
- CN108153454B CN108153454B CN201711415448.XA CN201711415448A CN108153454B CN 108153454 B CN108153454 B CN 108153454B CN 201711415448 A CN201711415448 A CN 201711415448A CN 108153454 B CN108153454 B CN 108153454B
- Authority
- CN
- China
- Prior art keywords
- touch
- point
- module
- touch screen
- recording
- 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/044—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/041—Indexing scheme relating to G06F3/041 - G06F3/045
- G06F2203/04104—Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种多点触摸切换方法、装置、存储介质及终端设备,所述方法应用于具有触摸屏的终端设备中,所述触摸屏的芯片内设有多组寄存器,所述方法包括:获取用户设置的多点触摸参数,所述多点触摸参数用于指示支持多点触摸的点数;判断所述多点触摸参数与触摸屏驱动层中的全局变量是否一致,其中,欲读取所述芯片内的寄存器的组数随所述全局变量的值的变化而改变;若不一致,则根据所述多点触摸参数修改所述全局变量。本发明通过改变欲读取芯片内的寄存器的组数,能够提高报点响应时间,不会引起因报点个数降低而导致的滑动不流畅的问题,进而不会影响用户滑动屏幕的使用体验。
Description
技术领域
本发明涉及终端设备技术领域,特别是涉及一种多点触摸切换方法、装置、存储介质及终端设备。
背景技术
随着科技的发展,具有触摸功能的终端设备得到了快速发展和广泛应用,以智能触控手机为例,智能触控手机从传统的电阻式触摸屏已全面发展为电容式触摸屏,电容式触摸屏因其灵敏的触摸体验,受到了用户的青睐。
在实际应用中,手机中许多软件或者游戏都需要多点触摸,因此,为了增强用户使用体验,多点触摸成为了具有电容式触摸屏的终端产品所不可或缺的功能。
根据电容式触摸屏驱动工作的原理,通常是主芯片采用I2C通信去读取触摸屏芯片内部的寄存器信息来获取报点信息。但现有技术中,很多触控芯片,由于芯片本身不支持或者由于方案不够成熟,为了让产品支持多种触摸(例如10点触摸),主芯片必需每次都去读取10组寄存器。但在用户不需要10点触摸的应用场景中,例如单点或两点触摸,此时,主芯片仍然会去读10组寄存器,然后再报给上层,这就造成了CPU资源的浪费,也影响了触摸报点的响应时间,最终会导致滑动不流畅等问题,影响用户滑动屏幕的使用体验。
发明内容
为此,本发明的一个实施例提出一种多点触摸切换方法,解决浪费CPU资源,影响触摸报点响应时间的问题。
根据本发明一实施例的多点触摸切换方法,应用于具有触摸屏的终端设备中,所述触摸屏的芯片内设有多组寄存器,所述方法包括:
获取用户设置的多点触摸参数,所述多点触摸参数用于指示支持多点触摸的点数;
判断所述多点触摸参数与触摸屏驱动层中的全局变量是否一致,其中,欲读取所述芯片内的寄存器的组数随所述全局变量的值的变化而改变;
若不一致,则根据所述多点触摸参数修改所述全局变量。
根据本发明实施例的多点触摸切换方法,在满足多点触摸的前提下,对多点触控的支持特性进行优化处理,能够根据用户的实际需求动态改变支持多点触摸的点数,通过改变欲读取芯片内的寄存器的组数,对于只需要读取部分组数寄存器的应用情况,不会再去读取全部组数的寄存器,从而有效降低内核线程的CPU占用时间,避免CPU资源浪费,由于能够减少寄存器的读取量,因此能够提高报点响应时间,不会引起因报点个数降低而导致的滑动不流畅的问题,进而不会影响用户滑动屏幕的使用体验。
另外,根据本发明上述实施例的多点触摸切换方法,还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述获取用户设置的多点触摸参数的步骤包括:
获取用户在所述终端设备的上层系统中设置的多点触摸参数。
进一步地,在本发明的一个实施例中,所述获取用户设置的多点触摸参数的步骤之前,所述方法还包括:
在所述触摸屏驱动层中创建所述全局变量,使所述全局变量与欲读取所述芯片内的寄存器的组数相关联。
进一步地,在本发明的一个实施例中,所述在所述触摸屏驱动层中创建所述全局变量的步骤之后,所述方法还包括:
为所述全局变量创建文件节点;以及
为所述文件节点赋予系统级别可读写权限。
进一步地,在本发明的一个实施例中,所述根据所述多点触摸参数修改所述全局变量的步骤包括:
访问所述文件节点;
在所述文件节点中根据所述多点触摸参数修改所述全局变量。
进一步地,在本发明的一个实施例中,判断所述多点触摸参数与驱动中的全局变量是否一致的步骤之后,所述方法还包括:
若不一致,则进一步判断所述多点触摸参数是否超出所述芯片支持的最大触摸点数;
若未超出,则根据所述多点触摸参数修改所述全局变量。
进一步地,在本发明的一个实施例中,所述方法还包括:
获取用户在所述触摸屏上产生的输入事件,所述输入事件为在所述触摸屏上产生一个当前触摸点;
当所述当前触摸点在起始位置的停留时间超过预设时间,且同时获取到至少两个输入事件时,向所述终端设备的应用层发送抬起事件,所述抬起事件用于指示所述当前触摸点被释放掉。
进一步地,在本发明的一个实施例中,所述获取用户在所述触摸屏上产生的输入事件的步骤之前,所述方法还包括:
在所述终端设备的上层框架中创建一时间记录进程,所述时间记录进程用于记录每个触摸点在按下状态的保持时间。
进一步地,在本发明的一个实施例中,所述方法还包括:
记录跟踪序列中当前时刻对应的第一触摸点以及该第一触摸点的第一坐标信息,所述跟踪序列用于按照时间顺序记录触摸点的动作状态;
记录所述跟踪序列中下一时刻对应的第二触摸点以及该第二触摸点的第二坐标信息;
当所述第一触摸点未被释放,且所述第一坐标信息和所述第二坐标信息之间的差值超过预设范围时,向所述终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点被释放掉。
进一步地,在本发明的一个实施例中,所述第一坐标信息和所述第二坐标信息之间的差值包括所述触摸屏的X轴方向上的坐标差值和/或所述触摸屏的Y轴方向上的坐标差值。
本发明的另一个实施例提出一种多点触摸切换装置,解决浪费CPU资源,影响触摸报点响应时间的问题。
根据本发明实施例的多点触摸切换装置,应用于具有触摸屏的终端设备中,所述触摸屏的芯片内设有多组寄存器,所述装置包括:
第一获取模块,用于获取用户设置的多点触摸参数,所述多点触摸参数用于指示支持多点触摸的点数;
第一判断模块,用于判断所述多点触摸参数与触摸屏驱动层中的全局变量是否一致,其中,欲读取所述芯片内的寄存器的组数随所述全局变量的值的变化而改变;
修改模块,用于当所述第一判断模块判断到不一致时,根据所述多点触摸参数修改所述全局变量。
另外,根据本发明上述实施例的多点触摸切换装置,还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述第一获取模块具体用于:
获取用户在所述终端设备的上层系统中设置的多点触摸参数。
进一步地,在本发明的一个实施例中,所述装置还包括:
第一创建模块,用于在所述触摸屏驱动层中创建所述全局变量,使所述全局变量与欲读取所述芯片内的寄存器的组数相关联。
进一步地,在本发明的一个实施例中,所述装置还包括:
第二创建模块,用于为所述全局变量创建文件节点;以及为所述文件节点赋予系统级别可读写权限。
进一步地,在本发明的一个实施例中,所述修改模块包括:
访问单元,用于访问所述文件节点;
修改单元,用于在所述文件节点中根据所述多点触摸参数修改所述全局变量。
进一步地,在本发明的一个实施例中,所述装置还包括:
第二判断模块,用于当所述第一判断模块判断到不一致时,进一步判断所述多点触摸参数是否超出所述芯片支持的最大触摸点数;
所述修改模块用于当所述第二判断模块判断到未超出时,根据所述多点触摸参数修改所述全局变量。
进一步地,在本发明的一个实施例中,所述装置还包括:
第二获取模块,用于获取用户在所述触摸屏上产生的输入事件,所述输入事件为在所述触摸屏上产生一个当前触摸点;
第一发送模块,用于当所述当前触摸点在起始位置的停留时间超过预设时间,且同时获取到至少两个输入事件时,向所述终端设备的应用层发送抬起事件,所述抬起事件用于指示所述当前触摸点被释放掉。
进一步地,在本发明的一个实施例中,所述装置还包括:
第三创建模块,用于在所述终端设备的上层框架中创建一时间记录进程,所述时间记录进程用于记录每个触摸点在按下状态的保持时间。
进一步地,在本发明的一个实施例中,所述装置还包括:
第一记录模块,用于记录跟踪序列中当前时刻对应的第一触摸点以及该第一触摸点的第一坐标信息,所述跟踪序列用于按照时间顺序记录触摸点的动作状态;
第二记录模块,用于记录所述跟踪序列中下一时刻对应的第二触摸点以及该第二触摸点的第二坐标信息;
第二发送模块,用于当所述第一触摸点未被释放,且所述第一坐标信息和所述第二坐标信息之间的差值超过预设范围时,向所述终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点被释放掉。
进一步地,在本发明的一个实施例中,所述第一坐标信息和所述第二坐标信息之间的差值包括所述触摸屏的X轴方向上的坐标差值和/或所述触摸屏的Y轴方向上的坐标差值。
本发明的另一个实施例还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的另一个实施例还提出一种终端设备,包括触摸屏、存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
本发明实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明第一实施例的多点触摸切换方法的流程图;
图2是根据本发明第二实施例的多点触摸切换方法的流程图;
图3是根据本发明第三实施例的多点触摸切换方法的流程图;
图4是根据本发明第四实施例的多点触摸切换装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明第一实施例提出的多点触摸切换方法,应用于具有触摸屏的终端设备中,所述触摸屏的芯片内设有多组寄存器,所述方法包括:
S101,获取用户设置的多点触摸参数,所述多点触摸参数用于指示支持多点触摸的点数;
其中,本实施例提供的方法的执行侧为终端设备的主芯片,这里终端设备的触摸屏主要是指电容式触摸屏,触摸屏具有自己的芯片,触摸屏的芯片内设有组寄存器。
主芯片可以采用I2C通信去读取触摸屏的芯片内部的寄存器信息来获取报点信息。一个触摸点(或称一个报点)通常需要7到8个寄存器来存放其具体内容。
下面以一个触摸点需要7寄存器来存放其具体内容为例进行说明,7个寄存器组成一组寄存器,也即一组寄存器表示一个触摸点信息。这7个寄存器用来存放的触摸点的信息包括(在十六进制的存储形式的前提下):1.X方向坐标低八位;2.X方向坐标高八位;3.Y方向坐标低八位;4.Y方向坐标高八位;5.该点Size(具体指该触摸点的面积)低八位;6.该点Size高八位;7.跟踪ID号、状态是按下还是抬起等信息。如果要实现5点触摸,那么就需要5组寄存器,也即需要5*7个寄存器去存放5个触摸点的信息。以此类推,如果要实现10点触摸,那么就需要10组寄存器,也即需要10*7个寄存器去存放10个触摸点的信息。
本实施例中,主芯片可以获取用户设置的多点触摸参数,这里,多点触摸参数用于指示支持多点触摸的点数,例如3点触摸、5点触摸等。具体实施时,用户可以在终端设备的上层系统中进行设置,主芯片能够获取用户在上层系统中设置的多点触摸参数。上层系统可以提供一个交互界面供用户选择,例如A.3点,B.5点,C.10点,用户选择B,即代表要设置成5点触摸。
S102,判断所述多点触摸参数与触摸屏驱动层中的全局变量是否一致,其中,欲读取所述芯片内的寄存器的组数随所述全局变量的值的变化而改变;
其中,在实际实施时,可以预先在触摸屏驱动层中创建一个全局变量(max_point),使该全局变量与欲读取触摸屏的芯片内的寄存器的组数相关联,全局变量能够影响主芯片要读取的触摸屏芯片内寄存器的组数,也即欲读取所述芯片内的寄存器的组数会随着全局变量的值的变化而改变。具体的,在所述触摸屏驱动层中创建该全局变量的步骤之后,为该全局变量创建文件节点,比如文件节点的具体路径如下:sys/class/touchscreen/xxx/max_point(xxx代表具体的芯片名称);以及为该文件节点赋予系统级别可读写权限,以便能够进行修改。该全局变量中预先存储一个值,也即预先设定一个主芯片实际读取寄存器的组数,一般来讲,厂商为了满足用户多点触摸需求,通常将该值设定为10组,也即不管用户是否需要10点触摸,哪怕用户只进行单点触摸,主芯片也会读取10组寄存器的信息。
S103,若不一致,则根据所述多点触摸参数修改所述全局变量。
其中,在步骤S101时获取到用户在上层系统设置的多点触摸参数后,会判断用户设置的多点触摸参数与全局变量的值是否一致。本实施例中,由于用户选择的B,即用户根据实际应用场景需要,只需要设置成5点触摸,不需要更多点数的触摸功能。而全局变量的值是10组,也即当前主芯片实际读取寄存器的组数是10组,此时,多点触摸参数与触摸屏驱动层中的全局变量不一致,则会根据用户设置的多点触摸参数修改该全局变量,即将全局变量的值修改为5组,从而使主芯片欲读取触摸屏芯片内的寄存器的组数为5组,改变了能支持的最大报点数,修改完成后,主芯片就只会读取5组寄存器的信息。需要指出的是,根据触摸屏的工作原理,当触摸屏上有持续触摸或触摸状态发生变化时(比如滑动),就会给主芯片上报中断信号,主芯片捕获到后,才会去读取触摸屏芯片的寄存器,具体实施时,当每次有必要去从触摸屏采集报点信息时,都会去读相应组数的寄存器,本实施例中,由于全局变量的值被修改为5组,因此会去读取5组寄存器。具体实施时,根据所述多点触摸参数修改所述全局变量的步骤可以包括:
访问所述文件节点,即访问/sys/class/touchscreen/xxx/max_point;
在所述文件节点中根据所述多点触摸参数修改所述全局变量,即在触摸屏驱动中修改全局变量max_point,使全局变量与用户设置的多点触摸参数一致。
根据本发明实施例的多点触摸切换方法,在满足多点触摸的前提下,对多点触控的支持特性进行优化处理,能够根据用户的实际需求动态改变支持多点触摸的点数,通过改变欲读取芯片内的寄存器的组数,对于只需要读取部分组数寄存器的应用情况,不会再去读取全部组数的寄存器,可以只循环读取前几组寄存器,从而有效降低内核线程的CPU占用时间,避免CPU资源浪费,由于能够减少寄存器的读取量,因此能够提高报点响应时间,不会引起因报点个数降低而导致的滑动不流畅的问题,进而不会影响用户滑动屏幕的使用体验。
此外,作为一个具体示例,如终端设备中,该全局变量中预先存储的值为3组,也即主芯片实际读取寄存器的组数是3组,而用户在步骤S101中,设置的多点触摸参数为5点触摸,则主芯片同样会根据用户的设置在触摸屏驱动中修改全局变量max_point,使全局变量与用户设置的多点触摸参数一致。
进一步的,作为一个具体示例,在步骤S102,判断所述多点触摸参数与驱动中的全局变量是否一致的步骤之后,本实施例提供的方法还包括:
若不一致,则进一步判断所述多点触摸参数是否超出所述芯片支持的最大触摸点数;
若未超出,则根据所述多点触摸参数修改所述全局变量。
其中,由于触摸屏芯片都有自己能够支持的最大触摸点数,例如最大支持8点触摸,若步骤S101中用户设置的触摸点书超出了触摸屏芯片能够支持的最大触摸点数,例如用户设置的10点触摸,则无法根据用户的设置对全局变量进行修改,也即只有在触摸屏芯片能够支持的最大触摸点数的范围内,才能够对全局变量进行修改。
请参阅图2,本发明第二实施例提出的多点触摸切换方法,其作为第一实施例的进一步完善,主要用于解决残点现象,具体是在第一实施例中完成了根据多点触摸参数修改全局变量这一步骤之后,本实施例提供的方法具体包括:
S201,获取用户在所述触摸屏上产生的输入事件,所述输入事件为在所述触摸屏上产生一个当前触摸点;
需要指出的是,残点现象是具有触摸屏的终端设备的异常现象。例如当只支持3点触摸时,可能偶尔存在残点问题。下面举例说明:在实施例1中提到,有寄存器去表示当前触摸点是Up状态(抬起状态,即用户的手指离开触摸屏)还是Down状态(按下状态,即用户在触摸屏按下以产生触摸点)或者Move状态(移动状态,即触摸点从触摸屏的一处移动到另一处),当触摸屏有3个点(3个点分别为A、B、C)先后按下(每按下一个点,就会有一组寄存器去存放相应的报点信息,A对应第一组寄存器,B对应第二组寄存器,以此类推),然后,再有第四点D按下,紧接着,第三点C抬起,此时,就可能会导致第三组寄存器去存放D点的报点信息,然后如果第五点E按下后,同时第四点D抬起,由于E点占用了第三组寄存器来表示报点信息(按下状态),那很可能原先D点的报点信息就没有了,所以D点被抬起的动作就不会通知给上层应用,造成从上层应用来看,该点D一直处于按下状态,没有释放掉,即产生了残点。
本实施例中,会预先在终端设备的上层框架(如Framework层)中创建一时间记录进程,所述时间记录进程用于记录每个触摸点在按下状态的保持时间。然后会获取用户在触摸屏上产生的输入事件,该输入事件为在触摸屏上产生一个当前触摸点。
需要指出的是,终端设备的上层框架Framework层中可以存在一个输入子系统模块,需要指出的是,对于linux内核的Android系统,其原本在Framework层就存在该输入子系统模块,通过该模块,能够完成从Linux输入设备到上层应用层之间的触摸点的读取、触摸点相关信息的分类计算和向上分发等。其中报点,会被不断更新状态,标记成不同Action(动作)状态:Down(按下状态)、Up(抬起状态)、Move(移动状态)。当某个报点只是按下抬起,则先后状态分别是Down、Up。在其他一些系统中,可以相应地在应用层中或者其他层中设置完成上述功能的子系统模块。
通过上述的时间记录进程,能够记录每个点的按下时间,该时间记录进程只记录触摸点在Down状态下的维持时间,也即触摸点在起始位置的停留时间,若触摸点发生了移动,则触摸点的Action变为MOVE,就不再对该触摸点进行时间记录。
S202,当所述当前触摸点在起始位置的停留时间超过预设时间,且同时获取到至少两个输入事件时,向所述终端设备的应用层发送抬起事件,所述抬起事件用于指示所述当前触摸点被释放掉。
其中,预设时间例如是15秒,若根据时间记录进程记录的结果,发现当前触摸点在起始位置的停留时间超过了15秒,就表明当前触摸点在这15秒内一直未动。需要说明的是,这里一直未动,指的是的当前触摸点的坐标信息在15秒内未发生变化。由于触摸屏(尤其是电容式触摸屏)的灵敏度比较高,若没有残点,哪怕用户的手指一直停留在触摸屏的某个位置,该触摸点的坐标信息其实也会发生轻微变化。因此,若当前触摸点的坐标信息在15秒内未发生变化,说明该当前触摸点有可能是残点。本实施例中,还需要同时获取到至少两个输入事件时,也即此时在触摸屏上,除了当前触摸点,至少还有第二个触摸点,该第二个触摸点可以与当前触摸点在相同的位置。获取到至少两个输入事件,代表此时用户正在操作屏幕,此时,判定当前触摸点为残点,则所述触摸屏的应用层发送抬起事件,所述抬起事件用于指示所述当前触摸点被释放掉,将当前触摸点的状态变更为UP,从而将当前触摸点释放掉,最终消除残点。
本实施例提供的方法,能够对残点进行判定以及消除,且该方法将当前触摸点在起始位置的停留时间,以及同时获取到至少两个输入事件共同作为判定调节,去判定残点的产生,能够有效降低误消除有效报点的概率,从而提升用户的使用体验。
请参阅图3,本发明第三实施例提出的多点触摸切换方法,其作为第一实施例的进一步完善,本实施例也用于解决残点现象,具体是在第一实施例中完成了根据多点触摸参数修改全局变量这一步骤之后,本实施例提供的方法具体包括:
S301,记录跟踪序列中当前时刻对应的第一触摸点以及该第一触摸点的第一坐标信息,所述跟踪序列用于按照时间顺序记录触摸点的动作状态;
其中,终端设备的上层框架Framework层中同样可以存在一个输入子系统模块,需要指出的是,对于linux内核的Android系统,其原本在Framework层就存在该输入子系统模块,通过该模块,能够完成从Linux输入设备到上层应用层之间的触摸点的读取、触摸点相关信息的分类计算和向上分发等。其中报点,会被不断更新状态,标记成不同Action(动作)状态:Down(按下状态)、Up(抬起状态)、Move(移动状态)。当某个报点只是按下抬起,则先后状态分别是Down、Up。一个触摸点在不同时刻可能具有不同的状态,这些状态按照时间先后顺序组成一个跟踪序列。
残点是由于多点触摸时,新触摸点占用了旧触摸点对应的寄存器,用旧触摸点对应的寄存器去新触摸点的报点信息,导致新触摸点占用了旧触摸点的跟踪序列,使旧触摸点的抬起动作就不会通知给上层应用,因此,当认为属于同一跟踪ID的前后时刻报点距离(即两个触摸点在触摸屏上的相对距离)大于一定值时,就认为上一时刻的那个点其实是被跟踪丢失的残点。下面以一实例进行说明。
跟踪序列 | ID 0 | ID 1 | ID 2 | 可能被跟丢的点 |
第一时刻 | A0 | B0 | C0 | |
第二时刻 | A1 | B1 | C1 | |
第三时刻 | D | B2 | C2 | A1 |
第四时刻 | E | B3 | C3 | D |
上表中,列举了3个跟踪序列(ID 0、ID 1、ID 2)在四个连续时刻下的报点。以ID 0为例,记录ID 0中第二时刻对应的第一触摸点(即A1)以及该第一触摸点的第一坐标信息。需要指出的是,本实施例是以其中一个跟踪序列ID 0为例进行说明,具体实施时,会对所有跟踪序列都进行相关处理。
S302,记录所述跟踪序列中下一时刻对应的第二触摸点以及该第二触摸点的第二坐标信息;
其中,记录记录ID 0中第三时刻对应的第二触摸点(即D)以及该第二触摸点的第二坐标信息。
S303,当所述第一触摸点未被释放,且所述第一坐标信息和所述第二坐标信息之间的差值超过预设范围时,向所述终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点被释放掉。
其中,预设范围例如是10像素。需要指出的是,这里第一坐标信息和第二坐标信息之间的差值包括触摸屏的X轴方向上的坐标差值和/或触摸屏的Y轴方向上的坐标差值,即判断两个坐标信息相比,报点的X和/或Y方向坐标差值的绝对值是否10个像素,若大于10个像素,表明两个触摸点的距离相距较远。
若第一触摸点A1未被释放(具体可以通过获取其状态以判断是否被释放),且第一触摸点A1的第一坐标信息和第二触摸点D的第二坐标信息之间的差值超过该预设范围,则表明第一触摸点A1被跟踪丢失,属于残点,此时,会向终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点A1被释放掉,将第一触摸点A1的状态变更为UP,从而将第一触摸点A1释放掉,最终消除残点。
本实施例提供的方法,可以作为解决残点消除的一种可选方式,扩展了消除残点的解决方法,增加了方案的可实施性,能够提升用户使用体验。
需要说明是,本实施例重点说明的是与上一实施例的不同之处,各个实施例之间相同相似的部分未重复描述,可以相互参见,且各实施例之间的技术特征可以根据本领域技术人员的常规技术手段进行选择性组合。
请参阅图4,基于同一发明构思,本发明第四实施例提出的多点触摸切换装置101,应用于具有触摸屏的终端设备中,所述触摸屏的芯片内设有多组寄存器,所述装置包括:
第一获取模块10,用于获取用户设置的多点触摸参数,所述多点触摸参数用于指示支持多点触摸的点数;
第一判断模块20,用于判断所述多点触摸参数与触摸屏驱动层中的全局变量是否一致,其中,欲读取所述芯片内的寄存器的组数随所述全局变量的值的变化而改变;
修改模块30,用于当所述第一判断模块20判断到不一致时,根据所述多点触摸参数修改所述全局变量。
其中,所述第一获取模块10具体用于:
获取用户在所述终端设备的上层系统中设置的多点触摸参数。
其中,所述装置还包括:
第一创建模块40,用于在所述触摸屏驱动层中创建所述全局变量,使所述全局变量与欲读取所述芯片内的寄存器的组数相关联。
本实施例中,所述装置还包括:
第二创建模块50,用于为所述全局变量创建文件节点;以及为所述文件节点赋予系统级别可读写权限。
本实施例中,所述修改模块30包括:
访问单元301,用于访问所述文件节点;
修改单元302,用于在所述文件节点中根据所述多点触摸参数修改所述全局变量。
本实施例中,所述装置还包括:
第二判断模块60,用于当所述第一判断模块判断到不一致时,进一步判断所述多点触摸参数是否超出所述芯片支持的最大触摸点数;
所述修改模块30用于当所述第二判断模块60判断到未超出时,根据所述多点触摸参数修改所述全局变量。
本实施例中,所述装置还包括:
第二获取模块70,用于获取用户在所述触摸屏上产生的输入事件,所述输入事件为在所述触摸屏上产生一个当前触摸点;
第一发送模块80,用于当所述当前触摸点在起始位置的停留时间超过预设时间,且同时获取到至少两个输入事件时,向所述终端设备的应用层发送抬起事件,所述抬起事件用于指示所述当前触摸点被释放掉。
本实施例中,所述装置还包括:
第三创建模块90,用于在所述终端设备的上层框架中创建一时间记录进程,所述时间记录进程用于记录每个触摸点在按下状态的保持时间。
本实施例中,所述装置还包括:
第一记录模块100,用于记录跟踪序列中当前时刻对应的第一触摸点以及该第一触摸点的第一坐标信息,所述跟踪序列用于按照时间顺序记录触摸点的动作状态;
第二记录模块110,用于记录所述跟踪序列中下一时刻对应的第二触摸点以及该第二触摸点的第二坐标信息;
第二发送模块120,用于当所述第一触摸点未被释放,且所述第一坐标信息和所述第二坐标信息之间的差值超过预设范围时,向所述终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点被释放掉。
本实施例中,所述第一坐标信息和所述第二坐标信息之间的差值包括所述触摸屏的X轴方向上的坐标差值和/或所述触摸屏的Y轴方向上的坐标差值。
本发明实施例提出的多点触摸切换装置的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。
此外,本发明的实施例还提出一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
此外,本发明的实施例还提出一种终端设备,包括触摸屏、存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (22)
1.一种多点触摸切换方法,应用于具有触摸屏的终端设备中,所述触摸屏的芯片内设有多组寄存器,其特征在于,所述方法包括:
获取用户设置的多点触摸参数,所述多点触摸参数用于指示支持多点触摸的点数;
判断所述多点触摸参数与触摸屏驱动层中的全局变量是否一致,其中,欲读取所述芯片内的寄存器的组数随所述全局变量的值的变化而改变;
若不一致,则根据所述多点触摸参数修改所述全局变量。
2.根据权利要求1所述的多点触摸切换方法,其特征在于,所述获取用户设置的多点触摸参数的步骤包括:
获取用户在所述终端设备的上层系统中设置的多点触摸参数。
3.根据权利要求1所述的多点触摸切换方法,其特征在于,所述获取用户设置的多点触摸参数的步骤之前,所述方法还包括:
在所述触摸屏驱动层中创建所述全局变量,使所述全局变量与欲读取所述芯片内的寄存器的组数相关联。
4.根据权利要求3所述的多点触摸切换方法,其特征在于,所述在所述触摸屏驱动层中创建所述全局变量的步骤之后,所述方法还包括:
为所述全局变量创建文件节点;以及
为所述文件节点赋予系统级别可读写权限。
5.根据权利要求4所述的多点触摸切换方法,其特征在于,所述根据所述多点触摸参数修改所述全局变量的步骤包括:
访问所述文件节点;
在所述文件节点中根据所述多点触摸参数修改所述全局变量。
6.根据权利要求1所述的多点触摸切换方法,其特征在于,所述方法还包括:
获取用户在所述触摸屏上产生的输入事件,所述输入事件为在所述触摸屏上产生一个当前触摸点;
当所述当前触摸点在起始位置的停留时间超过预设时间,且同时获取到至少两个输入事件时,向所述终端设备的应用层发送抬起事件,所述抬起事件用于指示所述当前触摸点被释放掉。
7.根据权利要求1所述的多点触摸切换方法,其特征在于,所述方法还包括:
记录跟踪序列中当前时刻对应的第一触摸点以及该第一触摸点的第一坐标信息,所述跟踪序列用于按照时间顺序记录触摸点的动作状态;
记录所述跟踪序列中下一时刻对应的第二触摸点以及该第二触摸点的第二坐标信息;
当所述第一触摸点未被释放,且所述第一坐标信息和所述第二坐标信息之间的差值超过预设范围时,向所述终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点被释放掉。
8.根据权利要求7所述的多点触摸切换方法,其特征在于,所述获取用户在所述触摸屏上产生的输入事件的步骤之前,所述方法还包括:
在所述终端设备的上层框架中创建一时间记录进程,所述时间记录进程用于记录每个触摸点在按下状态的保持时间。
9.根据权利要求1所述的多点触摸切换方法,其特征在于,所述方法还包括:
记录跟踪序列中当前时刻对应的第一触摸点以及该第一触摸点的第一坐标信息,所述跟踪序列用于按照时间顺序记录触摸点的动作状态;
记录所述跟踪序列中下一时刻对应的第二触摸点以及该第二触摸点的第二坐标信息;
当所述第一触摸点未被释放,且所述第一坐标信息和所述第二坐标信息之间的差值超过预设范围时,向所述终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点被释放掉。
10.根据权利要求9所述的多点触摸切换方法,其特征在于,所述第一坐标信息和所述第二坐标信息之间的差值包括所述触摸屏的X轴方向上的坐标差值和/或所述触摸屏的Y轴方向上的坐标差值。
11.一种多点触摸切换装置,应用于具有触摸屏的终端设备中,所述触摸屏的芯片内设有多组寄存器,其特征在于,所述装置包括:
第一获取模块,用于获取用户设置的多点触摸参数,所述多点触摸参数用于指示支持多点触摸的点数;
第一判断模块,用于判断所述多点触摸参数与触摸屏驱动层中的全局变量是否一致,其中,欲读取所述芯片内的寄存器的组数随所述全局变量的值的变化而改变;
修改模块,用于当所述第一判断模块判断到不一致时,根据所述多点触摸参数修改所述全局变量。
12.根据权利要求11所述的多点触摸切换装置,其特征在于,所述第一获取模块具体用于:
获取用户在所述终端设备的上层系统中设置的多点触摸参数。
13.根据权利要求11所述的多点触摸切换装置,其特征在于,所述装置还包括:
第一创建模块,用于在所述触摸屏驱动层中创建所述全局变量,使所述全局变量与欲读取所述芯片内的寄存器的组数相关联。
14.根据权利要求13所述的多点触摸切换装置,其特征在于,所述装置还包括:
第二创建模块,用于为所述全局变量创建文件节点;以及为所述文件节点赋予系统级别可读写权限。
15.根据权利要求14所述的多点触摸切换装置,其特征在于,所述修改模块包括:
访问单元,用于访问所述文件节点;
修改单元,用于在所述文件节点中根据所述多点触摸参数修改所述全局变量。
16.根据权利要求11所述的多点触摸切换装置,其特征在于,所述装置还包括:
第二判断模块,用于当所述第一判断模块判断到不一致时,进一步判断所述多点触摸参数是否超出所述芯片支持的最大触摸点数;
所述修改模块用于当所述第二判断模块判断到未超出时,根据所述多点触摸参数修改所述全局变量。
17.根据权利要求11所述的多点触摸切换装置,其特征在于,所述装置还包括:
第二获取模块,用于获取用户在所述触摸屏上产生的输入事件,所述输入事件为在所述触摸屏上产生一个当前触摸点;
第一发送模块,用于当所述当前触摸点在起始位置的停留时间超过预设时间,且同时获取到至少两个输入事件时,向所述终端设备的应用层发送抬起事件,所述抬起事件用于指示所述当前触摸点被释放掉。
18.根据权利要求17所述的多点触摸切换装置,其特征在于,所述装置还包括:
第三创建模块,用于在所述终端设备的上层框架中创建一时间记录进程,所述时间记录进程用于记录每个触摸点在按下状态的保持时间。
19.根据权利要求11所述的多点触摸切换装置,其特征在于,所述装置还包括:
第一记录模块,用于记录跟踪序列中当前时刻对应的第一触摸点以及该第一触摸点的第一坐标信息,所述跟踪序列用于按照时间顺序记录触摸点的动作状态;
第二记录模块,用于记录所述跟踪序列中下一时刻对应的第二触摸点以及该第二触摸点的第二坐标信息;
第二发送模块,用于当所述第一触摸点未被释放,且所述第一坐标信息和所述第二坐标信息之间的差值超过预设范围时,向所述终端设备的应用层发送第一抬起事件,所述第一抬起事件用于指示所述第一触摸点被释放掉。
20.根据权利要求19所述的多点触摸切换装置,其特征在于,所述第一坐标信息和所述第二坐标信息之间的差值包括所述触摸屏的X轴方向上的坐标差值和/或所述触摸屏的Y轴方向上的坐标差值。
21.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10任意一项所述的方法。
22.一种终端设备,包括触摸屏、存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711415448.XA CN108153454B (zh) | 2017-12-22 | 2017-12-22 | 多点触摸切换方法、装置、存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711415448.XA CN108153454B (zh) | 2017-12-22 | 2017-12-22 | 多点触摸切换方法、装置、存储介质及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153454A CN108153454A (zh) | 2018-06-12 |
CN108153454B true CN108153454B (zh) | 2021-03-30 |
Family
ID=62465376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711415448.XA Active CN108153454B (zh) | 2017-12-22 | 2017-12-22 | 多点触摸切换方法、装置、存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153454B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947287A (zh) * | 2019-02-20 | 2019-06-28 | 广州华欣电子科技有限公司 | 一种触摸数据缺失的处理方法、装置、设备及存储介质 |
CN110688052B (zh) * | 2019-09-26 | 2021-06-08 | 广州视源电子科技股份有限公司 | 人机交互设备枚举处理方法、装置及人机交互设备 |
CN113325966A (zh) * | 2020-02-28 | 2021-08-31 | 北京小米移动软件有限公司 | 报点处理方法、报点处理装置及存储介质 |
CN115629678B (zh) * | 2022-12-01 | 2023-03-31 | 南京翼辉信息技术有限公司 | 一种触摸信息的处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090122626A (ko) * | 2008-05-26 | 2009-12-01 | 이준호 | 터치패널상에 접촉되는 다중포인트의 좌표값을 저장하기위한 방법 |
CN103098012A (zh) * | 2010-09-15 | 2013-05-08 | 高端硅公司 | 用于检测多点触控设备上任意数量触摸的方法 |
CN203455803U (zh) * | 2013-09-26 | 2014-02-26 | 北京京东方光电科技有限公司 | 触控显示装置 |
-
2017
- 2017-12-22 CN CN201711415448.XA patent/CN108153454B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090122626A (ko) * | 2008-05-26 | 2009-12-01 | 이준호 | 터치패널상에 접촉되는 다중포인트의 좌표값을 저장하기위한 방법 |
CN103098012A (zh) * | 2010-09-15 | 2013-05-08 | 高端硅公司 | 用于检测多点触控设备上任意数量触摸的方法 |
CN203455803U (zh) * | 2013-09-26 | 2014-02-26 | 北京京东方光电科技有限公司 | 触控显示装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108153454A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153454B (zh) | 多点触摸切换方法、装置、存储介质及终端设备 | |
CN105740078B (zh) | 一种内存管理方法、装置及终端 | |
CN108121485A (zh) | 一种图标整理方法、终端及计算机可读存储介质 | |
CN107317853B (zh) | 消息弹窗动效展示方法、装置及系统 | |
CN104850415A (zh) | 页面加载方法和装置 | |
CN102981711A (zh) | 一种在触摸屏上移动应用图标的方法和系统 | |
CN104516673A (zh) | 一种图标显示方法、设备和移动终端 | |
CN105094669A (zh) | 浏览器多标签页的切换方法及装置 | |
CN104216639A (zh) | 一种终端操作方法 | |
CN106354378A (zh) | 一种快速选中多个目标的方法和装置 | |
CN107562262B (zh) | 一种响应触控操作的方法、终端及计算机可读存储介质 | |
CN106598508A (zh) | 一种固态硬盘及其写入仲裁方法、系统 | |
CN110471700B (zh) | 图形处理方法、装置、存储介质及电子设备 | |
CN103914227B (zh) | 信息处理方法和电子设备 | |
CN105204714A (zh) | 一种切换应用界面的方法以及终端 | |
CN113407254B (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN107992361B (zh) | 后台应用的清理方法、装置、存储介质及电子设备 | |
CN107291564B (zh) | 信息复制粘贴方法、装置和电子设备 | |
CN105653131A (zh) | 一种查找应用程序的方法及终端 | |
CN112560403A (zh) | 文本的处理方法及装置、电子设备 | |
CN113792237B (zh) | 卡片式布局的优化方法、装置、存储介质及处理器 | |
CN103870228A (zh) | 计算机的双显设置系统及方法 | |
CN104216563A (zh) | 一种终端 | |
CN107229472A (zh) | 一种界面切换方法及装置、计算机装置和可读存储介质 | |
CN107562260A (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 |