Space Flying Script Using Mouse

So I made this script that works quite well for flying around in space like conditions. I getting quite sick of having to use my keyboard for all the movement functions though. Is their any way I have swap out pitch and yaw for mouse controls?

Here's the script:

 private var pilot : Rigidbody;

var invertPitch : boolean = true;
var invertYaw : boolean = false;
var sensitivity : float = 1.0;

function Start () 
{
    pilot = GameObject.FindWithTag("Player").rigidbody;
    thrustEmitter = GetComponentInChildren(ParticleEmitter);
    thrustEmitter.enabled = false;
}
function Update () {
    // Did the user press fire?
    if (Input.GetButton ("Fire1"))
        BroadcastMessage("Fire");

    if (Input.GetKeyDown("w"))
    {
        SetThrust(500);

    }

    if (Input.GetKeyUp("w"))
    {
        SetThrust(0);

    }

    if (Input.GetKeyDown("s"))
    {
        SetThrust(-300);    

    }

    if (Input.GetKeyUp("s"))
    {
        SetThrust(0);
    }

    if (Input.GetKeyDown("a"))
    {
        SetRoll(20);    

    }

    if (Input.GetKeyUp("a"))
    {
        SetRoll(0);

    }

    if (Input.GetKeyDown("d"))
    {
        SetRoll(-20);   

    }

    if (Input.GetKeyUp("d"))
    {
        SetRoll(0);

    }

        if (Input.GetKeyDown("i"))
    {
        SetPitch(15);

    }

    if (Input.GetKeyUp("i"))
    {
        SetPitch(0);

    }

    if (Input.GetKeyDown("k"))
    {
        SetPitch(-15);  

    }

    if (Input.GetKeyUp("k"))
    {
        SetPitch(0);

    }

        if (Input.GetKeyDown("j"))
    {
        SetYaw(5);  

    }

    if (Input.GetKeyUp("j"))
    {
        SetYaw(0);

    }

    if (Input.GetKeyDown("l"))
    {
        SetYaw(-5); 

    }

    if (Input.GetKeyUp("l"))
    {
        SetYaw(0);

    }
}

function SetThrust ( thrustForce : int)
    {
        pilot.constantForce.relativeForce = Vector3.forward * thrustForce * sensitivity;
    }

function SetRoll (rollForce : int)
    {
        pilot.constantForce.relativeTorque = Vector3(0,0,1) * rollForce * sensitivity;
    }

function SetPitch (pitchForce : int)
    {
        if(invertPitch)
        {
            pilot.constantForce.relativeTorque = Vector3.right * pitchForce * sensitivity;
        }
        else
        {
            pilot.constantForce.relativeTorque = Vector3.left * pitchForce * sensitivity;
        }
    }

function SetYaw (yawForce : int)    
{
    if(invertYaw)
        {
            pilot.constantForce.relativeTorque = Vector3(0,1,0) * yawForce * sensitivity;
        }
        else
        {
            pilot.constantForce.relativeTorque = Vector3(0,-1,0) * yawForce * sensitivity;
        }

}

You could check the `Input.mousePosition` every frame (in the `Update()` function), store it in a variable, and if it differs from the previous frame, alter the thrust/roll accordingly. (This would be the equivalent of WASD)

private var previousMousePosition : Vector3; // Where you store the previous mouse position

function Update()
{
    if (Input.mousePosition.x - previousMousePosition.x != 0) // Check for horizontal change
    {
        SetRoll((Input.mousePosition.x - previousMousePosition.x) * 500);
    }
    if (Input.mousePosition.y - previousMousePosition.y != ) // Check for vertical change
    {
        SetThrust((Input.mousePosition.y - previousMousePosition.y) * 300);
    }

    previousMousePosition = Input.mousePosition; // Set the current mouse position for the next frame
}

This is untested code, so it might not work, but you get the general idea. :)