I believe you're using the wrong information. I believe what you want to do is use key.get_pressed:
for k in key_states: if k.key.get_pressed(): dy = -1 * MOVESPEEDY * dt #etc for all the movement keys
Hope this helps.
Disclaimer: I've never used pygame, and I'm not very good at python. =p
not sure which engine or language your using
He's using python and pygame, fyi.