I am working on a similar project and just for scrolling, I've found a very basic camera class to be sufficient.
My camera class contains:
1. Position
2. Move Speed
3. Screen Size
then in my update camera method, I check for movement (the keyboard in your case) and increment position by the move speed and the gametime.
use Math.Clamp to ensure that your position doesn't exceed your map size.
Lastly, in my draw method, check to see if the unit/tile/etc is within the screen based on the screen size and position and if it is, draw it at the units position minus the camera position.
That is how I have done my camera to this point and it has worked without a problem for me. Good luck