在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
<enum name="KEYCODE_MUTE" value=http://www.codepub.com/shouji/chuizi/"91"/>
<enum name="KEYCODE_WLS" value=http://www.codepub.com/shouji/chuizi/"92" />
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 LAST_KEYCODE = KEYCODE_WLS;
在函数 public final boolean isSystem() 中,同样需要添加:
case KEYCODE_SEARCH:
case KEYCODE_WLS:
//注意:现在(Android 2.3)这个函数调用的是frameworks\base\libs\ui\Input.cpp中的bool KeyEvent::isSystemKey(int32_t keyCode)
推荐阅读
- 手机哪个好用 手机哪个好
- 三星手机中关村报价大全 三星手机中关村报价
- vivo新品手机 vivo智能机
- 2018荆州房价还会涨吗,荆州房价目前7000
- 天涯 预测房价,5年后黑龙江房价预测
- 八仙过海 什么时代,关于八仙过海成语故事
- 太史慈穿什么,攻城掠地太史慈穿
- 前几年干什么行业致富,2022年干什么行业
- 汽修美容行业怎么样,加盟汽修美容怎么样
- 72街排骨饭加盟费多少,排骨饭烤肉饭加盟费多少