1.红外遥控器映射
key.xml文件是遥控器键值和linux标准键值之前的映射。
/device/hi silicon/big fish/system/IR _ user/key _ pars/key.XML
键值映射关系如下:
如下所示,0xef101af2表示遥控器键值,KEY_UP对应于linux键值,后面跟有注释。
key value='0xef 101 af2' name=' key _ up ' /! --key up--
然后,通过device/hisilicon/bigfish/system/ir_user/key_pars/linux_key.h查找与kl文件的对应关系,经过kl文件的映射,每个设备可以将自己的对应kl文件映射到android系统密钥值。
{'KEY_UP ',103 },
输入设备与kl文件名的对应关系可以通过以下命令确认
设备对应的kl文件名为: vendor _ 0001 _ product _ 0001.kl,通过KL文件的映射扫描码映射到键值名称
key 103 DPAD_UP
然后,对应于android系统的键值
框架/base/core/Java/Android/view/keyevent.Java
这个红外遥控器的映射关系结束了。 如果要添加键值,请参考此过程进行修改。
2 蓝牙遥控器映射流程
与红外遥控器相比,蓝牙键值不需要修改类似文件(如key.xml ),而是在蓝牙键值发出后直接在kl文件中映射。
kl文件映射允许每个设备将相应的kl文件映射到android系统键值。
输入设备与kl文件名的对应关系可以通过以下命令确认
cat proc/bus/input/devices
然后找到对应于该设备的kl文件名为: vendor _ 00c4_ product _ 7a 44.kl,并经过KL文件的映射扫描码将其映射到键值名称
但是,与蓝牙遥控器的键值对应的扫描代码的数量很重要,如果添加新的专用键值,则需要修改相应的值。 统一标准的键值请参照以下链接地址。
3359 source.Android.com/devices/input/keyboard-devices
键值对应需要修改系统代码,打印扫描代码进行修改。 或者,在getevent -l中搜索与对应的hid键值对应的字符串时,hid中有256个键值为devicehi siliconbig fishSDKsourcekernelLinux
修改为在/frameworks/native/services/inputflinger/event hub.CPP的mapKey界面中添加打印即可。