This program does 2 things:

  • It adds a layer behind a “toggle key” that can be configured based on the active application.

  • It creates a pop-up to show what each key will do when the toggle is being held.

You can turn either of these features on/off with options in a config.json file.

This script currently only works on windows. This isn’t ideal but none of this code is “ideal”. It’s quick and dirty because it evolved from a much simpler script.

I think the program could be useful when learning new keyboard layers because it gives you a way to visually search for the keys on a layer. You can customize the layout of keys in the GUI with JSONs from the keyboard layout editor.

I use this script with a MMO gaming mouse so all the example layouts/keymaps are 12 keys long and the layout is just a 3*4 grid.

Let me know what you guys think. The code is rough but I enjoy the experience it delivers.

    • @zmac@lemmy.worldOP
      link
      fedilink
      21 year ago

      Yeah having the keys change for each program is so nice. I’ve had trouble building up configurations for all the programs I’m using and then learning those configs so I find the GUI really nice.

  • @curioushom
    link
    21 year ago

    It’s awesome you made something cool. Does it essentially function as a keylogger though? If so, might be a good idea to give users an indication of that and how to stay safe (not from your application but just not becoming conformable installing keylogger type application without consideration). Thanks for making something cool and sharing!

    • @zmac@lemmy.worldOP
      link
      fedilink
      31 year ago

      There’s no logging of the keys being pressed. There are hooks installed on top of the keys configured to be re-mapped and the key used for toggling but these presses aren’t logged anywhere. All the configuration is stored in plain text though so you’ll want to be careful about what you put in there.

      • @curioushom
        link
        21 year ago

        Thanks for the note. My error in saying key logger, should have said key capture. Good luck!