Android 按键映射 驱动

时间:2024-03-30 07:57:43

Android 按键映射有一套标准的流程,平时不用我们去写,主要有的方案会更改按键的码值。(或者有的方案增加自己的设备,比如我遇到的TV方案,这里就写下更改码值后怎么处理,中间简要说明Android的按键流程。

首先,我们拿到客户给我们的按键码值,需要加到Linux ko驱动中,这个需要驱动工程师,或者底层工程师来处理。因为Linux定义了一套标准的码值表,256个,添加更改完成之后,生成ir ko文件,Linux和Android的ir接通也按照标准的流程,这里我就不解析Android读取按键时间的步骤了,同学们搜索Android中的keycode就能知道Android定义了一套标准的按键keycode,并且,Android根据Linux传上来的码值做了标准的对应,我们不用怎么关心,如果我们想自己更改不同码值对应的功能,这里Android在device中给了一个映射表,如果我们更改了这里的映射表,就能把原本码值对应Android原本的keycode,改变成我们想要的功能。Android 按键映射 驱动 

第二l列的数值就是Linux根据遥控器驱动真正的码值往上层传递的,第三列是Android层标准的keycode定义,如果我们这里不重新写映射,那就是默认系统自己读取Linux下传给Android的按键定义,如果我们在这里重新映射下,比如上图现在Linux中码值为9的key对应Android的8,在界面上显示出来的就是8,如果我把第二列的89换个位置那么如果我按下9建,那么在界面上显示的为7,这样的话大家就明白了。

补充下:有时候看懂了会忘记

Android 按键映射 驱动

这部分是遥控驱动中定义的值,左侧是真实按键的码值,即每个按键都有一个物理码值。右侧是kernel中标准的按键值;根据android的标准按键流程,

Android 按键映射 驱动这里在keyevent.java中对应的按键解析,即android层显示的按键码值。

转载于:https://my.oschina.net/snail0/blog/650871