一种使用QT图形开发平台在ARM下的多点触摸实现方法技术

技术编号:8322992 阅读:633 留言:0更新日期:2013-02-13 23:15
本发明专利技术公开一种使用QT图形开发平台在ARM下的多点触摸实现方法,使用QT图形开发平台在ARM下的多点触摸实现方法,本发明专利技术修改QT开源代码编译,使其在QT上GUI开发能够支持多点。本发明专利技术能够实现在使用QT图形开发平台在ARM下实现多点触摸的用户操作界面,可使用户更加方便、简单、友好的用户界面,通过多点触摸可以很灵活的实现图片动态放大、图片移动等多点手势操作。

【技术实现步骤摘要】

本专利技术公开一种多点触摸实现方法,特别是一种使用QT图形开发平台在ARM下的多点触摸实现方法
技术介绍
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发⑶I程式,也可用于开发非⑶I程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成 为诺基亚旗下的编程语言工具。目前,QT的ARM版本是无法支持多点触摸手势并只能支持鼠标单点事件,给使用者和开发者造成很多不便。
技术实现思路
针对上述提到的现有技术中的QT图形开发平台不支持多点触摸的缺点,本专利技术提供一种新的使用QT图形开发平台在ARM下的多点触摸实现方法,本专利技术修改QT开源代码编译,使其在QT上⑶I开发能够支持多点。本专利技术解决其技术问题采用的技术方案是一种使用QT图形开发平台在ARM下的多点触摸实现方法,该方法包括下述步骤 (O移植触摸屏接口层tslib模块; (2)改进tslib模块实现多点上报; (3)改进QT图形开发平台定义多点触摸。本专利技术解决其技术问题采用的技术方案进一步还包括 所述的移植触摸屏接口层tslib模块包括下述步骤 (1)先安装ARM的交叉编译器,然后配置tslib模块的编译为ARM的编译,并配置安装的路径; (2)第二步编译和安装tslib模块,编译之后的动态库、校正程序、测试程序、ts.conf文件会安装在第一步配置的路径下; (3)第三步配置tslib的环境变量包括图形framebuffer设备、触摸操作设备、TSLIB配置文件、tslib校正文件; (4)第四步为QT移植配置时应与tslib库关联一起。所述的多点上报的流程包括下述步骤 (1)上报单点X坐标值; (2)上报单点Y坐标值; (3)上报压力值; (4)值O表不第一点; (5)上报第一点的X坐标值; (6)上报第一点的Y坐标值;(7)上报第一点的压力值; (8)判断是否与SYN_REPORT相同; (9)值I表示第二点; (10)上报第一点的X坐标值; (11)上报第一点的Y坐标值; (12)上报第一点的压力值; (13)依次重复步骤4-8; (14)判断是否与SYN_REPORT相同; (15)所有点抬起上报。所述的改进QT图形开发平台包括下述步骤 (1)、通过tslib接口获取采样点; (2)、判断是否有采样点,如果没有则结束;如果有,则 (3)、初始化采样点坐标; (4)、判断是否为多点触摸(本实施例中,判断Slot是否大于0),如果不是则将一点时间坐标、按下状态发送至上层;如果是,则 (5)、通过采样点X、Y压力值初始化TouchPoint; (6)、通过压力值判断是否有按下,如果没有,则State状态置为TouchPointRelease;如果有,则 (7)判断是否刚按下,如果是,则State状态置为TouchPointPressed,然后转至步骤9;如果不是,则 (8)判断跟上次坐标点是否未移动,如果是,则State状态置为TouchPointStationary,然后转至步骤9 ;如果不是则State状态置为TouchPointMoved,然后转至步骤9 ; (9)通过函数qt_translateRawTouchEvent 发送 touchpoint 至上层。所述的函数qt_translateRawTouchEvent发送touchpoint至上层包括下述步骤 (1)获取应用的activeWindow窗口; (2)判断TouchPoint容器是否有数据,如果没有,则结束;如果有,则 (3)从touchpoint容器中获取point值; (4)根据point值的情况选择发送内容; (5)通过激活窗口发送touch消息至⑶I用户层。本专利技术的有益效果是本专利技术能够实现在使用QT图形开发平台在ARM下实现多点触摸的用户操作界面,可使用户更加方便、简单、友好的用户界面,通过多点触摸可以很灵活的实现图片动态放大、图片移动等多点手势操作。下面将结合附图和具体实施方式对本专利技术做进一步说明。附图说明图I为本专利技术系统流程图。图2为本专利技术中多点触摸上报的流程图。图3为本专利技术中ts_input_read函数多点上报流程图。图4为本专利技术中改进后的函数流程图。图5为本专利技术中qt_translateRawTouchEvent函数流程图。图6为本专利技术中改进后的鼠标消息发送流程图。具体实施例方式本实施例为本专利技术优选实施方式,其他凡其原理和基本结构与本实施例相同或近似的,均在本专利技术保护范围之内。本专利技术中完成在QT图形开发平台在ARM下实现多点触摸的难点有(I)多点、屏幕滑动手势必须比鼠标点击滑动事件优先上报给GUI层界面。(2)在多窗口操作时如何保证手势消息上报主激活窗口。·请参看附图1,QT图形开发平台在ARM下多点触摸实现流程如图I所示,其主要包括下面几个步骤 (1)移植触摸屏接口层(即提供给QT图形开发平台获取驱动多点坐标的接口)tslib模块; (2)改进tslib模块实现多点上报; (3)改进QT图形开发平台定义多点触摸。本实施例中,移植触摸屏中间层tslib模块的过程如下 (I)先安装ARM的交叉编译器,然后配置tslib模块的编译为ARM的编译,并配置安装的路径。(2)第二步编译和安装tslib模块,编译之后的动态库、校正程序、测试程序、ts. conf文件会安装在第一步配置的路径下。(3)第三步配置tslib的环境变量包括图形framebuffer设备、触摸操作设备、TSLIB配置文件、tslib校正文件。(4)第四步为QT移植配置时应与tslib库关联一起。本实施例中,改进tslib模块实现多点上报 首先要在ARM下支持多点触摸需要使用电容式触摸屏,并且需要实现电容式触摸屏的驱动程序,并通过一定规则(具体规则描述请参看附图2及相应文字部分)返回多个点给上层(即tslib接口层)应用程序,本实施例中,电容式触摸屏的驱动实现中用到了以下驱动的定义 事件上报结构体定义,下述函数为系统自带函数 struct input_event {Struct timeval time; // 上报的时间—ul6 type;//事件的类型 —ul6 code;//事件的 code 码 —s32 value;//事件的值 }; 事件的类型 EV_KEYIl表示事件为按键事件code石马BTN_T0UCH//这里表示触摸屏的所有键都抬起EV_SYN//表示事件为同步事件,收集点结束Code石马SYN_REPORT//提交所有收集的采样点,如两点触摸采集了两个就会上报该code码SYN_MT_REPORT //与SYN_REPORT相同,该驱动上报的就是该code EV_ABS//表示事件为XY坐标、压力、槽位值ABS_X//表示事件value值为单点X坐标ABS_Y//表示事件value值为单点Y坐标ABS_PRESSURE//表示事件value值为单点压力值,一般用来区分该点是否按下ABS_MT_SLOT//表示事件value值为槽位值,用来区分触摸屏的第几点坐标,多本文档来自技高网...

【技术保护点】
一种使用QT图形开发平台在ARM下的多点触摸实现方法,其特征是:所述的方法包括下述步骤:(1)????移植触摸屏接口层tslib模块;(2)????改进tslib模块实现多点上报;(3)????改进QT图形开发平台定义多点触摸。

【技术特征摘要】
1.一种使用QT图形开发平台在ARM下的多点触摸实现方法,其特征是所述的方法包括下述步骤 (1)移植触摸屏接口层tslib模块; (2)改进tslib模块实现多点上报; (3)改进QT图形开发平台定义多点触摸。2.根据权利要求I所述的使用QT图形开发平台在ARM下的多点触摸实现方法,其特征是所述的移植触摸屏接口层tslib模块包括下述步骤 (1)先安装ARM的交叉编译器,然后配置tslib模块的编译为ARM的编译,并配置安装的路径; (2)第二步编译和安装tslib模块,编译之后的动态库、校正程序、测试程序、ts. conf文件会安装在第一步配置的路径下; (3)第三步配置tslib的环境变量包括图形framebuffer设备、触摸操作设备、TSLIB配置文件、tslib校正文件; (4)第四步为QT移植配置时应与tslib库关联一起。3.根据权利要求I所述的使用QT图形开发平台在ARM下的多点触摸实现方法,其特征是所述的多点上报的流程包括下述步骤 (1)上报单点X坐标值; (2)上报单点Y坐标值; (3)上报压力值; (4)值0表不第一点; (5)上报第一点的X坐标值; (6)上报第一点的Y坐标值; (7)上报第一点的压力值; (8 ) 判断是否与SYN_REPORT相同; (9)值I表示第二点; (10)上报第一点的X坐标值; (11)上报第一点的Y坐标值; (12)上报第一点的压力值; (13)依次重复步骤4-8; (14)判断是否与SYN_REPORT相同; (15)所有点抬起上报。4.根据权利要求I所述的使用QT图形开发平台...

【专利技术属性】
技术研发人员:杨绍华廖海
申请(专利权)人:深圳锐取信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1