Novice users tend to use the mouse for most commands, clicking on self-explaining menus and icons. Experienced users, on the other hand, often prefer to use keyboard commands for several reasons:
- Mouse operations require that the hand is moved back and forth between keyboard and mouse.
- Heavy use of a mouse can cause strain injuries.
- Using keyboard shortcuts is faster than using the mouse if the key combination is remembered
The current trend towards ever more fanciful graphical user interfaces that rely more on mouse effects and less on the keyboard is bad for heavy users (and very bad for people with impaired vision and other handicaps). In principle, all operations should have both a mouse command and a keyboard command.
The main problem with keyboard shortcuts is that they are not visible. Keyboard shortcuts should be indicated on the corresponding menus wherever this is possible.
It is important that shortcut keys are standardized as much as possible. The user is more likely to remember a keyboard shortcut if it uses the same key combination in all software programs. Every program that has some kind of text editing, even if it is just a small text field in a dialog box, should use the same keyboard shortcuts for moving the cursor, highlighting text, copy and paste, etc. It would be inconvenient if every program that has a dialog box for entering a user name or a file name should have a help item telling how to copy and paste a word, and the user would be unlikely to read it. The programmer should always use standard library solutions for text editing fields, file dialogs, etc. in order to get the standard behavior and the standard shortcut keys.
The keyboard shortcuts should be the same in all programs and on all platforms and operating systems as far as possible. There are various pages on the web listing common standard shortcut key combinations. See e.g.
- Table of Keyboard Shortcuts on Wikipedia
- General Shortcut Keys, University of Macedonia, Greece
- Keyboard Shortcuts, Microsoft Windows
Deviations from the standard behavior are annoying. In Gnome Gedit, for example, Ctrl+RightArrow moves the cursor to the next end of a word while in most other programs it moves the cursor to the next beginning of a word.
Some software programs have different shortcut keys depending on the language version. For example, Microsoft Office uses Ctrl+B for making text bold in the English language version, and different letters in other language versions depending on what boldface is called in that language. This is very unfortunate because people may switch between different language versions. In today's globalized world, people may travel and work in different countries, or they may use different language versions of the same program for a number of reasons.
Sometimes, there are multiple standard keys for the same operation. For example, Cut, Copy and Paste can be Ctrl+X, Ctrl+C and Ctrl+V, respectively, or Shift+Del, Ctrl+Ins and Shift+Ins, respectively. It is important to support both standards because different users may have different habits. The latter standard is more convenient for heavy users because it makes it possible to select and edit text without moving the hands. The Del and Ins keys are close to the arrow keys used for highlighting the text to edit. A user who often does a lot of text editing is likely to learn these keystrokes so that they can edit text with the left hand on the Ctrl and Shift keys and the right hand on the Ins, Del and arrow keys and never move their eyes from the screen.