Change the raven's `hunt` method to hunt the mouse pointer instead of the nearest sparrow. Something like:

    private void Hunt()
    {
        offSet += mouse.Position - position;
    }

This will have the raven hunting the mouse pointer, and therefore following the mouse instead of a sparrow. Wa-la, player controller raven.

Setting the ravens position directly to that of the mouse pointer will work, but you'll get a raven that can move across the screen very, very fast.

Keyboard control is a bit more complicated if you want more natural looking flight. A simpler way to do keyboard control would be to use the keyboard to position a target for the raven to fly towards, similar to the mouse control. But that's not very intuitive for the player. So instead I would do as [JHocking suggests][1], use the arrow keys to increment the offset value:

    if (left arrow) {
        offset.x = -1;
    } else if (right arrow) {
        offset.x = 1;
    } else {
        offset.x = 0;
    }
    if (up arrow) {
        offset.y = 1;
    } else if (down arrow) {
        offset.y = -1;
    } else {
        offset.y = 0;
    }

That will probably give you some ugly flight, but it will give you a start. You should probably implement some [better steering][2] for your raven. 


  [1]: https://gamedev.stackexchange.com/questions/44471/how-do-i-modify-a-boids-algorithm-to-be-player-controlled/44492#comment72396_44492
  [2]: http://www.red3d.com/cwr/steer/gdc99/