From 8753dd7d4801c8c9356663df8112372a83aae08a Mon Sep 17 00:00:00 2001 From: New Author Date: Wed, 30 Jul 2025 15:39:46 +0800 Subject: [PATCH] 0730_rawinput Signed-off-by: piggyguy_jdx --- .../raw_input_injector/raw_input_injector.cpp | 15 ++++++++++----- .../tools/raw_input_injector/raw_input_injector.h | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/adapter/ohos/tools/raw_input_injector/raw_input_injector.cpp b/adapter/ohos/tools/raw_input_injector/raw_input_injector.cpp index c28ec0a0b03..e5cb43b59e5 100644 --- a/adapter/ohos/tools/raw_input_injector/raw_input_injector.cpp +++ b/adapter/ohos/tools/raw_input_injector/raw_input_injector.cpp @@ -330,19 +330,24 @@ void RawInputInjector::DoInject(const std::vector std::this_thread::sleep_for(std::chrono::milliseconds(intervalTimeMs)); // update current global status - UpdateGlobalStatus(actionList, activedInjectingInfos); + UpdateGlobalStatus(actionList, activedInjectingInfos, allOtherInjectingInfos); currentTime += intervalTimeMs; round++; } } -void RawInputInjector::UpdateGlobalStatus( - const std::vector& actionList, const std::vector& activedInjectingInfos) +void RawInputInjector::UpdateGlobalStatus(const std::vector& actionList, + const std::vector& activedInjectingInfos, const std::vector& otherInjectingInfos) { - if (activedInjectingInfos.empty()) { + std::vector allEvents; + allEvents.insert(allEvents.end(), activedInjectingInfos.begin(), activedInjectingInfos.end()); + allEvents.insert(allEvents.end(), otherInjectingInfos.begin(), otherInjectingInfos.end()); + + if (allEvents.empty()) { return; } - for (auto& info : activedInjectingInfos) { + + for (auto& info : allEvents) { bool isStartUpdateNeeded = false; for (auto& action : actionList) { if (action.finger == info.finger) { diff --git a/adapter/ohos/tools/raw_input_injector/raw_input_injector.h b/adapter/ohos/tools/raw_input_injector/raw_input_injector.h index 9ec93687326..f1c34ae4774 100644 --- a/adapter/ohos/tools/raw_input_injector/raw_input_injector.h +++ b/adapter/ohos/tools/raw_input_injector/raw_input_injector.h @@ -93,8 +93,8 @@ private: void DumpInjectingInfo(int32_t round, std::vector& activedInjectingInfos, std::vector& otherInjectingInfos) const; int32_t EstimateActiveFinger(const std::vector& actionList, int32_t lastActivedFinger) const; - void UpdateGlobalStatus( - const std::vector& actionList, const std::vector& activedInjectingInfos); + void UpdateGlobalStatus(const std::vector& actionList, + const std::vector& activedInjectingInfos, const std::vector& otherInjectingInfos); bool IsAllConsumed() const; int32_t GetOptFromCurrentPosAndMoveOn(int32_t argc, char* argv[]); std::string GetParamFromCurrentPosAndMoveOn(int32_t argc, char* argv[]); -- Gitee