framework\native\services\inputflinger\InputReader.cpp中
uint32_t CursorButtonAccumulator::getButtonState() const {
uint32_t result = 0;
if (mBtnOk) {
result |= AMOTION_EVENT_BUTTON_PRIMARY;
}
if (mBtnLeft) {
result |= AMOTION_EVENT_BUTTON_PRIMARY;
}
if (mBtnRight) {
char targetProduct[PROPERTY_VALUE_MAX] = {0};
property_get("ro.target.product", targetProduct, "");
if (strcmp(targetProduct, "box") == 0) {
result |= AMOTION_EVENT_BUTTON_BACK;
} else {
//修改这里
//result |= AMOTION_EVENT_BUTTON_SECONDARY;
result |= AMOTION_EVENT_BUTTON_BACK;
}
}
if (mBtnMiddle) {
result |= AMOTION_EVENT_BUTTON_TERTIARY;
}
if (mBtnBack || mBtnSide) {
result |= AMOTION_EVENT_BUTTON_BACK;
}
if (mBtnForward || mBtnExtra) {
result |= AMOTION_EVENT_BUTTON_FORWARD;
}
return result;
}
参考:https://blog.csdn.net/xct841990555/article/details/80426451