In my experience, to figure out keyboard shortucts is somewhat difficult. I can either leave them as defaults and learn those, or change all of them to how I see fit. There are all these obscure actions that aren't used that much, I end up accidentally pressing keys that do some random action that formats your hard disk or archives the last email in your inbox, with no way to undo whatever happened (this could be supplemented with a notification).

Would it better to completely remove shortcuts and have the user assign them as they go? This option would allow users to easier learn the shortcuts as they are creating them themselves.

What about if only commonly known and expected shortcuts exist initially? For example, a media player would pause/play with the p or space key, or Ctrl+S to save.

Another option would be to have the top 10-15 actions have shortcuts by default.

To make it easier to assign shortcuts, each control would be designed in such as way that they could be assigned easily. For example, a little button in the corner of the button to set that button's shortcut. Another option would be to have a separate mode, where clicking on a button would assign it's shortcut, rather than executing that action (this mode could also be activated by a shortcut!).

2 Answers 2


You should think about smart defaults and define shortcuts that aren't already ingrained in our minds. If you use CTRL+F to do anything but search or CTRL+P for something unrelated to printing while you have the ability to print in your service, then you're breaking conventions and making a mistake.

  • I wouldn't go for no shortcuts if you have a bunch of actions that users will do regularly and are only available in menu items.
  • I would absolutely provide the ability to undo critical changes as much as possible, especially if you are afraid that users might misclick on them (e.g. doing something productive is on CTRL-K and something destructive is on CTRL-L).
  • Customizing hotkeys is definitely something you should think about if you're unsure about how well you'll be able to assign them by default.
  • Absolutely look at popular products that are similar to your own and see if/how they are using shortcuts. The media player example was a good one, so do that!
  • "define shortcuts that aren't already ingrained in our minds" is this a typo? Jul 27, 2016 at 13:30
  • Not a typo, just an error on my end maybe (or misunderstanding). I mean you shouldn't suddenly use CTRL+A to select the first element in a list (it's known as a select-all command). Jul 29, 2016 at 6:45

Photoshop does a great job of showing what the default shortcuts are and allowing users to create their own shortcuts.

As you can see from the screenshot below, shortcuts for the menu options are displayed in the menu so users don't need to guess what they are.

Photoshop menu showing shortcuts for menu actions

Users can also set their own shortcuts. That way if there are actions they perform frequently, they don't have to go back to the menu every time. Or if the user has alternate shortcuts they want to use. For example, maybe the user would prefer to use Cntl-L to bring up the layers menu instead of Photoshop's default of F7.

Photoshop's method is very clear. The user knows that the action they are performing is editing the shortcuts and not they action they want to change. They also can see what shortcuts are set by Photoshop.

Photoshop keyboard shortcut editor

You will definitely want to research shortcuts for similar applications as well as standard shortcuts. Cntl-Z is one example of a very standardized shortcut. Users in virtually any environment would expect Cntl-Z as a shortcut for undo.

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.