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.