Sure OnKeyDown works just fine, BUT if you want to be able to say move your spacecraft and fire at the same time it probably won't work in that case you'll have to use either GetAsyncKeyState or GetKeyBoardState to be able to do that!

I used OnKeyDown in the beginning, but I ran into it's limitations and switched to GetAsyncKeyDown and used it ever since, but it really depends on what type of game you are writing and what sort of input is required!