From 53490a58f89013cea43c982f8e81f3da99eb6b73 Mon Sep 17 00:00:00 2001 From: z-hf Date: Fri, 19 Jul 2024 19:30:12 +0800 Subject: [PATCH] Modify the judgment on the number of fingers Signed-off-by: z-hf Change-Id: I6a51ca3210a70bc25a9f61133070832433d26f8c --- .../src/event_normalize_handler.cpp | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/service/event_handler/src/event_normalize_handler.cpp b/service/event_handler/src/event_normalize_handler.cpp index 97278b8ee2..fe606643fb 100644 --- a/service/event_handler/src/event_normalize_handler.cpp +++ b/service/event_handler/src/event_normalize_handler.cpp @@ -447,8 +447,22 @@ int32_t EventNormalizeHandler::HandleTouchPadEvent(libinput_event* event) nextHandler_->HandlePointerEvent(pointerEvent); MULTI_FINGERTAP_HDR->ClearPointerItems(pointerEvent); } - buttonIds_.insert(seatSlot); - if (buttonIds_.size() == FINGER_NUM && + if (type == LIBINPUT_EVENT_TOUCHPAD_DOWN) { + buttonIds_.insert(seatSlot); + } + struct libinput_event_gesture *gesture = libinput_event_get_gesture_event(event); + int32_t fingerCount = libinput_event_gesture_get_finger_count(gesture); + MMI_HILOGD("finger:%{public}d, button:%{public}" PRId64, fingerCount, buttonIds_.size()); + if (fingerCount != buttonIds_.size()) { + if (!buttonIds_.empty()) { + for (const auto &id : buttonIds_) { + MMI_HILOGE("finger:%{public}d, button:%{public}d", fingerCount, id); + } + } else { + MMI_HILOGE("button is empty, finger:%{public}d", fingerCount); + } + } + if (fingerCount.size() == FINGER_NUM && (type == LIBINPUT_EVENT_TOUCHPAD_DOWN || type == LIBINPUT_EVENT_TOUCHPAD_UP)) { MMI_HILOGD("Handle mouse axis event"); HandleMouseEvent(event); @@ -720,6 +734,11 @@ void EventNormalizeHandler::RestoreTouchPadStatus() mouseEvent->Reset(); } } + if (!buttonIds_.empty()) { + for (const auto &id : buttonIds_) { + MMI_HILOGE("Left fibgercount on touchpad:%{public}d", fingerCount, id); + } + } buttonIds_.clear(); } -- Gitee