1)已有按键,需在frameworks/base/data/keyboards/Generic.kl中修改键值:
key 263 PPT_KEY
若不整机烧写,保存后push至手机:/system/usr/keylayout/Generic.kl并重启。
2)然后是上层,在frameworks/native/include/android/keycodes.h中找到按键末尾,添加新的上层按键键值:
AKEYCODE_TV_CONTENTS_MENU = 256,
AKEYCODE_TV_MEDIA_CONTEXT_MENU = 257,
AKEYCODE_TV_TIMER_PROGRAMMING = 258,
AKEYCODE_HELP = 259,
AKEYCODE_PPT_KEY = 260
这里AKEYCODE_PPT_KEY = 260需要与.kl文件中:
key 263 PPT_KEY 相对应。
3)同目录下找到frameworks/native/include/input/InputEventLabels.h添加定义:
DEFINE_KEYCODE(PPT_KEY),
4)在frameworks/base/core/java/android/view/KeyEvent.java中添加上层键值:
public static final int KEYCODE_PPT_KEY = 260;
private static final int LAST_KEYCODE = KEYCODE_PPT_KEY;
…
public static final boolean isSystemKey(int keyCode) {
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
case KeyEvent.KEYCODE_SOFT_RIGHT:
case KeyEvent.KEYCODE_HOME:
…
case KeyEvent.KEYCODE_PTT_KEY:
…
public static final boolean isWakeKey(int keyCode) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
case KeyEvent.KEYCODE_POWER:
case KeyEvent.KEYCODE_MENU:
…
case KeyEvent.KEYCODE_PTT_KEY:
…
6)同目录下frameworks/base/core/res/res/values/attrs.xml中添加按键:
<enum name="KEYCODE_HELP" value="259" />
<enum name="KEYCODE_PPT_KEY" value="260" />
</attr>
…