Like most interactive programs that run on personal computers, Windows applications rely heavily on the keyboard for user input. Although Windows also supports a mouse as an input device, you can't depend on a mouse being present in an installed version of Windows. For this reason, program developers should attempt to allow complete program functionality from the keyboard. (Of course, in some cases, such as drawing programs or desktop publishing programs, this is simply not practical and a mouse will be required.)
The keyboard cannot be treated solely as an input device in isolation from other program functions. For example, a program almost always echoes the keyboard input by displaying typed characters in the client area of a window. Handling keyboard input and displaying text must be treated together. Sometimes the keystrokes result in a document being created that is eventually saved in a disk file. Sometimes a program requires that the user enter an MS-DOS filename. These apparently straightforward chores raise issues related to the support of the ASCII extended character set (codes of 128 and above) and of international characters. For this reason, topics such as the character sets supported by Windows and multibyte character codes are also covered in this chapter.