1、前言
在Android开发中可能会遇到添加新的按键的需求,本文将简单介绍如何在Android系统中完成一个新的按键的添加。
当系统有新的按键需要添加时,Linux内核下的键码到Android系统中键码是如何进行转换映射的?
2、内核添加设备节点
首先,我们需要在Linux内核添加新的按键值,在Linux内核中提供了按键的驱动程序gpio_keys.c,该驱动是基于设备树实现的,因此,先添加自己的设备节点,如下:
gpio_keys {
status= "okay";
compatible= "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
input-name = "test-keys";
pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend";
pinctrl-0 = ;
pinctrl-1 = ;
key1@1{
label= "key1";
gpios= ;
linux,code= <116>;
linux,input-type = <1>;
};
key2@2{
label= "key2";
gpios=