mostlikely you have sticky keys enabled or your keyboard buffer is repeating keystrokes instead of seeing the w pressed down as 1 keystroke. often a problem with cheaper keyboards.
Okay, hardware is what I had feared. The one thing that keeps me thinking it is not is that when I hold it down hard for half a second causes less "going forward" after I release than holding it down for 1 or 2 seconds, without fail.
I definitely don't have sticky keys enabled, that was the first thing I checked. How might I go about changing the keyboard buffer thingy?