1

I'm trying to create a global hotkey which can be used with any application open. Currently the shortcut is ^ Control⌘ Command⌥ Option⇧ ShiftP, though I've tried a few other keys as well. With most of the applications I use, the shortcut works, but when Chrome or Intellij have focus, nothing happens.

1

Apps can enable/disable shortcuts as their developers see fit. In fact, they can completely override system defaults and choose to ignore any custom shortcuts you may have defined.

Chrome is notorious for this.

In Apple's Human Interface Guidelines, it specifically tells devs to "respect standard shortcuts."

Respect standard keyboard shortcuts and create app-specific shortcuts for frequently used commands. Keyboard shortcuts let people activate menu items and actions by pressing specific key combination.

Apple advises devs not to remap the standard shortcuts but we know that they do it with their custom method of closing the browser. Press and hold ⌘ CommandW to close the selected Tab.

In general, don’t override standard keyboard shortcuts. Users may become confused if the shortcuts they know work differently in your app. Only in very rare cases does it make sense to redefine a common shortcut. For example, if people spend a significant amount of time in your app, it might make sense to redefine a standard shortcut that isn’t applicable to your app. Another option might be to let the user choose their own keyboard shortcuts.

So, while Apple obviously frowns upon redefining shortcuts - you still can.

So, why doesn't your key combo work? Chrome (and I suspect IntelliJ as well) have configured the application to ignore or rewrite certain system user defined key combinations.

2
  • What are the ways to get around it? I was able to accomplish what I wanted by using Alfred, but I'm wondering if there's a way without resorting to 3rd party software. Also, any idea how apps like Alfred are able to listen to shortcuts no matter which app has focus?
    – mowwwalker
    Jul 29 '20 at 0:29
  • Google devs are doing it in code so you can't really (unless you "fix" the code in Chromium and maintain that fork). Alfred can listen for shortcuts by listening to System Events. Alfred's capabilities stop short when the App doesn't register the event but just executes it instead. So, it's more accurate to say "...no matter which app that registers the event has focus"
    – Allan
    Jul 29 '20 at 0:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .