TP虛擬按鍵部分相關調試經驗

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章