Game object pickup using mouse click

How can I pick up a game object like a key that is hanging on a wall using a mouse click?

Maybe I should be using a raycast for this or something? I've been hunting all over hells half acre to try and figure the best way to have my FPS player pick up a key hanging on a wall and use it later to open a locked gate.

My key has a box collider that is set to trigger. Right now if I click on it my shotgun goes off because it also uses the mouse button to fire. I would prefere an on mouse action to retrieve the keys from the wall as it's a bit more deliberate and less likely to be picked up accidentally if you know what I mean.

I'm using this script on my Key object, it's incomplete as I'm trying to figure out how to get it to work:

var keyPickupSound : AudioClip;

function OnMouseDown (){

//Play Key Pickup Sound
if (keyPickupSound)
    AudioSource.PlayClipAtPoint(keyPickupSound, transform.position);

    Destroy(gameObject, audio.clip.length);


The gameobject (Key) needs to have a collider of any type( in this case a box collider is advised). Then use the function OnMouseUp to receive the mouse input on that gameobject. You can either destroy it or deactivate it.