Android 5.1高通方案增加按键
2017-11-14 17:09
369 查看
Android的linux kernel本身有GPIO-keys驱动,代码结构和Android 4.x差异较大,在我的MSM8909上,测试表明增加GPIO按键需要如下操作:
(转载请注明原文网址 http://blog.csdn.net/tdstds/article/details/50920443)
1. 平台相关配置文件msm8909-qrd-skue-项目名.dtsi文件中找到gpio_keys节,增加蓝字相关内容
gpio_keys {
compatible = "gpio-keys";
input-name = "gpio-keys";
pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend";
pinctrl-0 = <&gpio_key_active>;
pinctrl-1 = <&gpio_key_suspend>;
...
key_xxx {
label = "key_ptt";
gpios = <&msm_gpio 36 0x1>; // GPIO口一定要选带中断功能的引脚
linux,input-type = <1>;
linux,code = <77>; // 这是驱动发出的键盘扫描码
gpio-key,wakeup;
debounce-interval = <15>;
};
};
2. 引脚相关配置文件msm8909-pinctrl-项目名.dtsi文件中找到tlmm_gpio_key节,增加或更改红字相关内容
tlmm_gpio_key {
qcom,pins = <&gp 90>, <&gp 91>,
<&gp 36>;
qcom,pin-func = <0>;
qcom,num-grp-pins = <3>;
label = "tlmm_gpio_key";
gpio_key_active: gpio_key_active {
drive-strength = <2>;
bias-pull-up;
};
gpio_key_suspend: gpio_key_suspend {
drive-strength = <2>;
bias-pull-up;
};
};
3. device\qcom\msm8909\gpio-keys.kl中增加键盘扫描码对应的键盘码
键盘码是Android系统收到底层驱动提交的扫描码后,向App发送的键盘码,比如本例
key 77 F7
#扫描码对应给App的键盘码是F7,F7对应的值在frameworks\base\core\java\android\view\KeyEvent.java有现成定义: public static final int KEYCODE_F7 =137;
另外,在root过的Android设备上直接更改system\usr\keylayout\gpio-keys.kl文件,可以为设备的按键直接更改功能。
总结: Android
5.1.1中增加GPIO按键设计得还是很容易的,先选定带中断的GPIO口,设备树增加相关的项目,键盘映射文件增加相关键盘映射项就OK了。
(转载请注明原文网址 http://blog.csdn.net/tdstds/article/details/50920443)
1. 平台相关配置文件msm8909-qrd-skue-项目名.dtsi文件中找到gpio_keys节,增加蓝字相关内容
gpio_keys {
compatible = "gpio-keys";
input-name = "gpio-keys";
pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend";
pinctrl-0 = <&gpio_key_active>;
pinctrl-1 = <&gpio_key_suspend>;
...
key_xxx {
label = "key_ptt";
gpios = <&msm_gpio 36 0x1>; // GPIO口一定要选带中断功能的引脚
linux,input-type = <1>;
linux,code = <77>; // 这是驱动发出的键盘扫描码
gpio-key,wakeup;
debounce-interval = <15>;
};
};
2. 引脚相关配置文件msm8909-pinctrl-项目名.dtsi文件中找到tlmm_gpio_key节,增加或更改红字相关内容
tlmm_gpio_key {
qcom,pins = <&gp 90>, <&gp 91>,
<&gp 36>;
qcom,pin-func = <0>;
qcom,num-grp-pins = <3>;
label = "tlmm_gpio_key";
gpio_key_active: gpio_key_active {
drive-strength = <2>;
bias-pull-up;
};
gpio_key_suspend: gpio_key_suspend {
drive-strength = <2>;
bias-pull-up;
};
};
3. device\qcom\msm8909\gpio-keys.kl中增加键盘扫描码对应的键盘码
键盘码是Android系统收到底层驱动提交的扫描码后,向App发送的键盘码,比如本例
key 77 F7
#扫描码对应给App的键盘码是F7,F7对应的值在frameworks\base\core\java\android\view\KeyEvent.java有现成定义: public static final int KEYCODE_F7 =137;
另外,在root过的Android设备上直接更改system\usr\keylayout\gpio-keys.kl文件,可以为设备的按键直接更改功能。
总结: Android
5.1.1中增加GPIO按键设计得还是很容易的,先选定带中断的GPIO口,设备树增加相关的项目,键盘映射文件增加相关键盘映射项就OK了。
相关文章推荐
- Android 5.1高通方案增加GPIO按键
- Android 5.1高通方案增加GPIO按键
- Android 5.1高通方案增加GPIO按键
- Android按键添加和处理的方案【转】
- Android增加一个物理按键检测步骤
- Android键盘输出增加按键码
- Android键盘输出增加按键码
- Android键盘输出增加按键码
- Android 增加按键
- 一键解包/打包boot.img/recovery.img工具(高通/MTK双版 支持android 5.1以上)
- Android增加一个物理按键检测步骤
- Android键盘输出增加按键码
- 【Android N7.0】Framework层实现派发HOME按键到Application层的一种简单方案
- Android增加一个物理按键检测步骤
- Android按键添加和处理的方案
- android 增加新按键
- android启动蓝牙的过程 (高通方案)
- Android增加一个物理按键检测步骤
- Android增加一个物理按键检测步骤
- A10开发板增加红外驱动及android层红外按键修改介绍