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

ID Number: Q41203

5.10 6.00 6.00a 6.00ax 7.00

MS-DOS

Summary:

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