I have 2 keyboards hooked up to my machine (one on PS/2, the other on USB). How would I determine which keyboard is sending the keystrokes in C#?
I think the only way you could do that would be if you were monitoring the USB traffic. I've seen programs that do that, but I have no idea how to do it in C#. Thus, If there's USB traffic and a keystroke, it's the USB keyboard. If there's no traffic, it's the PS/2 one.
Naturally the other caveat with this is that it doesn't generalize to arbitrary or future keyboard connection types.