I had similar problems. In my case, the solution was a combination of: ergonomic (split) keyboard, ergonomic mouse (a pen-mouse) and a break program. The most important component was the break program - regular breaks and stretches/exercises is great.