Show registered keyboard shortcuts (hotkeys)
-
Thursday, February 21, 2013 6:50 PM
I have conflict in using a hotkey (e.g Ctrl + Shift + U) and I am not able to determine which application (running in background) uses the shortcut.
Is there a way to show all registered (active) keyboard shortcuts and processes which they belong to?
All Replies
-
Thursday, February 21, 2013 7:18 PM
I have conflict in using a hotkey (e.g Ctrl + Shift + U) and I am not able to determine which application (running in background) uses the shortcut.
Is there a way to show all registered (active) keyboard shortcuts and processes which they belong to?
Shortcuts are defined in the application they are defined in. In many cases the application will keep the shortcut in a resource file. If an application lets you reassign a shortcut then it may be stored in the registry or a config file.
To answer more directly, this is not really possible by script unless you know the application and how it defines shortcuts.
System shortcuts can be looked up in the control panel:
Thus is not a scripting issue but is one of how to use Windows. You should post in the Windows for for your version of Windows.
Note also that shortcuts are only ever sent to the foreground window and not to the background Window.
Shortcuts that start programs or bring them to the foreground are defined in the programs shortcut. Right click on the shortcut and look at Properties/Shortcut/Shortcut Key.
Many Windows programs such as Office Programs have links that are defined in the registry and cannot be altered by normal means.
¯\_(ツ)_/¯
- Edited by Thomas LeeMVP, Moderator Thursday, February 21, 2013 8:07 PM fixed numerous typos
-
Thursday, February 21, 2013 8:09 PMModeratorThe question is what application you are talking about. If you mean PowerShell ISE, then yes you can find out what short cuts are assigned. For other applications, you will need to look at the application's documentation.
Thomas Lee <DoctorDNS@Gmail.Com>
-
Friday, February 22, 2013 6:11 AM
See the Diagnostic section of Shortcut Keys and Key Modifiers Release.hta at https://skydrive.live.com/redir?resid=E2F0CE17A268A4FA!177
It does in part what you ask.
David Candy
-
Sunday, February 24, 2013 7:37 AM
How does it work?See the Diagnostic section of Shortcut Keys and Key Modifiers Release.hta
-
Sunday, February 24, 2013 7:43 AM
You can right click and go View Source to see how it works.
Hotkeys [Prev | Next | Diagnostics | Contents]
- List all user set hotkeys
This includes all favourites and shortcuts. This will take a quite a few minutes (30 minutes for 33,000 files in 7,000 folders on my machine) and the application will be listed as Not Responding till it finishes (a program listed as Not Responding means it hasn't picked up any messages from windows for 10 seconds - windows guesses it has crashed but can't actually tell - the program is unaffected by the status windows assigns to it). You can continue to use other programs.
Under Hotkeys a similar routine lists all hotkeys that can start programs (and takes a fraction of the time). This lists all shortcuts and favourites on your hard drive. If a program is started from this shortcut then the hotkey is applied to the window, and will switch to that window, even if the hotkey can't start the program.
As mentioned in the Hotkeys topic, Explorer looks in 4 locations (and their sub folders) for Hotkeys to register. This lists what 4 locations Explorer is actually looking at on this computer.
- No User Policy to prevent changing of Keyboard Navigation Indicators
- No User Policy to prevent using the Winkey
- No User Policy to prevent starting Task Manager
- No Machine Policy to prevent changing of Keyboard Navigation Indicators
- No Machine Policy to prevent using the Winkey
- No Machine Policy to prevent starting Task Manager
David Candy
- List all user set hotkeys
-
Sunday, February 24, 2013 8:49 AM
I am sorry I haven't noticed that "List all user set hotkeys" is a link.
Unexpected result:
To give you more details: I tried to determine which application registered "Win + 1" hotkey and found out (Google) that it's Windows itself.
- Edited by marianh Sunday, February 24, 2013 8:49 AM
-
Sunday, February 24, 2013 8:56 AM
If it took a long time to run then you know the hotkey isn't assigned in a shortcut.
From the Winkey section
Winkey + <a number> Computer specific function set by the computer manufacturer. Very few computers use this. Vista: Activates Quicklaunch icons. Winkey + 1 is the first icon, Winkey + 2 the second, etc. David Candy
-
Sunday, February 24, 2013 9:27 AM
What is really being asked about is called "Accelerator Keys"
see this MS article on how these keys are defined and how they work:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646335(v=vs.85).aspx
Keyboard shortcuts are system wide and not application specific/ Keyboard Accelerators are not only application specific but are Window specific. Each Window can and usually does define its own set of keys. A key can be defined many, many times. This cannot be changed and it cannot be detected.
David's really nice HTA is good for listing system level items which is not what the original question is asking for.
The original question was, "Is there a way to show all registered (active) keyboard shortcuts and processes which they belong to?"
The answer to this is 'No'. You cannot list these. Each application defines them internally.
All Ctrl + key + key are defined inside of the applications. They NEVER affect a background application. They only ever are sent to the foreground application, Read the above link carefully to see how this is done and why.
¯\_(ツ)_/¯
- Edited by jrvMicrosoft Community Contributor Sunday, February 24, 2013 9:29 AM
- Marked As Answer by marianh Sunday, February 24, 2013 1:56 PM

