TP虚拟按键部分相关调试经验

来源:互联网 发布:淘宝店铺贷款入口 编辑:程序博客网 时间:2024/05/16 13:47

1、搜索上层log

Main.log:

MotionEvent { action=;                                  //A区touch事件

KeyEvent { action=action=ACTION_UP,keyCode=KEYCODE_BACK    //虚拟按键事件

2、坐标信息路径

虚拟按键的坐标信息写在/sys/board_properties/virtualkeys.mtk-tpd中

3、虚拟按键震动修改

震动强度修改:\alps\frameworks\base\core\res\res\values\config.xml
     关键字“config_virtualKeyVibePattern”

上层修改:\alps\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java

修改InputDispatcher.cpp的notifyKey方法:

void InputDispatcher::notifyKey(const NotifyKeyArgs* args) {
.......

uint32_t policyFlags = args->policyFlags;
int32_t flags = args->flags;
int32_t metaState = args->metaState;

//mtk add
if(args->keycode==4||args->keycode==3||args->keycode==82)//虚拟按键的keycode
{
   policyFlags|=POLICY_FLAG_VIRTUAL;

}
//add end


if ((policyFlags & POLICY_FLAG_VIRTUAL) || (flags & AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY)) {
policyFlags |= POLICY_FLAG_VIRTUAL;
flags |= AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY;
}
0 0