基于中标麒麟操作系统的多点触控方法及系统[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201710967058.7
(22)申请日 2017.10.17
(71)申请人 中国船舶重工集团公司第七0九研
究所
地址 430000 湖北省武汉市东湖新技术开
发区凤凰产业园藏龙北路1号
(72)发明人 李宝良 杨升春 高海波 
(74)专利代理机构 武汉河山金堂专利事务所
(普通合伙) 42212
代理人 胡清堂 汪彩彩
(51)Int.Cl.
G06F  3/041(2006.01)
G06F  9/451(2018.01)
G06F  9/54(2006.01)
(54)发明名称
基于中标麒麟操作系统的多点触控方法及
系统
(57)摘要
本发明公开一种基于中标麒麟操作系统的
多点触控方法及系统,
其首先在中标麒麟操作系统的内核中编入多点触控驱动模块,用于接收触
控屏的原始数据,并根据原始数据生成事件队列
文件;之后在Qt应用平台图形用户接口模块中的
内心代码中集成事件队列文件解析模块和多点
事件解析传递模块,用于在操作系统用户层完成
对事件队列文件数据的解析,并在操作系统用户
层完成多点事件的判断以及向上传递功能;从而
能够使应用开发者不用关心底层开发平台以及
驱动层的变动,只需使用Qt的多点触控相关用户
图形接口进行直接开发,在中标麒麟操作系统下
实现了多点触控功能,同时减小了多点触控应用
程序开发难度,而且提高了多点触控应用程序的
移植性。权利要求书3页  说明书6页  附图8页CN 107728841 A 2018.02.23
C N  107728841
A
1.一种基于中标麒麟操作系统的多点触控方法,其特征在于,所述基于中标麒麟操作系统的多点触控方法包括如下步骤:
S1、在中标麒麟操作系统的内核中编入多点触控驱动模块,用于接收触控屏的原始数据,并根据原始数据生成事件队列文件;
S2、在Qt应用平台图形用户接口模块中的内心代码中集成事件队列文件解析模块,用于在操作系统用户层完成对事件队列文件数据的解析;
S3、在Qt应用平台图形用户接口模块中的内心代码中集成多点事件解析传递模块,用于在操作系统用户层完成多点事件的判断以及向上传递功能。
2.根据权利要求1所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述步骤S1包括以下分步骤:
S11、在系统内核中完成驱动模块的注册以及相关初始化工作;
S12、在多点触控设备连接主机时完成设备的发现以及相关的挂接操作;
S13、接收缓存多点触控设备传送过来的原始数据,并采用链表实现乒乓方式或者FIFO 方式的数据缓存;
S14、解析缓存中的原始数据,向事件队列文件中写入多点触控事件数据。
3.根据权利要求1所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述步骤S2包括以下分步骤:
S21、完成多点事件信息缓存以及系统相关参数的初始化;
S22、在当前系统下遍历事件队列文件,识别多点触控事件队列文件,对识别的多点触控事件队列文件定义槽关联和信号;
S23、在多点触控事件队列文件有数据更新时,槽函数被Qt平台调用完成多点触控数据的解析。
4.根据权利要求1所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述步骤S3包括以下分步骤:
S31、对触点相关参数进行解算;
S32、完成触点状态的判断;
S33、向上层应用发送当前帧的多点事件信息。
5.根据权利要求4所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述步骤S32包括以下分步骤:
S321、初始化触点缓存队列;
S322、在缓存队列中遍历触点的跟踪识别号;
S323、在缓存队列里面没有遍历得到该识别号时,将新的触点信息加入触点缓存队列,并将触点状态定为按下,触点信息更新标志符置位;
S324、在缓存队列里面没有遍历得到该识别号时,比较触点坐标是否与原先坐标相同,如果不同,将触
点状态定为移动,更新坐标信息,触点信息更新标志符置位;如果相同,将触点状态定为静止,触点信息更新标志符置位;
S325、在判断为按下状态判时或触点动态判断完成后,接收同步信号,如果接收到触点信息同步事件,则重新遍历缓存队列中触点的跟踪识别号,如果接收到触点帧同步事件,则检测触点信息更新标志符,如果发现有未置位的触点,将该触点状态定为离开;
S326、将所有当前的触点坐标以及状态等信息转递至Qt上层,将所有离开状态的触点从触点缓存队列中删除,并将所有的触点信息更新标志符复位,然后重新遍历缓存队列中触点的跟踪识别号。
6.一种基于中标麒麟操作系统的多点触控系统,其特征在于,所述基于中标麒麟操作系统的多点触控系统包括多点触控驱动模块、事件队列文件解析模块以及多点事件解析传递模块;
所述多点触控驱动模块编入在中标麒麟操作系统的内核中,用于接收触控屏的原始数据,并根据原始数据生成事件队列文件;
所述事件队列文件解析模块集成在Qt应用平台图形用户接口模块中的内心代码中,用于在操作系统用户层完成对事件队列文件数据的解析;
所述多点事件解析传递模块集成在Qt应用平台图形用户接口模块中的内心代码中,用于在操作系统用户
层完成多点事件的判断以及向上传递功能。
7.根据权利要求6所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述多点触控驱动模块包括以下功能单元:
驱动模块注册单元,用于在系统内核中完成驱动模块的注册以及相关初始化工作;
挂接操作单元,用于在多点触控设备连接主机时完成设备的发现以及相关的挂接操作;
数据缓存单元,用于接收缓存多点触控设备传送过来的原始数据,并采用链表实现乒乓方式或者FIFO方式的数据缓存。
事件队列文件生成单元,用于解析缓存中的原始数据,向事件队列文件中写入多点触控事件数据。
8.根据权利要求6所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述事件队列文件解析模块包括以下功能单元:
初始化单元,用于完成多点事件信息缓存以及系统相关参数的初始化;
多点识别单元,用于在当前系统下遍历事件队列文件,识别多点触控事件队列文件,对识别的多点触控事件队列文件定义槽关联和信号;
数据解析单元,用于在多点触控事件队列文件有数据更新时,槽函数被Qt平台调用完成多点触控数据的解析。
9.根据权利要求6所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述多点事件解析传递模块包括以下功能单元:
参数解算单元,用于对触点相关参数进行解算;
状态判断单元,用于完成触点状态的判断;
数据传送单元,用于向上层应用发送当前帧的多点事件信息。
10.根据权利要求9所述基于中标麒麟操作系统的多点触控方法,其特征在于,所述状态判断单元包括以下功能子单元:
队列初始化子单元,用于初始化触点缓存队列;
遍历触点子单元,用于在缓存队列中遍历触点的跟踪识别号;
按下状态判断子单元,用于在缓存队列里面没有遍历得到该识别号时,将新的触点信息加入触点缓存队列,并将触点状态定为按下,触点信息更新标志符置位;
触点动态判断子单元,用于在缓存队列里面没有遍历得到该识别号时,比较触点坐标是否与原先坐标相同,如果不同,将触点状态定为移动,更新坐标信息,触点信息更新标志符置位;如果相同,将触点状态定为静止,触点信息更新标志符置位;
离开状态判断子单元,用于在判断为按下状态判时或触点动态判断完成后,接收同步信号,如果接收到触点信息同步事件,则重新遍历缓存队列中触点的跟踪识别号,如果接收到触点帧同步事件,则检测触点信息更新标志符,如果发现有未置位的触点,将该触点状态定为离开。
基于中标麒麟操作系统的多点触控方法及系统技术领域
[0001]本发明涉及一种多点触摸屏应用开发技术,具体涉及一种基于中标麒麟操作系统的多点触控方法。
背景技术
[0002]多点触控一种全新的人机交互手段,允许计算机用户同时通过多个手指或者触点来控制计算机,给用户提供一种自然便捷的方式直接与信息内容进行交互。目前市场上已经出现了多种多点触控输入设备(电容触摸屏,电阻触摸屏,红外触摸屏,光学触摸屏等);也有部分新版本的操作系统如苹果的iOS系统、微软的Windows  8,谷歌的Android操作系统对多点触控功能提供支持,并向应用开发者提供了多点触控的API。
[0003]然而,在中标麒麟操作系统下,目前无法实现多点触控功能。主要原因有如下几点:首先,中标麒麟操作系统的内核中,输入子系统模块存在多点触控事件类型,但是由于内核没有集成针对多点触控设备的万能驱动,因此系统初始状态无法多点触控设备;第二,中标麒麟操作系统的图形操作环境不支持多点触控功能,因此,即使触控设备成功驱动产生多点触控事件队列文件,窗口系统也无法提供多点触控的操作;第三,目前有跨操作系统平台的应用开发环境,例如QT等,无法解析多点触控的事件队列文件,因此无法向上层传递多点触控事件信息,从而使得包含多点触控的应用程序在中标麒麟平台上无法接收到相关事件信息实现多点触控功能。因为以上原因,中标麒麟操作系统的计算机平台无法实现多点触摸的窗口操作,极大限制了计算技术国产化的发展。
[0004]爱国者电子科技(天津)有限公司申请的专利“一种可识别触摸事件的计算机设备及其识别方法(专利申请号:201010606623.5)”中,提出了一种可识别触摸事件的计算机设备,设备包括处理单元,显示单元,存储模块和触摸面板。主要涉及触摸硬件系统结构的设计,并不涉及多点触控设备驱动适配,也不涉及面向上层应用的多点触控API。专利“一种红外多点触摸屏的驱动方法”(专利申请号:201210179460.6)中提出了一种红外多点触摸屏设备的设计方案,主要侧重于红外多点触摸屏设备的结构设计原理以及触摸点定位算法,也没有涉及多点触控设备的驱动开发和面向应用的多点触控API封装。
[0005]综上所述,有必要提供一种综合利用上述资源,在中标麒麟操作系统下既能支持多点触控功能,
又能向应用开发者提供多点触控API的方法。
发明内容
[0006]有鉴于此,有必要提供一种能够减小多点触控应用程序开发难度,同时能够提高多点触控应用程序的移植性的基于中标麒麟操作系统的多点触控方法及系统。
[0007]本发明提供一种基于中标麒麟操作系统的多点触控方法,所述基于中标麒麟操作系统的多点触控方法包括如下步骤:
[0008]S1、在中标麒麟操作系统的内核中编入多点触控驱动模块,用于接收触控屏的原始数据,并根据原始数据生成事件队列文件;
说 明 书
1/6页CN 107728841 A

本文发布于:2024-09-21 00:47:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/416909.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:触控   触点   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议