What sort of methodologies should I employ to choose which letters and shifting keys to assign to different functions?

Is underlining the accelerator letter the best practice, or should I spell out the combination?

If anyone has experience with choosing keyboard accelerators, or if there are any online reference out there or books on this topic would be a great help.

Please note there is no mouse in the product, so keyboard and touch is the only two means of navigation.

The case is that I am working on a "stand alone" touch screen product with a physical qwerty keyboard attached. The keyboard is for users who sits in a controlled environment and has in depth knowledge of the product so they are looking to perform the task quickly and repetitively. The touch screen is for users who operates in a dynamic environment and constantly multitasking between 4 to 6 different equipments.

  • sorry forgot to add that there is no mouse in the product, so keyboard and touch is the only two means of navigation. Jun 19, 2012 at 1:21
  • 1
    I have added your comment to your question. It is pretty important information. And on the stackexchange stack you can edit your questions and answers. Jun 19, 2012 at 7:02
  • I think you meant "shortcut" which is not the same as "short cut". Jun 19, 2012 at 7:06
  • Your question has been altered a lot. Could you review the current state of this question and emphasize your main issue? I interpreted the question as "how to reuse keyboard shortcuts on a touch screen device", but it seems like other readers have interpreted your question as "how to implement shortcuts" (ref @Myrddin´s revision). If the latter is the case, then my answer is irrelevant and I will deleted it. Jun 20, 2012 at 12:27
  • @Jack.ak.Hsu See the latest version of my answer, I think it covers most of the possible hotkeys conventions for Windows-style keyboards, when to use them and how to choose them. Jun 20, 2012 at 12:52

4 Answers 4


Underlining is the indicator specifically for Alt+Key combinations (An underlined G means pressing Alt+G will be equivalent to clicking on that item). Other types of combinations (Ctrl, Ctrl+Shift, Ctrl+Alt, Shift+Alt) must be specified explicitly.

In general, accelerators using the Alt key are for navigation and mouse/touch equivalents (replacing a click or tap). Accelerators using Ctrl are for other functions that need easy access. Ctrl+Shift is for far less common functions. Ctrl+Alt should generally not be used; it is usually reserved for switching to other applications (in Windows), but on other platforms this may be ignored. Shift+Alt is very slow and uncommon to hit, and should be avoided if possible.

Start with the most common commands users execute (do profiling to check) and give those commands the easiest keys to hit and remember. Assign the progressively less common commands the progressively less easy to remember or type keystrokes.

No matter how poorly the mnemonic for remembering the command is, users will eventually master it, so don't stress over the choices too much.

  • @ Myrddin Emrys Thanks for the great Answer! This definetly helps with developing the keyboard navigation for the product. Jun 21, 2012 at 0:34

As others have said, make use of popular, common shortcuts ( ctrl-c, crtl-v, and so on). For keyboard shortcuts specific to your touchscreen app, it might be a good idea to have tool tips describing the shortcut key show up over the touch screen button when you hold down the ctrl key (or alt, or whatever the shortcut involves).

For example, if there is a "save" button on the touch screen and you held down ctrl, a tooltip would come up over the "save" button that reads "ctrl+s".

While this doesn't totally solve your issue, it might help to add.

  • That's a nice idea @DorkRawk ! will definetly look into that as a option. thanks! Jun 21, 2012 at 0:44

You should, of course, design the product to work properly with touch handeling. I.e. handle touch/multi-touch as a dedicated input device and implement the gestures you need to get a natural touch interaction with the software.

I can assure you that your users will try to swipe your lists and pinch your maps/images!

Likewise I can assure you that the users will be pretty annoyed by tapping the scrollbar arrow buttons, tapping the magnifier glass buttons and fiddling with keyboard shortcuts.

Sometimes, however, this is inevitable...
TeamViewer is one of the Remote Access Solutions that must handle keyboard shortcuts.

1) Create dedicated buttons for some popular combinations (Eg. CTRL+ALT+DEL, CTRL+C, CTRL+V etc)

2) Let the SHIFT, CTRL and ALT buttons be toggable. Ie when the user hits ALT, then the next button you hit will be ALT + "the ext button". (Windows has an option for "Sticky keys" in the Accessibility section in the control panel, http://windows.microsoft.com/en-US/windows7/Make-the-keyboard-easier-to-use).

  • The Alt key is usually toggable, since Alt allow activates the menu, however, using the others (and Alt outside menu context) as toggable may confuse users or cause them to invoke the wrong operation. E.g. User clicks Ctrl then changes his/her mind prior to clicking on S and returns to typing (without clicking on Ctrl). If you do use sticky keys for the modifier keys, show the status of these keys when activated above all windows (like the screen's volume display), so the user will be aware of what will happen. Jun 20, 2012 at 9:31
  • @Danny: Yes. Some kind of mode indicator would probably be smart. This is a general problem, however. The lock keys (caps-lock and scroll-lock) and the dead keys (accent, breve, diaeresis keys etc) have caused a lot of confusion for many people (eg. ux.stackexchange.com/q/22468/95). Note that this answer is not a general suggestion, it´s a simple suggestion to the situation where you already have a desktop software and want to make usable with a touch screen... Since the sticky keys feature is already implemented for such situation, it´s probably the easiest way to accomplish that. Jun 20, 2012 at 11:06
  • @Danny. Ehh. Looks like the question has been altered a lot since I wrote this answer. <g> Now I understand that it might look a bit misleading... The original issue was how to create a single product that would suit both desktop users with keyboards and "mobile" users with touch screens... Jun 20, 2012 at 11:27
  • Thank You @Danny Varod and Jørn E. Angeltveit ! On most desktop softwares on both win and OSX I see that the general rule seems to be ATL/Command to access the menu option (e.g. Alt to highlight/toggle follow by either arrow keys or key combinations) do we think that's a convention for keyboard access? and that the users will gravitate towards that convention when they see a monitor keyboard combination? we've manage to group the functions into 3 categories now (e.g. file, edit, help) and I am thinking assigning shift/alt/ctrl as individual category toggles could be a reasonable solution. Jun 21, 2012 at 1:01
  • 1
    @Jack.ak.Hsu I don't think that assigning those keys as category toggles would be a good idea - it would go against what the Ctrl and Shift keys usually do. Instead use Alt+F for file, Alt+E for edit and both Alt+F and F1 for help. Use Ctrl+Key for direct access to options in those menus (without opening menu). Jun 21, 2012 at 9:54

In menus, displaying the hotkey combination that can be used to invoke operation directly (e.g. Save (Ctrl+S) in the File menu) enables users to learn the hotkeys for actions they invoke via menu.

Underlining the accelerators either permanently or when Alt is pressed (and until user has exited menu) can help the users find them. (E.g. Alt+F for the file menu, then t for new tab.)
Note that this kind of accelerator is localization dependent (depends on language of menus).

Use Ctrl+letter for the common operations (Ctrl+C/V/X/Z/Y/S/F for copy/pase/cut/undo/redo/save/find).

Use the Shift key as a modifier for Ctrl+Letter hotkeys (Ctrl+Shift+Letter) in order to invoke inverse or advanced operations (e.g. I have seen Ctrl+Shift+Z for redo before Ctrl+Y caught on, e.g. Ctrl+Shift+F for advanced find).

Try to choose the letter that the operation starts with (e.g. Ctrl+S for save),
or a letter that resembles the operation (e.g. Ctrl+Z for sleep if it wasn't already assigned to undo),
or a letter adjoining similar operations' letter for the operations (e.g. Ctrl+V for paste, because it follows Ctrl+C (copy) on Qwerty keyboards).

Use the F-buttons for operations that do not cause direct side effect on the user's work and may need to be called multiple times in a row - they only require one click. E.g. F1 for help, F5 for refresh or for run, F10 for run one step, F3 for find/find next.

Use the Shift key as a modifier for F-buttons too, e.g. Shift+F3 for advanced find.

Use Ctrl+Alt+Letter (or Ctrl+Alt+FKey or Ctrl+Alt+Arrow) for global hotkeys.
Global hotkeys are hotkeys that work even when your application isn't active (e.g. to launch application or to bring it to focus). Make sure you let the user decide which global hotkeys to use for what (since them may collide with other applications' global hotkeys (first to register on Windows' startup wins).

Use Ctrl+Left/Right for backward/forward.

Use ESC to cancel operations (e.g. stop in browser, cancel drag and drop, ...).

If you had a mouse, you could use Ctrl and Shift as modifiers for mouse operations.

  • this is a excellent reference list to put towards any future work on keyboard short cuts. thanks @Danny Varod unfortunately we won't have a mouse, which interestingly enough stream lines the interaction model a bit better, since touch and keyboards are polar opposite while touch and mouse conflicts and overlaps. Jun 21, 2012 at 1:07

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.