I’m struggling to understand how global (keyboard) shortcuts are managed on macOS, which means keep ending up in situations where a shortcut doesn’t work and I’m not sure how to fix it.
For a long time, my troubleshooting workflow has been:
- If the app whose local shortcut doesn’t work has extensions (e.g. browsers, obsidian, etc), check whether multiple extensions have registered the shortcut.
- Check System Preferences → Keyboard → Shortcuts whether the shortcut is registered as a global shortcut
Then I discovered that the Alfred registers global shortcuts which don’t show up in System Preferences (and apparently there is no way to simply list them all?). So, I suppose that if Alfred can do it, any app can do it, right?
Hence my question: how do I manage all these global shortcuts?
My preferred answer to this question would be: use this app which gathers all shortcuts on your system and displays them for you (while also alerting you to potential conflicts). But if that app existed, I would probably have found it. I suppose that such an app is practically impossible to build because there simply is no single place where those shortcuts are registered.
So, what is to be done?
To make this big question somewhat more tangible, I’ll give you three examples:
Example 1
I have ⇧⌘L registered for an Alfred Workflow and it has been working fine ever since. But now I saw this:
and wonder: so Alfred is overriding a centrally registered global shortcut? Wouldn’t have expected that. (<rant>
Apparently Apple is compensating its excessive control policies in some areas with excessive laissez-faire elsewhere</rant>
)
So, how do I know what takes precedence over what?
Example 2
The latest update of the Arc Browser tells me that I can access extensions via ⌘E. But when I press ⌘E (while Arc is in focus), this opens the “New Task” modal in the Clickup desktop app.
I figured that one out by going to the Clickup settings and disabling the Shortcut there.
Example 3
⌥⇧← and ⌥⇧→ are supposed to select the word left/right of the cursor. But on my system, it changes the which window is in focus. I vaguely remember setting this up when I was trying out yabai
or Amethyst, but I don’t remember how or where. Maybe it was in Better Touch Tool? - Indeed, it was.
“So,” you may be wondering, “what do you want? You solved them all!” - I’m just wondering whether there is a better way of managing global shortcuts…
And, as a little bonus question: can anyone suggest a resource that explains what to consider when setting up custom shortcuts (global and local) so that they both make sense and are less likely to conflict with existing ones? What I mean is: what are the basic logics behind the different modifier keys and their combinations with each other.
For example, I avoid pure ⌥- shortcuts, because they are often used to access special characters on the keyboard. I also have this idea of using ⌘-shortcuts for within app commands, and ⌃-shortcuts for commands at a “higher” level, but that logic is already broken, since I use ⌘-space to trigger Alfred search. Anyway, if you have any kind of “system” for how you design your shortcuts, you get the idea.