首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android 中怎么添加新的键值(转载)

2012-08-26 
android 中如何添加新的键值(转载)enum nameKEYCODE_ONHOOK value93 /enum nameKEYCODE_HANDFR

android 中如何添加新的键值(转载)

<enum name="KEYCODE_ONHOOK" value="93" />
<enum name="KEYCODE_HANDFREE" value="94" />
<enum name="KEYCODE_PSTNCALLIN" value="95" />

5. ?frameworks/base/core/java/android/view/KeyEvent.java

? ?public static final int KEYCODE_OFFHOOK ? ? ? ? = 92;
? ?public static final int KEYCODE_ONHOOK ? ? ? ? ?= 93;
? ?public static final int KEYCODE_HANDFREE ? ? ? ?= 94;
? ?public static final int KEYCODE_PSTNCALLIN ? ? ?= 95;

?注意: ? ? ? private static final int LAST_KEYCODE ? ?= KEYCODE_MUTE;
? ? ? ? ? ? ?应改为: ? ?private static final int LAST_KEYCODE ? ? ? ? ? = KEYCODE_PSTNCALLIN;
在函数 public final boolean isSystem() 中,同样需要添加:
? ? ? ?case KEYCODE_OFFHOOK:
? ? ? ?case KEYCODE_ONHOOK:
? ? ? ?case KEYCODE_HANDFREE:
? ? ? ?case KEYCODE_PSTNCALLIN:
?通过以上的更改,新的键值就添加上去了,由于更改了 KeyEvent,影响到了API,
? ? ? ? ? ? 所以需要make update-api

? ? ? ? ? ?如果对新键值进行处理,可以通过获取相应的keycode,对它进行处理;
? ? ? ? ? ?对于按键事件的处理一般如下文件中
6. ? frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java

? ? ? ? ?综上可知,我们可以根据需求定义自己的键值,并对键值所对应的事 件信息进行合理化处理。


注:
vendor/fsl/imx51_BBG/mxckpd.kl 是专门给imx515输入设备使用的keylayout文 件,所以修改mxckpd.kl 文件只是给键盘输入增加键值。如果是其他设备的输入, 如x_input,而且当没有x_iput.kl存在的时候,那么默认的kl文件就是 qwerty.kl(android-root/development/emulator/keymaps/qwerty.kl)

这个很重要。也就是说需要实现明白添加的键值是否是mxckpd.kl的input event

转载:http://blog.csdn.net/longfeey/archive/2010/11/04/5987137.aspx

热点排行