问题:
红外遥控某按键无作用
分析过程:
1. getevent读取出问题的按键键值
按键码值与scancode映射正确,是想配的功能键
2. 使用dumpsys input查看对应的设备调用的kl文件,这里以MTK方案为例
没有调用对应的Vendor_3697_Product_0001.kl文件,而是调用了Generic.kl。
那么问题就出在这里了,scancode与keycode映射错误。
3. 抓取开机logcat,也有如下打印:
E KeyLayoutMap: /vendor/usr/keylayout/Vendor_3697_Product_0001.kl:357: Expected keyword, got 'ket'.
(ps : 这里如果出现的是Expected key code label, got 'XXXX'打印,则需要检查framework/native/include/input/InputEventLabels.h和framework/native/include/android/keycodes.h文件中有没有定义XXX这个按键)
4. 检查/vendor/usr/keylayout/Vendor_3697_Product_0001.kl文件发现357行有个ket错误的code
key 1151 PERIOD
key 254 STAR
ket 253 POUND
5. 修改ket->key,重启机器
6. 再用dumpsys input查看当前设备,KeyLayoutFile调用正确