Yep, this has been around since win 3.1 days. If you look at GetAsyncKeyState you can use it to read a key at any time, even if your application is running under another logged in user session . Quite useful at times, and a known security loophole in ALL versions of windows.

In case your curious, yes this behavior exists within Linux too. It basically comes down to, as long as your performing direct reads of the keyboard buffer there is nothing to stop you except the hardware itself.