PRB: getch() Does Not Behave as Expected with ALT+Q and ALT+R

ID: Q41203

5.10 6.00 6.00a 6.00ax 7.00 | 1.00 1.50

MS-DOS                      | WINDOWS
kbprg kbprb

The information in this article applies to:

SYMPTOMS

The program accepts all keyboard inputs, but does not behave as expected if the input is ALT+Q or ALT+R.

CAUSE

This is not a problem with the Microsoft C Optimizing Compiler run-time function getch(). The problem is caused because MS-DOS uses these two key combinations for other control purposes.

MORE INFORMATION

In this case, the second scancode of ALT+Q is 16 and the second scancode of ALT+R is 19 (both decimal). MS-DOS uses scancode 16 to mean "echo subsequent output to the printer" and scancode 19 to mean "pause output." These are equivalent to CTRL+P and CTRL+S. When a printer is not connected to the computer, the PRINT SCREEN key must wait for time-out. For the SCREEN PAUSE key, another key must be pressed to activate the screen again.

Additional reference words: 5.10 6.00 6.00a 6.00ax 7.00 1.00 1.50 KBCategory: kbprg kbprb KBSubcategory: CRTIss Keywords : kb16bitonly

Last Reviewed: July 18, 1997