一、前提(驱动工程师添加)
我这里主要介绍的是在Android上层去做键值按键的添加,所以我们首先就得需要驱动在底层配置好PTT按键的键值。提供到上层接口,供我们上层开发调用!
1、device/mediateksample/k39tv1_bsp/mtk-kpd.kl
key 301 PTT //add
2、kernel-4.4/drivers/misc/mediatek/dws/mt6739/k39tv1_bsp.dws
<keyMatrix>
CAMERA KEY_PTT NC NC NC NC NC NC NC //add
3、kernel-4.4/include/uapi/linux/input-event-codes.h
#define KEY_PTT 301 // add
4、kernel-4.4/tools/dct/config/YuSu.cmp
KEY_PTT = 301
二、上层键值添加流程
1.frameworks/base/core/res/res/values/attrs.xml
<enum name="KEYCODE_PTT" value="301"
2.frameworks\native\include\android\keycodes.h
AKEYCODE_PTT =301
3.frameworks\native\include\input\InputEventLabels.h
DEFINE_KEYCODE(PTT)
4.frameworks/base/core/java/android/view/KeyEvent.java
public static final int KEYCODE_PTT = 301;
5.编译会生成新的 API
frameworks/base/api/current.txt
frameworks/base/api/system-current.txt