bool lastKeyUp, lastKeyDown, lastKeyLeft, lastKeyRight; /* start of update function */ bool keyUp, keyDown, keyLeft, keyRight; keyUp = Keyboard.GetState().IsKeyDown(Keys.Up); keyDown = Keyboard.GetState().IsKeyDown(Keys.Down); // etc... /* when you want to test if a key was just released */ if (!keyLeft && lastKeyLeft) { /* key left just released! */ } /* end of update function */ lastKeyUp = keyUp; lastKeyDown = keyDown; // etc...