Android 按键映射 驱动

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

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

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

你可能感兴趣的:(Android 按键映射 驱动)