1. ir红外码值与linux键值码名间映射
以xml键值对的形式
device/hisilicon/bigfish/system/ir_user/key_pars/key.xml
(注释:粉红色框内:ir红外码值;蓝色框内:linux键值码名)
ir红外码值读取(串口执行ir_user,按遥控器上的键)
(key: 0x3ec1fd01对应key.xml中的key value=”0x3ec1fd01” name=”KEY_LEFT” />)
linux键值码名对应于linux_key.h头文件
device/hisilicon/bigfish/system/ir_user/key_pars/linux_key.h
(注释:蓝色框内:linux键值码名;粉红色框内:linux键值码值)
示例(遥控器左键):
通过ir_user获取到的左键ir红外码值(0x3ec1fd01)—->key.xml(key value=”0x3ec1fd01” name=”KEY_LEFT” /> )—-> linux键值码名(name=”KEY_LEFT”)—-> linux键值码值(105)—->写入设备节点。
2.linux键值码值与Vendor_0001_Product_0001.kl对应
device/hisilicon/bigfish/prebuilts/Vendor_0001_Product_0001.kl
(注释:粉红色框内:linux键值码值;黄色框内:android键值码名)
3.Vendor_0001_Product_0001.kl对应的android键值码名映射成android键值码值
frameworks/native/include/input/KeycodeLabels.h
(注释:黄色框内:android键值码名;黑色框内:android键值码值)
最后将android键值码值(数字)对应成KeyEvent.java