14

I'm new to Apple, and while the experience has largely been positive, I have been stymied trying to configure keyboard shortcuts to my specifications. For example, I used a rather round-about process (via the "Automator") to assign a shortcut to open a new terminal. But even now this this shortcut only seems to function if the focus is on a program which has not overwritten that particular key-combination with its own definition.

I'm looking for information on something like a hierarchy of protocols for how my Mac decides to use which key-combination definition in which context, or a philosophy on the best way to assign my preferred shortcuts. Can I make a keyboard shortcut so high in priority that no application can take precedence?

2
  • Sounds like you might also be interested in a keyboard-based launcher like Alfred, Quicksilver or Launchbar. There's also Apptivate which is designed to do exactly what you're looking for.
    – ghoppe
    Jun 20, 2014 at 19:14
  • Same problem than me, when using chrome (command-backtik) or intellij, systems shortcuts seems overridden Apr 12, 2019 at 9:51

3 Answers 3

5

I think the OS X Human Interface Guidelines are the place you're looking for. They state that there are Apple-reserved shortcuts (e.g. cmd ⌘+space) and also “expected behaviours” (e.g. cmd ⌘+c) one should respect.

While they don't explicitly state the priority, it suggests itself that the System always should have priority before the frontmost (active) and then background applications.

From my experience, you’re on the safe side with multiple modifier keys (i.e. cmd ⌘+ctrl+shift+…).

As an aside: regarding your specific example (assigning a shortcut to open a new terminal) there's also excellent apps for that, TotalTerminal (Terminal.app extension) and iTerm 2 (Terminal.app replacement) come to mind

0
1

The shortcuts set in the Keyboard preference pane's Shortcuts tab take precedence over any application shortcuts; in fact, if you dislike an application's preset shortcut or want a shortcut for a menu item that an application hasn't provided one for, you can use the "App Shortcuts" section to override it—though take care to copy the name from the application exactly, including, for example, three dots at the end when the menu option does as in "Save As...".

For instance, it always annoyed me when, trying to close a window with ⌘W, I slipped and hit ⌘Q, quitting my browser without a chance to save anything. So I added a new shortcut in Keyboard Shortcuts for "Quit Google Chrome" as ⌃⌥⇧⌘Q (ctrl-opt-shift-cmd-q). Now ⌘Q did nothing unless I held down those other modifier keys as well.

3
  • fact is that System shortcuts like those from keyboard preference shortcut tab do not take precedence over at least some application. As an example command-backtic, normally used to switch between windows of the same application, seems to be overridden by chrome in some cases. Apr 12, 2019 at 9:50
  • A agree with the last comment. I defined a keyboard shortcut to a service which is available from anywhere except when emacs is open. Then emacs takes precedence and tries to interpret the keyboard shortcut (and fails). Sep 16, 2020 at 12:15
  • @MariusHofert “…when emacs is open. Then emacs takes precedence…” meaning Emacs doesn’t even have to be the active (focused and frontmost) application? Does hiding Emacs, or putting it on a different monitor or space have any effect? I ask because as a GNU project Emacs uses a slightly unusual build process—I can’t imagine why else it would behave so bizarrely.
    – Trey
    Sep 18, 2020 at 21:01
0

In order to reliably override other keyboard shortcuts on OSX you have to go with an automation utility like Keyboard Maestro. I've been using similar utilities since 1985.

KM is currently the most actively developed. I use it for general automation and FastScripts for running most of my many AppleScripts.

You must log in to answer this question.

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