Leap Motion grab events get called ONLY when strength is maxed out

From LeapController.cpp, line 399

float GrabStrength = Hand.grabStrength();
		bool Grabbed = HandClosed(GrabStrength);

		if (Grabbed) 
		{
			ILeapEventInterface::Execute_LeapHandGrabbing(Private->InterfaceDelegate, GrabStrength, PEventHand);
		}

The “grabbed” variable is set by an utility “HandClosed” function which does this:

bool HandClosed(float Strength)
{
	return (Strength == 1.f);
}

This is in contradiction to the blueprint tooltip stating:
“Event triggered continuously when the given hand has a grab strength greater than 0.5”

Proposed fix:

Add a new utility function:

bool HandGrabbing(float Strength)
    {
    	return (Strength >= 0.5f);
    }

And use it to set the grabbed flag

bool Grabbed = HandGrabbing(GrabStrength);

Hey Jediflamaster,

Thanks for the report. I have entered a issue report for it that you can follow here:

https://issues.unrealengine.com/issue/UE-37719

Because this is a low priority bug, I would suggest updating the code yourself before waiting for a fix.