I am using the Raw Input API because I need to be able to respond to keys from different USB HID devices differently, even if it is the same key.
My
You can "swallow" some key-press only by writing a kernel keyboard filter driver. So, if you are still in that you'll need a DDK.