Please define “continually”. If user will press a button and release it immediately than you will get WM_KEYDOWN and WM_KEYUP event following immediately. Otherwise, if user does not release the key for some period of time, Windows will detect it using some internal timer and continue to fire WM_KEYDOWN events until a button is released.
You cannot do much about it because you have to wait some period of time in order to tell if a button is being pressed and not released.
What you can do, however, is disregard continuous WM_KEYDOWN events from Windows and treat button as being pressed and not released until you get a WM_KEYUP event. Let's call it a bet or, even better, a branch optimization.