嵌入式设备触摸屏手势处理方法与流程

文档序号:11176706阅读:1171来源:国知局
嵌入式设备触摸屏手势处理方法与流程

本发明涉及智能触屏技术领域,尤其是涉及一种嵌入式设备触摸屏手势处理方法。



背景技术:

在搭载电容式触摸屏的硬件设备中,需要捕捉到彩屏的电平变化产生中断来通知系统的手势触摸事件。彩屏仅仅提供触摸的电平变化,只能得到当前手指的坐标,无法得到手势的触摸事件,本发明基于此而研发。



技术实现要素:

本发明克服现有电容式触摸屏中彩屏存在只能获取当前手指坐标、无法得到手势的触摸事件的问题,提出一种嵌入式设备触摸屏手势处理方法,可以使得现有电容式触摸屏兼具坐标获取、手势判断的功能。

本发明的具体技术方案如下:

一种嵌入式设备触摸屏手势处理方法,包括以下步骤:

向事件处理中心注册屏幕监听的触摸屏及触摸屏上控件的中断事件,保存并发送中断事件;

实时监听获取触摸屏上的手势信息;

比较手势信息与事件处理中心发送的中断事件,获取控件的点击事件或触摸屏的滚动事件。

较佳地,注册控件的中断事件方法为:

获取各控件图标的坐标、宽度、高度、id信息,并保持于事件处理中心。

较佳地,触摸屏上的手势信息包括:

(1)、是否有触摸的信息;

(2)、触摸点横坐标;

(3)、触摸点纵坐标。

较佳地,所述触摸屏上的手势信息分别储存于三个寄存器。

较佳地,所述比较手势信息与事件处理中心发送的中断事件的方法为:

上一次监听获取的手势信息与当前手势信息比较:

若上一次有触摸且当前未触摸,而且上一次与当前的坐标信息相同,则表示触发点击事件,比较当前坐标信息与各控件的坐标、宽度、高度信息,获得被点击控件id信息并触发该控件的点击事件;

若上一次有触摸且当前也有触摸,并且两次坐标信息不同,则表示触发触摸屏滚动事件。采用上述技术方案,本发明可以实时感知触摸屏上的任一控件是否被点击,或是否有滚动事件,其最大的创新是可以灵活定义触摸屏的中断事件,可以改变控件的触摸有效范围,从而使控件获得更大的触控区域,而不再局限于图标区域,尤其适合视力不好的用户。另外,本发明中的一些微小的滚动也可以当作点击事件来处理。

附图说明

图1为本发明的原理性流程图;

图2为图1中wait事件的定义图;

图3为本发明中事件处理中心流程图。

具体实施方式

以下结合附图和具体实施例,对发明进行详细说明。

参照图1至图3,本发明提供一种嵌入式设备触摸屏手势处理方法,包括以下步骤:

向事件处理中心注册屏幕监听的触摸屏及触摸屏上控件的中断事件,保存并发送中断事件;

实时监听获取触摸屏上的手势信息;

比较手势信息与事件处理中心发送的中断事件,获取控件的点击事件或触摸屏的滚动事件。

继续参照图1所示,具体说来,先向系统注册屏幕监听中断事件,也就是当手指触摸屏幕的时候,就会引起屏幕电容的变化,系统内核会及时把这个消息传递出来。由于中断的事件特别快,所以这里我们开启一个线程,用来保存和发送这些中断事件,然后另外开启一个死循环用来接收这些事件(参照图2的wait事件所示),当应用层收到这个消息的,就会读取其中3个寄存器的内容,一个寄存器是保存当前屏幕触摸点的个数用touch_pointers_counts(如果值为1就代表有一个触摸点0就代表没有),另外两个是保存对应的x坐标和y坐标(用point_x和point_y表示):

(1)、如果是点击事件,那么对应的判断方法是,将上一次的寄存器数据保存起来,如果当前的touch_pointers_counts=0并且之前的touch_pointers_counts=1,并且这两个坐标是一样的,那么就代表触发了点击事件。那么如何知道当前点击的是哪个控件呢,那就需要去注册这个控件点击事件了(1:坐标2:宽度3:高度4:控件id),当有了这些数据就可以计算出是哪个控件被点击了。

(2)、如果是滚动事件,那么解决方案是如果当前的touch_pointers_counts=1并且之前的touch_pointers_counts=1并且两个坐标有变化,那么就可以判定是滚动事件。具体的滚动方向就是结合这两个坐标的x和y值计算出是左滑还是右滑还是上滑还是下滑。

以下列举依据本发明思想的一具体化实例:

参照图1和图3所示,一块100*100的触摸屏,要在上面做图形化界面。其中有一个位于坐标(x1,y1),宽高为(w,h)的图标,现在我们要监听它的点击事件。

首先先向事件处理中心注册这个点击事件,x=x1、y=y1、width=w、heigh=h,此时处理中心保持此数据到列表里。

当从事件处理中心收到一个点击事件时,会给出当前手指点击坐标,x=x2、y=y2,此时会把该数据和已保持数据进行比较,如果x2>x1&&x2<x1+w&&y2>y1&&y2<y2+h,那么就触发了该控件的点击事件。

针对上述自定义注册控件点击事件,可以灵活定义触摸屏的中断事件,可以改变控件的触摸有效范围,从而使控件获得更大的触控区域,而不再局限于图标区域,尤其适合视力不好的用户。另外,本发明中的一些微小的滚动也可以当作点击事件来处理。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。



技术特征:

技术总结
本发明公开了一种嵌入式设备触摸屏手势处理方法,包括以下步骤:向事件处理中心注册屏幕监听的触摸屏及触摸屏上控件的中断事件,保存并发送中断事件;实时监听获取触摸屏上的手势信息;比较手势信息与事件处理中心发送的中断事件,获取控件的点击事件或触摸屏的滚动事件。本发明可以实时感知触摸屏上的任一控件是否被点击,或是否有滚动事件,其最大的创新是可以灵活定义触摸屏的中断事件,可以改变控件的触摸有效范围,从而使控件获得更大的触控区域,而不再局限于图标区域,尤其适合视力不好的用户。另外,本发明中的一些微小的滚动也可以当作点击事件来处理。

技术研发人员:陈东生
受保护的技术使用者:深圳市福云明网络科技有限公司
技术研发日:2017.06.09
技术公布日:2017.10.03
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1