本文转载自:http://developer.t-firefly.com/thread-251-1-1.html
网上存在一些关于Android系统添加自定义按键的文章,但大多针对Android2.3和4.0系统的,许多文件都已经变动位置了,这两天我总结了一些,写出来欢迎大家交流与指正: Android系统通过*.kl文件将Linux按键传给上层,最新的Android4.4已经不再默认qwerty.kl文件了,代之的是frameworks/base/data/keyboards/Generic.kl文件,当然如果定义板级键值文件,还是以rk29-keypad.kl文件优先。
在 3288/device/rockchip/rksdk 目录下的 rk29-keypad.kl 文件中有相关键值的定义:
- key 59 MENU
- key 102 HOME
- key 114 VOLUME_DOWN
- key 115 VOLUME_UP
- key 116 POWE WAKE
- key 143 NOTIFICATION WAKE
- key 158 BACK
- key 212 CAMERA
- key 217 SEARCH
说明:
WAKE: 当设备睡眠时按下此键,设备将被唤醒,按键事件将会被发送到应用程序。
WAKE_DROPPED: 当设备睡眠时按下此键,设备将被唤醒,而按键事件不会被发送到应用程序。
瑞星微的按键分为GPIO和ADC两种,定义在/kernel/arch/arm/boot/dts目录下的firefly-rk3288.dts文件:
- &adc {
- status = "okay";
- key {
- compatible = "rockchip, key";