As far as I know, such functionality is not provided by Java. It is usually provided somehow at the OS level, so it is inevitably OS specific. In Windows, you can register either a keyboard hook (to get all keystrokes), or a shortcut key (to get one specific keystroke). The former needs a callback routine placed in a DLL, the latter needs a window handle to send messages to, so you'd need some JNI/JNA wizardry to make it work. And this is only Windows, in other OSes, you'd need to implement another handling.