From 3c7cf6202edc08d23f97f6e03c41d3922390487b Mon Sep 17 00:00:00 2001
From: Christian Helwig <helwig@vr.rwth-aachen.de>
Date: Fri, 20 Sep 2024 10:55:36 +0200
Subject: [PATCH] fix(movement): Makes smooth turn usable for non-desktop
 devices again.

---
 .../Private/Pawn/Navigation/TurnComponent.cpp | 22 +++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/Source/RWTHVRToolkit/Private/Pawn/Navigation/TurnComponent.cpp b/Source/RWTHVRToolkit/Private/Pawn/Navigation/TurnComponent.cpp
index fbfb64af..5a288723 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/Navigation/TurnComponent.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/Navigation/TurnComponent.cpp
@@ -37,14 +37,28 @@ void UTurnComponent::SetupPlayerInput(UInputComponent* PlayerInputComponent)
 	// turning
 	if (bAllowTurning)
 	{
-		// no snap turning for desktop mode
-		if (bSnapTurn && !URWTHVRUtilities::IsDesktopMode())
+		if (bSnapTurn)
 		{
-			EI->BindAction(Turn, ETriggerEvent::Started, this, &UTurnComponent::OnBeginSnapTurn);
+			// no snap turning for desktop mode
+			if (!URWTHVRUtilities::IsDesktopMode())
+			{
+				EI->BindAction(Turn, ETriggerEvent::Started, this, &UTurnComponent::OnBeginSnapTurn);
+			}
+			else
+			{
+				EI->BindAction(DesktopTurn, ETriggerEvent::Triggered, this, &UTurnComponent::OnBeginTurn);
+			}
 		}
 		else
 		{
-			EI->BindAction(DesktopTurn, ETriggerEvent::Triggered, this, &UTurnComponent::OnBeginTurn);
+			if (!URWTHVRUtilities::IsDesktopMode())
+			{
+				EI->BindAction(Turn, ETriggerEvent::Triggered, this, &UTurnComponent::OnBeginTurn);
+			}
+			else
+			{
+				EI->BindAction(DesktopTurn, ETriggerEvent::Triggered, this, &UTurnComponent::OnBeginTurn);
+			}
 		}
 	}
 
-- 
GitLab