diff --git a/Source/Engine/Input/Input.cpp b/Source/Engine/Input/Input.cpp index 9d8eb2997..b04a00249 100644 --- a/Source/Engine/Input/Input.cpp +++ b/Source/Engine/Input/Input.cpp @@ -724,16 +724,12 @@ void InputService::Update() // Send input events for the focused window WindowsManager::WindowsLocker.Lock(); - bool mouseRelativeMode = Input::Mouse->IsRelative(); for (const auto& e : InputEvents) { auto window = e.Target ? e.Target : defaultWindow; if (!window || !WindowsManager::Windows.Contains(window)) continue; - bool handleRelativeModeInputOnly = mouseRelativeMode; - if (handleRelativeModeInputOnly && window->GetCursor() == CursorType::Hidden && window->IsMouseTracking()) - handleRelativeModeInputOnly = false; switch (e.Type) { // Keyboard events @@ -748,24 +744,19 @@ void InputService::Update() break; // Mouse events case InputDevice::EventType::MouseDown: - if (!handleRelativeModeInputOnly) - window->OnMouseDown(window->ScreenToClient(e.MouseData.Position), e.MouseData.Button); + window->OnMouseDown(window->ScreenToClient(e.MouseData.Position), e.MouseData.Button); break; case InputDevice::EventType::MouseUp: - if (!handleRelativeModeInputOnly) - window->OnMouseUp(window->ScreenToClient(e.MouseData.Position), e.MouseData.Button); + window->OnMouseUp(window->ScreenToClient(e.MouseData.Position), e.MouseData.Button); break; case InputDevice::EventType::MouseDoubleClick: - if (!handleRelativeModeInputOnly) - window->OnMouseDoubleClick(window->ScreenToClient(e.MouseData.Position), e.MouseData.Button); + window->OnMouseDoubleClick(window->ScreenToClient(e.MouseData.Position), e.MouseData.Button); break; case InputDevice::EventType::MouseWheel: - if (!handleRelativeModeInputOnly) - window->OnMouseWheel(window->ScreenToClient(e.MouseWheelData.Position), e.MouseWheelData.WheelDelta); + window->OnMouseWheel(window->ScreenToClient(e.MouseWheelData.Position), e.MouseWheelData.WheelDelta); break; case InputDevice::EventType::MouseMove: - if (!handleRelativeModeInputOnly) - window->OnMouseMove(window->ScreenToClient(e.MouseData.Position)); + window->OnMouseMove(window->ScreenToClient(e.MouseData.Position)); break; case InputDevice::EventType::MouseMoveRelative: window->OnMouseMoveRelative(e.MouseMovementData.PositionRelative); @@ -775,16 +766,13 @@ void InputService::Update() break; // Touch events case InputDevice::EventType::TouchDown: - if (!handleRelativeModeInputOnly) - window->OnTouchDown(window->ScreenToClient(e.TouchData.Position), e.TouchData.PointerId); + window->OnTouchDown(window->ScreenToClient(e.TouchData.Position), e.TouchData.PointerId); break; case InputDevice::EventType::TouchMove: - if (!handleRelativeModeInputOnly) - window->OnTouchMove(window->ScreenToClient(e.TouchData.Position), e.TouchData.PointerId); + window->OnTouchMove(window->ScreenToClient(e.TouchData.Position), e.TouchData.PointerId); break; case InputDevice::EventType::TouchUp: - if (!handleRelativeModeInputOnly) - window->OnTouchUp(window->ScreenToClient(e.TouchData.Position), e.TouchData.PointerId); + window->OnTouchUp(window->ScreenToClient(e.TouchData.Position), e.TouchData.PointerId); break; } }