Identifying Hotkey/Shortcut Mappings/Conflicts


  1. Posts : 11
    Win 8.1 Professional 64 bit, Win 7 Ultimate 64 biut
       #1

    Identifying Hotkey/Shortcut Mappings/Conflicts


    I just tried installing a program that makes sticky notes, but has keyboard shortcuts that do not work at all.
    Right now I know I have shortcuts from Windows, Evernote, a screen capture utility and probably a few other programs.

    I have been googling for a couple hours trying to find a utlity/program that would show Windows hotkey mappings/conflicts. Unfortunately only two exist and both will not work on Windows 7 64 bit:
    Hotkey Commander - Powerful Hotkey Managing and Overriding Tool
    Ethervane ActiveHotkeys « Tranglos 3.0

    I can't find anything else out there. There must be a way to do this.


    Thanks.
      My Computer


  2. Posts : 11
    Win 8.1 Professional 64 bit, Win 7 Ultimate 64 biut
    Thread Starter
       #2

    Found Additional Data


    Am looking at this program sharpkeys, linked below, as well as a bunch of related webpages below.
    Sharpkeys will only allow remapping of one key to another, but my problem of finding out what program has control over what hotkey/shortcut is not solved by the information below.

    https://sharpkeys.codeplex.com/

    Is there any way to disable certain keyboard shortcuts in Windows 7? - Super User

    Disable Global Hot Keys

    About Hotkeys - Manage Your Hotkeys - Hotkey Detective 2 | PCMag.com


    Disable some hotkeys in Win 7 Home Premium? | Windows Secrets Lounge
      My Computer


  3. Posts : 5,092
    Windows 7 32 bit
       #3

    It is just about impossible to determine which program owns a hotkey. What you may be able to do is use AutoHotkey to make a small script that takes over hotkeys and sends them to the window with the focus. It has conditional hotkeys so that this effect can be limited to when the program you are trying to use has the active window. For example to send control s to notepad you would do this

    Code:
    Sendmode Input
    
    ; the dollar sign means the keyboard is hooked so
    ; we won't read back our own "Send" of the same keys
    #IfWinActive ahk_class Notepad ; only in effect if Notepad has the focus
    $^s
      Send ^s
    return
    #IfWinActive ; blank puts it back to global hotkey mode
    ; yadda yadda do more stuff
    AutoHotkey is a free Windows scripting language. It is optimized for hotkey
    and mouse handling. But it does a lot more.

    Edit: What is happening is, you know some other program has a global hotkey, in this example control s, so we use the script to temporarily steal the hotkey back whenever the program of interest has the focus. In this example it is Notepad. Autohotkey comes with a spy program that can be used to get window class names, titles etc.. so you know what to use with statements such as
    #IfWinActive

    Edit2: The page has a link to AHK forums where you can ask for scripting help. But most simple stuff can be found in the help file.
      My Computer


  4. Posts : 11
    Win 8.1 Professional 64 bit, Win 7 Ultimate 64 biut
    Thread Starter
       #4

    Program Conflict is main issue


    Miles,

    Thanks. But I don't need to take over mapping, I need to find out what programs are trying to have duplicate control over keys such that the hotkeys for the sticky note program do not work.

    Per the articles I listed, I think other authors say similar things that windows many not have hooks to see what is controlling what, but that is really big problem. Since I used to be a .Net developer, I do find it hard to believe that there is no programatic way of finding this out. The two programs I listed in the original post do identify the programs that control keys, but they do not work with Win 7 or maybe it is 64 bits that is an issue. Since I presume these programs once worked with one version of windows, it must be possible to have a properly constructed program to work as well.
      My Computer


  5. Posts : 5,092
    Windows 7 32 bit
       #5

    Tranglos is a member of DonationCoder.com as am I. See this thread
    New program: Ethervane ActiveHotkeys (freeware) - DonationCoder.com

    I don't believe there is a clean way to do what you are asking or someone on DC would know about it. There are many AHK programmers as well as developers who use other languages. I believe the approach Tranglos uses is brute force rather than a query of the OS. But if you post to that thread I am sure he would be happy to discuss the issues involved.
      My Computer


  6. Posts : 11
    Win 8.1 Professional 64 bit, Win 7 Ultimate 64 biut
    Thread Starter
       #6

    Miles,

    Thank you. I will. The description of his program says it cannot identify which program has registered particular hotkeys, so all I can ask is why this is not possible.
    Last edited by charlestek; 03 May 2015 at 18:51. Reason: rewrite
      My Computer


  7. Posts : 5,092
    Windows 7 32 bit
       #7

    I believe this hook call is used
    https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx

    There can be a whole chain of functions hooked in. It is sort of like the old 8086 assembler routine where if you hooked an Interrupt, you called the previous handler when done with your code. The system isn't going to trace all that down and find out which program owns each routine. It just calls all the callbacks in the chain. It is likely up to the callback which key combinations it is watching for.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 19:35.
Find Us