Are there any guidelines to defining shortcut keys for an application. I understand that these shouldn't contradict with OS level short cut keys but there are so many other applications and how can one ensure that a short cut for your application will be unique and not contradict with a short cut key for some other application.

e.g I define Cmd + N as a shortcut key for creating a new post in my application. Now how can I ensure that this shortcut key hasn't been defined by some other application too?

4 Answers 4


As @PixelSnader said you can't unless you are willing to map all the shortcut keys used in all the apps ever. And coming up with obscure key combinations or re-using common key combinations is not recommended, unless:

In rare cases, it is acceptable to redefine a common keyboard shortcut. For example, if users spend most of their time in your app, it can make sense to redefine shortcuts that don’t apply to the tasks your app enables. Or, if most of your users have used your app on a different platform, you might not want to change the keyboard shortcuts they already know.

OS X Human Interface Guidelines: Interaction and Input

From Windows UX Design Priciples: Keyboard:

Finally, because they are intended to be memorized, application-specific shortcut keys make sense only for programs and features that are run frequently enough for motivated users to memorize. Infrequently used programs and features don't need shortcut keys. For example, setup programs and most wizards don't need any special shortcut key assignments, nor do infrequently used commands in a productivity application.

Microsoft has a list of access keys on that same page with assignments that are preferred. Apple's list of keyboard shortcuts used in OS X can be found here: OS X Human Interface Guidelines: Keyboard Shortcuts


You can't, not absolutely and not reasonably.

It's impossible to ensure that no other app can use the same shortcut. You can use a very obscure combination (Cmd+F7+P) to minimize the chances anothe app shares it, but that's hardly practical.

Instead we should just follow OS and general app guidelines. That means just using ctrl-N, and letting the OS decide which app gets focus/priority, and perform the action in that app. If there does exist some app somewhere that considers it always on top and/or highest priority, and it takes Cmd-N as input, it conflicts with many, many other programs like notepad or your browser, and that app is at fault.

There's one clear example I can think of: media buttons like play/pause. Those sometimes affect several media players at once. But what are you going to do to counter that? Make a media player that doesn't use [►] for "play"?


If you define keyboard shortcuts, allow users to change them. I've seen many apps do this, and it covers you for almost any unforeseen conflict. You could also give users the choice to disable any or all shortcuts.


I can also recommend the following article: https://medium.com/@sashika/j-k-or-how-to-choose-keyboard-shortcuts-for-web-applications-a7c3b7b408ee

You could always do single character shortcuts or combine those to more complex versions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.