作者:唐老师,华清远见嵌入式学院讲师。
在android中,上层可使用的键值默认情况下是92个,从0-91;一般情况下,这些键值是够用的,但是如果想扩充的话,还是需要添加新的键值的,那么如何将一个新的键值从驱动的设置映射到上层,使应用可以对我们自定义的键值进行相应的处理呢?
对keypad来说,涉及到的文件有以下几个:
1,/vendor/qcom/7k_ffa_keypad.kl
首先在此文件中,添加新的键值信息:Example:
key 123 WLS flag
注意:新加的键值不要与已有的重复。
2. kernel/arch/arm/mach-msm/keypad_surf_ffa.c
在keypad对应的键位添加自定义的键码 如 :123
3. frameworks/base/include/ui/keycodeLabels.h
在数组keycodes 中添加 新定义的信息
{ "MUTE", 91 }, { "WLS" , 92 }
枚举类型 KeyCode 中添加
kKeyCodeMute = 91
kKeyCodeWLS = 92
4. frameworks/base/core/res/res/values/attrs.xml
5. frameworks/base/core/java/android/view/KeyEvent.java
public static final int KEYCODE_MUTE = 91;
public static final int KEYCODE_WLS = 92;
注意: private static final int LAST_KEYCODE = KEYCODE_MUTE;
应改为: private static final int

本文介绍如何在Android系统中添加新的键值并处理,涉及keylayout文件修改、内核键码映射、KeyEvent.java更新及API同步等步骤,以便应用程序能识别并响应自定义按键。
最低0.47元/天 解锁文章
427

被折叠的 条评论
为什么被折叠?



