[Feature Request] Protected hot key triggers

I’m sure this is something the KM community runs across all the time and I’m curious if there are workable solutions.

The problem
I often assign a hot key trigger to a newly created macro only to find out much later that it’s something I use in another application.

For example, if I assign Cmd-Option-B to my latest macro and later try to use the same trigger in Chrome to open the Bookmark Manager, then the Option-Shift-B triggers the macro instead.

A less than ideal workaround
It’s technically possible at macro creation time to ask myself if the hot key trigger I’m about to assign is used by any other application. If it is, then I can add an If/Else application condition action ensuring that the particular application I want to protect “is not at the front”.

This would stop the macro from being used in that context; however, it requires that 1) I remember to add that condition for every macro I create and 2) I remember the specific hot key trigger.

Chances are I’m not going to remember that hot key trigger out of context when creating macros and something like Option-Shift-B will seem just as attractive to me.

Proposed solution
Add a list in Preferences to keep track of hot key triggers that are to be discouraged. If the user attempts to assign any of the listed hot key triggers to a macro, then some kind of a warning is sent.

I’m not particular on how the user is warned other than to make sure it’s obvious immediately after attempting to make the assignment.

A bonus feature would be to add a note to each item in the list. This way the user can remember why they made the entry in the first place. Basically I am anticipating me forgetting that too!

Are there other existing solutions?
Does anyone else have an existing solution that doesn’t require a new feature?

1 Like

Yep, this is an issue that I sometimes run into, but I would not say often.

There is another tool you can buy to help with this: KeyCue.

One interesting thought for @peternlewis is would it be possible/feasible to work out a deal with KeyCue that would allow KM Editor to check for existing hotkeys when they are assigned, and notify the user.

I have tried to mitigate this issue by:

  • Using KM Macros for all my shortcuts, rather than using app or macOS provided facility to assign shortcuts.
  • Generally avoid use of the CMD key in my KM hotkeys
  • Make good use of the KM Conflict Palette to allow use of the same hotkey in multiple macros
  • Make good use of KM Palettes to avoid assigning any hotkey to a macro (except maybe when the palette shows).

I can see that KeyCue goes a step further than I’d imagined and keeps track of all hotkeys.

I’m curious…

  1. Is this a real-time assessment of your current hotkeys or basically a glorified list of known hotkeys for multiple applications?
  2. What if, for whatever reason, I actually want to overwrite a hotkey? Can KeyCue keep track of that?

I have improved my workaround for cases where the hotkey's action can also be accessed via the application's menu.

Review of when you would do this
You are constantly overwriting a particular application hotkey.
AND
The hotkey is also a menu item.

The macro
Create a global macro under the same hotkey trigger. Ask if the particular application is active or not. If yes, then select the menu item. If no, then do whatever else you want to do, if anything.

PROTECTED- Option-Cmd-B.kmmacros (2.9 KB)

What if you create another macro with the same trigger?
As usual, you will get a palette selector. You can then move whatever functionality from the conflicting macro into the original macro trigger that protects a specific hotkey. Add another application check for context or not for semi-global use.

Limitations

  • The action needs to be a menu item.
  • It doesn't catch you when you assign something (since assigning a hotkey to a macro doesn't itself trigger a macro). But generally you'll test the macro right away and realize if a particular trigger is already being used.

Yes, it is a real-time assessment, showning 3 major groups:

  • FrontMost app
  • System
  • KM Macros

If I have a KM Macro that overwrites an app shortcut, KeyCue doesn't do anything special other than show the same shortcut in both places.

I've only been using KeyCue for a short while, so I'm probably not aware of all of its capability.

1 Like

Michael suggests keycue. As always he is right. One of the joys of Keycue is, in fact, that it shows KM hotkeys. I now use a lot of snippets I have converted several textexapander snippets to KM ones for thet reason. An ‘already in use’ feature is a nice idea and resembles a feature in textexpander which signals conflicts with snippet abbreviations.

2 Likes