Help with Sprinting?

I’ve tried doing a double tap “w” but I cant get it two work so I gave up and did “Left Caps Locks” for sprinting. I don’t like that. So can you help me get a double tap sprinting with my player controller code:

//Movement
    var MouseSenesitivity : float = 6.0;
    var VerticalRotation : float = 0;
    var VerticalRange : float = 60.0;
    var speed : float = 6.0;
    var jumpSpeed : float = 8.0;
    var gravity : float = 20.0;
    private var moveDirection : Vector3 = Vector3.zero;
    //Crouching
    var crouchRacio : float = 0.3;
    var transitionToCrouchSec : float = 0.2;
    var crouchingVelocity : float;
    var currentCrouchRacio : float = 1;
    var originalLocalScaleY : float;
    var crouchLocalScaleY : float;
    
    function Awake ()
    {
        currentCrouchRacio = 1;
        originalLocalScaleY = transform.localScale.y;
        crouchLocalScaleY = transform.localScale.y * crouchRacio;
    }
    	
    function Update() {
    //Mouse Movement
    	MouseSensitivity = Input.GetAxis ("Mouse X") * MouseSenesitivity;
    	transform.Rotate(0,MouseSensitivity,0);
    	VerticalRotation -= Input.GetAxis ("Mouse Y") * MouseSenesitivity;
    	VerticalRotation = Mathf.Clamp (VerticalRotation, -VerticalRange, VerticalRange);
    		Camera.main.transform.localRotation
= Quaternion.Euler (VerticalRotation, 0, 0);
    //Player Movement
    	var controller : CharacterController = GetComponent(CharacterController);
    	if (controller.isGrounded) {
    		moveDirection = Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
    		moveDirection = transform.TransformDirection(moveDirection);
    		moveDirection *= speed;
    //Player Jumping
    		if (controller.isGrounded && Input.GetButtonDown("Jump")) {
    			moveDirection.y = jumpSpeed;
    		}
    	}
    	moveDirection.y -= gravity * Time.deltaTime;
    	controller.Move(moveDirection * Time.deltaTime);
    //Sprinting
    	if(Input.GetButton("Sprint"))
    		speed = 6;
    	if(Input.GetButton("Sprint") == false)
    		speed = 2;
    //Crouching
    	transform.localScale.y = Mathf.Lerp(crouchLocalScaleY, originalLocalScaleY, currentCrouchRacio);
        if (Input.GetButton("Crouch"))
            currentCrouchRacio = Mathf.SmoothDamp(currentCrouchRacio,
0.5, crouchingVelocity, transitionToCrouchSec);
        if (Input.GetButton("Crouch") == false);
            currentCrouchRacio = Mathf.SmoothDamp(currentCrouchRacio, 1, crouchingVelocity, transitionToCrouchSec);
    }

This question (double tap) has been asked a ton of times.

This

is but one of many examples; post code that is relevant to the question.

Okay thanks.