From ce6f2118d16825ce9377b9ff9ddc6fde9bb8bf93 Mon Sep 17 00:00:00 2001 From: dongzhanwu Date: Thu, 11 Sep 2025 20:34:50 +0800 Subject: [PATCH] commit input with Accessibility Signed-off-by: dongzhanwu --- .../include/input_windows_manager.h | 1 + .../src/input_windows_manager.cpp | 17 ++--------------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/service/window_manager/include/input_windows_manager.h b/service/window_manager/include/input_windows_manager.h index bbd8e7d86c..b19ce2beb7 100644 --- a/service/window_manager/include/input_windows_manager.h +++ b/service/window_manager/include/input_windows_manager.h @@ -179,6 +179,7 @@ public: bool IsKnuckleOnAncoWindow(std::shared_ptr pointerEvent); void SendOneHandData(const OLD::DisplayInfo &displayInfo, std::shared_ptr &pointerEvent); bool IsAncoGameActive(); + bool IsShouldSendToAnco(std::shared_ptr pointerEvent, bool isFirstSpecialWindow); #endif // OHOS_BUILD_ENABLE_ANCO #if defined(OHOS_BUILD_ENABLE_POINTER) || defined(OHOS_BUILD_ENABLE_TOUCH) diff --git a/service/window_manager/src/input_windows_manager.cpp b/service/window_manager/src/input_windows_manager.cpp index eac59d538c..594f38f264 100644 --- a/service/window_manager/src/input_windows_manager.cpp +++ b/service/window_manager/src/input_windows_manager.cpp @@ -5372,21 +5372,8 @@ int32_t InputWindowsManager::UpdateTouchScreenTarget(std::shared_ptrUpdatePointerItem(pointerId, pointerItem); - // Simulate uinput automated injection operations (MMI_GE(pointerEvent->GetZOrder(), 0.0f)) - bool isCompensatePointer = (pointerEvent->HasFlag(InputEvent::EVENT_FLAG_SIMULATE) && - !pointerEvent->HasFlag(InputEvent::EVENT_FLAG_ACCESSIBILITY)) || - (pointerEvent->HasFlag(InputEvent::EVENT_FLAG_ACCESSIBILITY) && - !pointerEvent->HasFlag(InputEvent::EVENT_FLAG_GENERATE_FROM_REAL)); - if (pointerEvent->GetPointerAction() == PointerEvent::POINTER_ACTION_DOWN) { - MMI_HILOG_DISPATCHI("In Anco, WI:%{public}d, SI:%{public}d SW:%{public}d", - touchWindow->id, isCompensatePointer, isFirstSpecialWindow); - } - if (isCompensatePointer || isFirstSpecialWindow) { - if (!(IsAncoGameActive() && MMI_GE(pointerEvent->GetZOrder(), 0.0f))) { - SimulatePointerExt(pointerEvent); - } else { - MMI_HILOG_DISPATCHD("In the anco game scene, events from gestureNav are not allowed"); - } + if (IsShouldSendToAnco(pointerEvent, isFirstSpecialWindow)) { + SimulatePointerExt(pointerEvent); isFirstSpecialWindow = false; } else { if (pointerEvent->GetPointerAction() == PointerEvent::POINTER_ACTION_DOWN) { -- Gitee