I'm making a game where you pilot a space ship through an asteroid field so it will act like a flight simulator. Up and Down for pitch, left and right for roll, and a and d for rudder controls.

I needed to start using direct input over windows messages because of the key repeat rate messing the rotations up. So I got directinput all set up, and it is receiving commands

Anyways, my problem is this:

For every keyup event that controls the roll, pitch, or rudder, I tell the ship frame and camera frame to stop rotating. If you havn't guessed my problem here it is..... My ship and camera are always being told to stop rotating because even while one direction key is down, the other five are up and still telling the program to stop the rotations. And of course, now I can't rotate.

So what I'm asking is how to tell direct input that I only want the ship and camera to stop rotating if the key has just gone up, not whenever its not down.