From a26adb9e0275abc930ae711adf3a53e6f6de6811 Mon Sep 17 00:00:00 2001 From: yang123 Date: Thu, 21 Aug 2025 07:25:07 +0000 Subject: [PATCH 1/2] Cursor Is Hidden Caused By AdVirtualInputDevice When In Cooperation Triggered By Hands_Eyes_Together. Signed-off-by: yang123 --- service/device_manager/include/input_device_manager.h | 3 ++- service/device_manager/src/input_device_manager.cpp | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/service/device_manager/include/input_device_manager.h b/service/device_manager/include/input_device_manager.h index 19d43ea4b9..87b98c90c9 100644 --- a/service/device_manager/include/input_device_manager.h +++ b/service/device_manager/include/input_device_manager.h @@ -86,7 +86,8 @@ public: bool HasEnabledPhysicalPointerDevice(); void NotifyAddDeviceListeners(int32_t deviceId); void NotifyRemoveDeviceListeners(int32_t deviceId); - void NotifyAddPointerDevice(bool addNewPointerDevice, bool existEnabledPointerDevice); + void NotifyAddPointerDevice(bool addNewPointerDevice, bool existEnabledPointerDevice, + bool isVirtualPointerDev = false); void NotifyRemovePointerDevice(bool removePointerDevice); bool HasTouchDevice(); const std::string& GetScreenId(int32_t deviceId) const; diff --git a/service/device_manager/src/input_device_manager.cpp b/service/device_manager/src/input_device_manager.cpp index af26f0fbe3..ae10214c47 100644 --- a/service/device_manager/src/input_device_manager.cpp +++ b/service/device_manager/src/input_device_manager.cpp @@ -780,7 +780,7 @@ int32_t InputDeviceManager::AddVirtualInputDevice(std::shared_ptr d NotifyAddDeviceListeners(deviceId); NotifyDeviceAdded(deviceId); NotifyDevCallback(deviceId, deviceInfo); - NotifyAddPointerDevice(deviceInfo.isPointerDevice, existEnabledPointerDevice); +NotifyAddPointerDevice(deviceInfo.isPointerDevice, existEnabledPointerDevice, true); #ifdef OHOS_BUILD_ENABLE_DFX_RADAR DfxHisyseventDevice::ReportDeviceBehavior(deviceId, "AddVirtualInputDevice successfully"); #endif @@ -922,7 +922,8 @@ void InputDeviceManager::PointerDeviceInit() POINTER_DEV_MGR.isInit = true; } -void InputDeviceManager::NotifyAddPointerDevice(bool addNewPointerDevice, bool existEnabledPointerDevice) +void InputDeviceManager::NotifyAddPointerDevice(bool addNewPointerDevice, bool existEnabledPointerDevice, + bool isVirtualPointerDev) { MMI_HILOGI("AddNewPointerDevice:%{public}d, existEnabledPointerDevice:%{public}d", addNewPointerDevice, existEnabledPointerDevice); @@ -931,7 +932,7 @@ void InputDeviceManager::NotifyAddPointerDevice(bool addNewPointerDevice, bool e } if (addNewPointerDevice && !existEnabledPointerDevice) { #if defined(OHOS_BUILD_ENABLE_POINTER) && defined(OHOS_BUILD_ENABLE_POINTER_DRAWING) - if (HasTouchDevice()) { + if (HasTouchDevice() && !isVirtualPointerDev) { CursorDrawingComponent::GetInstance().SetMouseDisplayState(false); } #endif // OHOS_BUILD_ENABLE_POINTER && OHOS_BUILD_ENABLE_POINTER_DRAWING -- Gitee From c9b00d40ee5d46a0653967aba67f6d6e527c3559 Mon Sep 17 00:00:00 2001 From: yang123 Date: Thu, 21 Aug 2025 08:44:27 +0000 Subject: [PATCH 2/2] update service/device_manager/src/input_device_manager.cpp. Signed-off-by: yang123 --- service/device_manager/src/input_device_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/device_manager/src/input_device_manager.cpp b/service/device_manager/src/input_device_manager.cpp index ae10214c47..2576a0cbec 100644 --- a/service/device_manager/src/input_device_manager.cpp +++ b/service/device_manager/src/input_device_manager.cpp @@ -780,7 +780,7 @@ int32_t InputDeviceManager::AddVirtualInputDevice(std::shared_ptr d NotifyAddDeviceListeners(deviceId); NotifyDeviceAdded(deviceId); NotifyDevCallback(deviceId, deviceInfo); -NotifyAddPointerDevice(deviceInfo.isPointerDevice, existEnabledPointerDevice, true); + NotifyAddPointerDevice(deviceInfo.isPointerDevice, existEnabledPointerDevice, true); #ifdef OHOS_BUILD_ENABLE_DFX_RADAR DfxHisyseventDevice::ReportDeviceBehavior(deviceId, "AddVirtualInputDevice successfully"); #endif -- Gitee