[发明专利]一种龙芯手持机MiniGUI触摸屏驱动实现方法在审
申请号: | 201510820678.9 | 申请日: | 2015-11-24 |
公开(公告)号: | CN105512057A | 公开(公告)日: | 2016-04-20 |
发明(设计)人: | 吴登勇;王则陆;陈亮甫 | 申请(专利权)人: | 山东超越数控电子有限公司 |
主分类号: | G06F13/10 | 分类号: | G06F13/10 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 手持 minigui 触摸屏 驱动 实现 方法 | ||
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种龙芯手持机MiniGUI触摸屏驱动实现方法。
背景技术
MiniGUI是一款面向嵌入式系统的高级窗口系统和图形用户界面支持系统,历经十余年时间发展,它性能优良、功能丰富,成为一款优秀的国产嵌入式操作系统。支持Linux/uClinux、eCos、uC/OS-II、VxWorks、ThreadX、Nucleus、pSOS、OSE等操作系统和数十种SoC芯片,已验证的硬件平台包括ARM、MIPS、IA、PowerPC、M68K、Intelx86等等,广泛应用于嵌入式系统领域。
龙芯处理器是第一款国产芯片,现在发展分为三类:龙芯1号(嵌入式)、龙芯2号(桌面)、龙芯3号(服务器)。随着国产化步伐加快,基于龙芯1A处理器的手持机也应运而生,由于龙芯1A处理器性能较低,不适合运行大型操作系统,可以在上面移植嵌入式操作系统,而MiniGUI是一个很不错的选择。
MiniGUI输入抽象层(InputAbstractionLayer,IAL),将MiniGUI涉及的所有输入设备,如键鼠和触摸屏等抽象了出来,为上层提供一致的接口。但MiniGUI未考虑很全面,在输入引擎中,键鼠和触摸屏不可以同时使用,这会导致手持机中可以使用键鼠,就不可以使用触摸屏(或者可以使用触摸屏,不能使用键鼠)的问题。
发明内容
为了解决以上的技术问题,本文提出了一种龙芯手持机MiniGUI触摸屏驱动实现方法。
本发明的主要目的是MiniGUI中键鼠和触摸屏不可以同时使用问题,基于龙芯手持机,提出了一种MiniGUI触摸屏驱动实现方法。本发明实现方法为改写IAL层的native引擎,加入触摸屏的驱动,让其不仅可以使用键鼠,还可以同时使用触摸屏。本发明主要创新点是在MiniGUI中可以同时使用键鼠和触摸屏,解决键鼠和触摸屏不能同时使用的问题。
本发明基于龙芯手持机,但实现方法不仅限于此,实现方案如下:
1、本发明首先要实现miniGUI在龙芯手持机上的移植,主要移植的库和文件包括:busybox、freetype、jpeg、png、zlib、tslib、libminigui、libmgplus、minigui-res、mg-samples。其移植过程不在此进行赘述,但是tslib库是触摸屏驱动库,必须要进行移植。
2、移植完成后就需要修改libminigui库中IAL层的native引擎,native引擎主要包括如下函数:InitNativeInput、TermNativeInput、Mouse_update、Mouse_getxy、Mouse_getbutton、Keyboard_update、Keyboard_state、Wait_event。其中InitNativeInput、TermNativeInput分别代表输入设备的初始化和终止输入设备。而Mouse_update、Mouse_getxy、Mouse_getbutton三个函数可以分别获取鼠标的状态、位置、点击。Keyboard_update、Keyboard_state两相函数可以获取键盘的相应状态。最重要的是Wait_event函数,它是native引擎的核心,该函数检查键鼠是否有可读的数据等待读取,如果是,则分别读取相应数据。
3、由于native引擎中本身存在鼠标的位置和点击状态获取,触摸屏鼠标的位置和点击状态的变量延用native引擎本身变量,所以Mouse_getxy、Mouse_getbutton不需要修改,需要修改的函数只包括InitNativeInput、TermNativeInput、Mouse_update、Wait_event。
4、首先,修改InitNativeInput、TermNativeInput函数,在InitNativeInput函数中依赖tslib库文件加入触摸屏的打开函数,在TermNativeInput函数加入触摸屏关闭函数。
5、其次,Mouse_update更新鼠标的位置和点击状态,通过ts_read函数读取出触摸屏鼠标状态,并分别赋值给xpos、ypos、buttons变量,然后三种变量通过Mouse_getxy、Mouse_getbutton将值传递给系统显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子有限公司,未经山东超越数控电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510820678.9/2.html,转载请声明来源钻瓜专利网。