android随笔之keylayout映射

问题:

红外遥控某按键无作用

分析过程:

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

扫描二维码关注公众号,回复: 16993782 查看本文章
key 1151    PERIOD
key 254     STAR
ket 253     POUND

5. 修改ket->key,重启机器

6. 再用dumpsys input查看当前设备,KeyLayoutFile调用正确

猜你喜欢

转载自blog.csdn.net/hmz0303hf/article/details/125265801