Android 10 添加一个新物理按键
下面简单记录下如何添加一个新的物理按键
一、kernel修改
kernel/msm-4.19/include/dt-bindings/input/linux-event-codes.h中定义新按键:
#define KEY_RFKILL 247 /* Key that controls all radios */
#define KEY_MICMUTE 248 /* Mute / unmute the microphone */
#define KEY_NEW 249 //添加新按键,映射给Android 上层的也是此值
/vendor/qcom/proprietary/devicetree-4.19/qcom/kona-xr.dtsi
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
.........
new {
label = "new";
gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_NEW>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
......
}
添加成功后操作此GPIO,在adb 串口可使用getevent命令,get到其映射到上层的值249的十六进制值 为f9
130|bengal:/ # getevent
/dev/input/event1: 0001 00f9 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0001