diff --git a/service/mouse_event_handler/include/mouse_event_handler.h b/service/mouse_event_handler/include/mouse_event_handler.h index 366aba1233ecb0e11336994aaac347589f5e78dd..1f14ffcbcf77e4b563c71600ff660945d331c7f6 100644 --- a/service/mouse_event_handler/include/mouse_event_handler.h +++ b/service/mouse_event_handler/include/mouse_event_handler.h @@ -40,7 +40,6 @@ protected: void SetMouseButon(PointerEvent::PointerItem &pointerItem, struct libinput_event_pointer& pointEventData); void SetMouseAxis(struct libinput_event_pointer& pointEventData); void CalcMovedCoordinate(struct libinput_event_pointer &pointEventData); - void AdjustCoordinate(double &coordinateX, double &coordinateY); }; } } // namespace OHOS::MMI diff --git a/service/mouse_event_handler/src/mouse_event_handler.cpp b/service/mouse_event_handler/src/mouse_event_handler.cpp index 4da888cad14989daec11a973f2e1eed4fa77363f..1e164a8e3ca0602d2619a2ad8d026e679c13c0c4 100644 --- a/service/mouse_event_handler/src/mouse_event_handler.cpp +++ b/service/mouse_event_handler/src/mouse_event_handler.cpp @@ -29,28 +29,23 @@ static bool g_isPressed = false; static int32_t g_timerId = -1; static int32_t g_deviceid = 0; -namespace OHOS::MMI { +namespace OHOS { +namespace MMI { namespace { static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = {LOG_CORE, MMI_LOG_DOMAIN, "MouseEventHandler"}; } -} - -OHOS::MMI::MouseEventHandler::MouseEventHandler(int32_t eventType) : PointerEvent(eventType) +MouseEventHandler::MouseEventHandler(int32_t eventType) : PointerEvent(eventType) { } -OHOS::MMI::MouseEventHandler::~MouseEventHandler() +MouseEventHandler::~MouseEventHandler() { } -void OHOS::MMI::MouseEventHandler::CalcMovedCoordinate(struct libinput_event_pointer& pointEventData) +void MouseEventHandler::CalcMovedCoordinate(struct libinput_event_pointer& pointEventData) { - if (libinput_event_pointer_get_dx(&pointEventData) != 0) { - g_coordinateX += libinput_event_pointer_get_dx(&pointEventData); - } - if (libinput_event_pointer_get_dy(&pointEventData) != 0) { - g_coordinateY += libinput_event_pointer_get_dy(&pointEventData); - } + g_coordinateX += libinput_event_pointer_get_dx(&pointEventData); + g_coordinateY += libinput_event_pointer_get_dy(&pointEventData); WinMgr->AdjustCoordinate(g_coordinateX, g_coordinateY); MMI_LOGI("g_coordinateX is : %{public}lf, g_coordinateY is : %{public}lf", g_coordinateX, g_coordinateY); @@ -63,7 +58,7 @@ void OHOS::MMI::MouseEventHandler::SetMouseMotion(PointerEvent::PointerItem& poi pointerItem.SetPressed(g_isPressed); } -void OHOS::MMI::MouseEventHandler::SetMouseButon(PointerEvent::PointerItem& pointerItem, +void MouseEventHandler::SetMouseButon(PointerEvent::PointerItem& pointerItem, struct libinput_event_pointer& pointEventData) { bool isPressed = false; @@ -96,7 +91,7 @@ void OHOS::MMI::MouseEventHandler::SetMouseButon(PointerEvent::PointerItem& poin pointerItem.SetPressed(isPressed); } -void OHOS::MMI::MouseEventHandler::SetMouseAxis(struct libinput_event_pointer& pointEventData) +void MouseEventHandler::SetMouseAxis(struct libinput_event_pointer& pointEventData) { const int32_t MouseTimeOut = 100; double axisValue = 0; @@ -137,22 +132,16 @@ void OHOS::MMI::MouseEventHandler::SetMouseAxis(struct libinput_event_pointer& p } } -void OHOS::MMI::MouseEventHandler::SetMouseData(libinput_event& event, int32_t deviceId) +void MouseEventHandler::SetMouseData(libinput_event& event, int32_t deviceId) { - OHOS::MMI::PointerEvent::PointerItem pointerItem; + PointerEvent::PointerItem pointerItem; struct libinput_event_pointer *pointEventData = nullptr; pointEventData = libinput_event_get_pointer_event(&event); uint64_t time = libinput_event_pointer_get_time_usec(pointEventData); int32_t type = libinput_event_get_type(&event); - enum evdev_device_udev_tags udevTags = libinput_device_get_tags(libinput_event_get_device(&event)); - if ((udevTags & EVDEV_UDEV_TAG_MOUSE) == EVDEV_UDEV_TAG_MOUSE) { - this->SetSourceType(PointerEvent::SOURCE_TYPE_MOUSE); - } else if ((udevTags & EVDEV_UDEV_TAG_TOUCHPAD) == EVDEV_UDEV_TAG_TOUCHPAD) { - this->SetSourceType(PointerEvent::SOURCE_TYPE_TOUCHPAD); - } else { - this->SetSourceType(PointerEvent::SOURCE_TYPE_UNKNOWN); - } + + if ((type == LIBINPUT_EVENT_POINTER_MOTION) || (type == LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE)) { CalcMovedCoordinate(*pointEventData); WinMgr->SetMouseInfo(g_coordinateX, g_coordinateY); @@ -178,16 +167,17 @@ void OHOS::MMI::MouseEventHandler::SetMouseData(libinput_event& event, int32_t d pointerItem.SetDeviceId(deviceId); this->AddPointerItem(pointerItem); + this->SetSourceType(PointerEvent::SOURCE_TYPE_MOUSE); this->SetActionTime(static_cast(GetSysClockTime())); this->SetActionStartTime(static_cast(time)); this->SetDeviceId(deviceId); this->SetPointerId(0); - this->SetTargetDisplayId(0); - this->SetTargetWindowId(0); - this->SetAgentWindowId(0); + this->SetTargetDisplayId(-1); + this->SetTargetWindowId(-1); + this->SetAgentWindowId(-1); } -int32_t OHOS::MMI::MouseEventHandler::SetMouseEndData(std::shared_ptr pointerEvent, int32_t deviceId) +int32_t MouseEventHandler::SetMouseEndData(std::shared_ptr pointerEvent, int32_t deviceId) { if (pointerEvent == nullptr) { return RET_ERR; @@ -201,7 +191,7 @@ int32_t OHOS::MMI::MouseEventHandler::SetMouseEndData(std::shared_ptrSetTargetWindowId(0); pointerEvent->SetAgentWindowId(0); MouseInfo info = WinMgr->GetMouseInfo(); - OHOS::MMI::PointerEvent::PointerItem item; + PointerEvent::PointerItem item; item.SetPointerId(0); item.SetDownTime(0); item.SetPressed(false); @@ -216,4 +206,6 @@ int32_t OHOS::MMI::MouseEventHandler::SetMouseEndData(std::shared_ptrAddPointerItem(item); return RET_OK; } +} // namespace MMI +} // namespace OHOS diff --git a/service/window_manager/src/input_windows_manager.cpp b/service/window_manager/src/input_windows_manager.cpp index 69978dc732ac8ab9a0277fed694af8961d9fcc2f..1b30136d1bba3b365f3b8373a7d79fe1d0e78247 100644 --- a/service/window_manager/src/input_windows_manager.cpp +++ b/service/window_manager/src/input_windows_manager.cpp @@ -754,7 +754,7 @@ bool OHOS::MMI::InputWindowsManager::CheckDisplayIdIfExist(int32_t& displayId) MMI_LOGE("logicalDisplays_is empty address is %{public}p", &logicalDisplays_); return false; } - if (displayId <= 0) { + if (displayId < 0) { displayId = logicalDisplays_[0].id; return true; }