Hey ho. Could you describe the problem in more detail, please, so we have a better idea of what you want to achieve? Why does your current method not satisfy you and what do you want the new system to achieve?

You use the term "smooth game controls in your post." As long as your game samples the input at a consistent rate, I'm not sure of what problem you'd encounter. If you samples too slowly then you'd have a problem ("laggy" controls). Sometimes, the Win32 key messages can be inconsistent (based on Windows' key repeat settings), so maybe DirectInput would fit the bill if you're not using it.

Anyway, let us know more details please.