We recently discussed this here
I doubt!
Is your suggestion good only for north american type keyboards, or is it also international? Are you sure you understand the issue I stated?
Z on QWERTY, QWERTZ and AZERTY are all different scancodes in a KeyDown(), for example.
http://www.microsoft.com/globaldev/reference/keyboards.mspx
I'll look into User32... Some people have found keyboard handling stuff in there.