Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
@paradroid Probably not globally. They can be stored (at least...I may be missing some possibility) by Windows, by a custom program made by the PC vendor, or even in for Word. It really depends on what kind of shortcut it is. Post more about what is happening, and maybe I can help. – KCotreau Jun 17 '11 at 12:21
@KCotreau: It's more of a general question than anything specific, as I often come across this problem, as I have a lot of software that use keyboard shortcuts, and I add my own. For example, at the moment, an indexing program which I have been expermenting with (Tabbles) has overridden the connection keyboard shortcut for the SecureCRT terminal emulator. This was easy to find out, but it was unexpected. Also, I am trying to set the hotkey for ClipX as WinKey + V, which is what I usually use, but something has taken that on this machine, and I do not know what it is. – paradroid Jun 17 '11 at 12:30
@paradroid Got you. – KCotreau Jun 17 '11 at 12:49
I'm with @KCotreau - these simply aren't stored anywhere predictable (or sometimes stored anywhere outside the triggering executable at all) so I can't possibly think of how you could enumerate them programatically. An app could try every possible keystroke combination, but it would have to be awfully smart to then identify what actually happens everytime in any manner that's remotely human readable or useful. – Shinrai Jun 17 '11 at 14:26
@Shinrai: But the operating system obviously knows which system-wide keyboard shortcuts are in use and what programs are attached to them. – paradroid Jun 17 '11 at 15:44

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:

  1. You enable global hotkeys in an application (such as Winamp)
  2. 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)
  3. 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"
  4. 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)
  5. 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.

My only advice could be to use something like ProcMon or Process Explorer to watch what activity happens when you press the key combination that you're interested in.

share|improve this answer

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.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .