Android平台增加新定义的按键
2018-03-02 11:44
260 查看
这次我们是需要通过触摸屏产生一个虚拟按键信息上报,而且需求是不能是系统中原有的按键,由于本人菜鸟完全不会,只能不停网上搜索,还好还能找到了一个很有参考意义的文章 (Android下添加新定义的自定义键值和按键处理流程),但是由于不知道哪个是原创,所以就只列出名字。但是文章里面有部分文件的名字不符,因此也走了不少弯路,特将自己这次的调试写出,希望能给和我一样的菜鸟同学提供参考(本人使用的MSM8909W平台):
1、因为是虚拟按键,所以省略了在msm8909-pm8916-qrd.dtsi中添加对应gpio和键值的步骤。
2、在文件中kernel/include/uapi/linux/input.h中增加新的定义
#define KEY_MYADD 249 /*my add key function*/
3、在触摸屏驱动中将上报的key填写为 KEY_MYADD
4、在文件frameworks/base/data/keyboards/Generic.kl中增加键值映射
key 249 MYADD
5、在文件frameworks/native/include/android/keycodes.h中添加
AKEYCODE_MYADD = 284
6、在文件frameworks/native/include/input/InputEventLabels.h里的数组 static const InputEventLabel KEYCODES[] 中添加 DEFINE_KEYCODE(MYADD),
7、在文件frameworks/base/core/java/android/view/KeyEvent.java中添加
public static final int KEYCODE_MYADD = 284;
8、在文件frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java中添加相应的按键事件处理(我们是在interceptKeyBeforeQueueing里添加)
这样新增加一个按键定义的流程就OK了,编译需要先使用命令make update-api,不然会编译出错(
因为这我一个小时没了)。另外希望有人告知如何确认使用的是哪个目录下的什么命名的kl文件呢?在找到本平台使用的Generic.kl文件用了我半天,而且还是撞上的……
1、因为是虚拟按键,所以省略了在msm8909-pm8916-qrd.dtsi中添加对应gpio和键值的步骤。
2、在文件中kernel/include/uapi/linux/input.h中增加新的定义
#define KEY_MYADD 249 /*my add key function*/
3、在触摸屏驱动中将上报的key填写为 KEY_MYADD
4、在文件frameworks/base/data/keyboards/Generic.kl中增加键值映射
key 249 MYADD
5、在文件frameworks/native/include/android/keycodes.h中添加
AKEYCODE_MYADD = 284
6、在文件frameworks/native/include/input/InputEventLabels.h里的数组 static const InputEventLabel KEYCODES[] 中添加 DEFINE_KEYCODE(MYADD),
7、在文件frameworks/base/core/java/android/view/KeyEvent.java中添加
public static final int KEYCODE_MYADD = 284;
8、在文件frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java中添加相应的按键事件处理(我们是在interceptKeyBeforeQueueing里添加)
这样新增加一个按键定义的流程就OK了,编译需要先使用命令make update-api,不然会编译出错(
因为这我一个小时没了)。另外希望有人告知如何确认使用的是哪个目录下的什么命名的kl文件呢?在找到本平台使用的Generic.kl文件用了我半天,而且还是撞上的……
相关文章推荐
- A10开发板增加红外驱动及android层红外按键修改介绍
- Android平台Stagefright中增加flv/f4v支持及相关原理介绍
- android按键驱动开发实例2(增加一个新按键)
- Android增加一个物理按键检测步骤
- Android键盘输出增加按键码
- Android键盘输出增加按键码
- android4.x 增加一个新按键&&修改android默认语言
- android遥控器新增自定义的键值+用遥控器按键实现软键盘字符键的切换(amlogice平台) --- (一)
- android键盘输出增加按键码
- Android 5.1高通方案增加GPIO按键
- Android增加一个物理按键检测步骤
- Android平台在UI Thread中执行非UI线程中定义的代码片段的几种方法
- Android 增加按键
- 谁能帮我写把下面这个 android 定义的按键 改成自动按键 自动触发 自动点击之后进入下一个界面
- android按键定义
- Android平台开发-Android keypad map-Android按键事件
- A10开发板增加红外驱动及android层红外按键修改介绍
- Android平台开发-Android keypad map-Android按键事件
- Android增加一个物理按键检测步骤
- Android平台开发-Android keypad map-Android按键事件