Use that, hit it once and it'll execute once and won't continue executing (unless you want it to).Code:if (KEY_DOWN(vk_code)) { while (!KEY_UP(vk_code)) { // do action while key is down and not up } // do whatever when key is let go // Suggest doing this to flush the standard input stream buffer FlushConsoleInputBuffer (GetStdHandle(STD_INPUT_HANDLE)); }