[发明专利]一种基于android的x86端按键适配方法及系统有效
申请号: | 201210493790.2 | 申请日: | 2012-11-28 |
公开(公告)号: | CN102981875A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 何照丹;朱别明 | 申请(专利权)人: | 深圳市航盛电子股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 深圳市科吉华烽知识产权事务所(普通合伙) 44248 | 代理人: | 韩英杰;许建 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 android x86 按键 配方 系统 | ||
技术领域
本发明涉及一种按键适配的方法,尤其涉及一种能够快速响应的基于android的x86端按键适配方法,并提供基于android的x86端按键适配系统。
背景技术
现有的双CPU系统中, 按键适配普遍使用android input命令,或则将按键值发送到android应用层,通过进程间通信将按键值发送到android输入系统的应用层的事件队列中进行处理,该方法由于android应用层的进程间通信的效率低,因此无法满足X86端按键适配的响应时间要求,比较耗时,一般需要500ms左右。而且该方法下,硬按键启动除launcher外的android应用程序界面, launcher如果不是前台活动,则无法监听android输入系统的按键事件,因此实现不了硬按键启动launcher外的应用程序界面。
发明内容
本发明所要解决的技术问题是需要提供一种能够快速响应。并且能实现对launcher外的应用程序界面进行启动的基于android的x86端按键适配方法。
对此,本发明提供一种基于android的x86端按键适配方法,包括以下步骤:
创建模拟按键驱动步骤,在android内核源码目录下创建模拟按键驱动,通过模拟按键驱动在android的用户空间构造按键事件并写入到android内核中;
按键事件写入步骤,在android中间件往事件设备节点中写入按键事件;
按键采集步骤,将硬按键连接至与X86端相独立的微控器,由微控器对按键进行采集得到按键值;以及,
处理步骤,判断微控器发送过来的按键类型,若属于android的非标准按键,则通过android 的AM命令将按键值进行封装和广播,广播传送给launcher后启动相应的功能界面;若属于android的标准按键,则将按键值写入模拟按键驱动对应的按键事件中,android的输入系统读取按键事件后完成按键事件所对应的功能。
其中,android中间件包括硬件适配层和framework层,位于android系统内核驱动层以上、应用层以下;模拟按键驱动是指实现一个驱动,以将在用户空间采集到按键信息写入到该驱动中,并由该驱动上报按键信息给输入系统,按键信息也称按键值,而按键驱动是linux系统驱动的一部分,按键信息通过按键驱动采集上报给输入系统处理;AM命令是android特有shell命令,用于执行广播动作,实现向系统广播信息。
本发明基于双CPU的系统中,具体包括微控器和X86端的中央处理器,其中,微控器负责统一检测按键,即对按键进行采集得到按键值,并将按键值上传给运行android的X86架构的CPU端, 也就是中央处理器端,为了将按键值适配到android的输入系统中,而在android内核驱动中使用模拟按键驱动,注册按键事件的驱动,并在android中间件完成按键的适配。
本发明的进一步改进在于,所述创建模拟按键驱动步骤包括:
在android内核源码目录下创建模拟按键驱动,并在模拟按键驱动中注册要处理的按键扫描码,同时确保android的按键布局文件中含有要处理的按键扫描码;
加载模拟按键驱动,生成事件设备节点;
在android中间件打开事件设备节点;以及,
构造按键事件并依次将按键事件写入到该事件设备节点中,完成按键适配。
与现有技术相比,本发明通过创建模拟按键驱动步骤实现按键适配,实现按键采集和按键处理可以分开在微控器和X86端的中央处理器中分别运行,将硬按键连接到微控器,降低了x86端的按键特别是旋钮实现的复杂度,并便于对按键进行统一管理;此外,在x86端android内核实现模拟按键驱动,注册按键事件的驱动,生成事件设备节点,比如/dev/input/event0,在android中间件往事件设备节点中写入按键事件,响应时间为100ms以下,相比现有技术中使用android input 命令的按键响应时间为500ms左右,本发明提高了5倍的相应速度;在此基础上,本发明还实现硬按键启动非launcher的android应用程序界面,通过launcher接收到按键值,便能够启动相应的应用程序界面。
本发明的进一步改进在于,所述微控器为与X86端相独立工作的CPU或MCU。由于微控器主要用于对按键进行检测,实现按键值的采集,因此,对微控器的要求并不高,用CPU或MCU都能够实现,成本低。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市航盛电子股份有限公司,未经深圳市航盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210493790.2/2.html,转载请声明来源钻瓜专利网。