Android 按键映射 驱动
2016-03-31 17:00
405 查看
Android 按键映射有一套标准的流程,平时不用我们去写,主要有的方案会更改按键的码值。(或者有的方案增加自己的设备,比如我遇到的TV方案,这里就写下更改码值后怎么处理,中间简要说明Android的按键流程。
首先,我们拿到客户给我们的按键码值,需要加到Linux ko驱动中,这个需要驱动工程师,或者底层工程师来处理。因为Linux定义了一套标准的码值表,256个,添加更改完成之后,生成ir ko文件,Linux和Android的ir接通也按照标准的流程,这里我就不解析Android读取按键时间的步骤了,同学们搜索Android中的keycode就能知道Android定义了一套标准的按键keycode,并且,Android根据Linux传上来的码值做了标准的对应,我们不用怎么关心,如果我们想自己更改不同码值对应的功能,这里Android在device中给了一个映射表,如果我们更改了这里的映射表,就能把原本码值对应Android原本的keycode,改变成我们想要的功能。
第二l列的数值就是Linux根据遥控器驱动真正的码值往上层传递的,第三列是Android层标准的keycode定义,如果我们这里不重新写映射,那就是默认系统自己读取Linux下传给Android的按键定义,如果我们在这里重新映射下,比如上图现在Linux中码值为9的key对应Android的8,在界面上显示出来的就是8,如果我把第二列的89换个位置那么如果我按下9建,那么在界面上显示的为7,这样的话大家就明白了。
补充下:有时候看懂了会忘记
这部分是遥控驱动中定义的值,左侧是真实按键的码值,即每个按键都有一个物理码值。右侧是kernel中标准的按键值;根据android的标准按键流程,
这里在keyevent.java中对应的按键解析,即android层显示的按键码值。
首先,我们拿到客户给我们的按键码值,需要加到Linux ko驱动中,这个需要驱动工程师,或者底层工程师来处理。因为Linux定义了一套标准的码值表,256个,添加更改完成之后,生成ir ko文件,Linux和Android的ir接通也按照标准的流程,这里我就不解析Android读取按键时间的步骤了,同学们搜索Android中的keycode就能知道Android定义了一套标准的按键keycode,并且,Android根据Linux传上来的码值做了标准的对应,我们不用怎么关心,如果我们想自己更改不同码值对应的功能,这里Android在device中给了一个映射表,如果我们更改了这里的映射表,就能把原本码值对应Android原本的keycode,改变成我们想要的功能。
第二l列的数值就是Linux根据遥控器驱动真正的码值往上层传递的,第三列是Android层标准的keycode定义,如果我们这里不重新写映射,那就是默认系统自己读取Linux下传给Android的按键定义,如果我们在这里重新映射下,比如上图现在Linux中码值为9的key对应Android的8,在界面上显示出来的就是8,如果我把第二列的89换个位置那么如果我按下9建,那么在界面上显示的为7,这样的话大家就明白了。
补充下:有时候看懂了会忘记
这部分是遥控驱动中定义的值,左侧是真实按键的码值,即每个按键都有一个物理码值。右侧是kernel中标准的按键值;根据android的标准按键流程,
这里在keyevent.java中对应的按键解析,即android层显示的按键码值。
相关文章推荐
- Android MyBaseAdapter
- 安卓自定义状态栏颜色
- Android使用procrank和dumpsysmeminfo分析内存占用情况
- Android设置透明、半透明等效果
- Android Context学习
- android studio 获得sha1
- Android源码中增加模块
- android layer-list
- Android 实用工具Hierarchy Viewer实战
- Android判断Touch为滑动事件还是操作控件
- 关于Android ListItem动态更改item UI不更新问题
- Ubuntu 15 安装 Android Studio
- Android虚线不显示
- Android 应用利用反射机制获取/设置系统属性值
- Android Intent传值反馈,向后传递,要求返回的传值
- 在Android中如何通过点击edittext之外的部分使软键盘隐藏
- Android初学习 - Broadcast Receiver的介绍01
- Android学习之路
- Android防止过快点击造成多次事件
- Android设计模式 单例模式(懒汉模式)