Rotating object using Quaternion Lerp with a key press

I have code thats working with rotating on a key press but it only rotates towards its destination a little bit depending on how long the button is held down and the speed. I want the player to be able to press the button ONCE and the character to rotate completely from starting rotation to ending rotation. I don’t want anything in between, just a lerp from start to end with one button press.

if(Input.GetKey("s") && jumpState == 0)
{
transform.localRotation = Quaternion.Lerp(transform.localRotation,     slidePos.localRotation, Time.deltaTime * slideRot);
}

if(Input.GetKey(“s”) && jumpState == 0)
{
rotate = true;
}

update()
{
if (rotate)
{
transform.localRotation = Quaternion.Lerp(transform.localRotation,     slidePos.localRotation, Time.deltaTime * slideRot);
}

if (transform.localRotation == slidePos.localRotation)
{
rotate = false;
}
}

mark as answered if your happy with the response.