Is there any way to get a list of the system-wide keyboard shortcuts currently in use, including what programs they are attached to?
I have noticed that some are overriding others unexpectedly and a couple are mysteriously tied up with something, on my main computer.
Unfortunately there is no centralised, administrative way to manage or discover global hotkeys in Windows. When an application sets itself a global hotkey, it simply tells Windows it wants to listen to all keyboard events and filters based on what it wants to hear about once Windows tells it.
In other words:
- You enable global hotkeys in an application (such as Winamp)
- Winamp tells Windows that it wants to listen to system-wide keyboard events via the Windows APIs (this is simplified, there are some keyboard events that are still filtered away from user programs, some applications have to install filters to get more detail)
- When a keyboard event happens (a key is pushed), Windows fires a message to the application saying “a key was pressed, here’s the details”
- The application then looks at the information given by Windows which typically includes the key pushed and any modifiers (such as shift, alt, ctrl, Windows key)
- Depending on what the application is interested and what key was pressed, the application will perform some action (eg, pause the song) or otherwise give back control back to Windows. Ie, if the key combination that the application was interested in was pressed, it will do the relevant action.
Due to this process and it being up to the application to handle global key presses, you can see why there is no central administration or control for this.
You can try HotKeys – it shows a map of shortcuts and allows you to assign new ones.
I’m not 100% sure, but I think it is limited to Win+something combinations.