ID Number: Q32735
2.x 3.x 4.00 4.00a 4.01 4.01a 5.00
MS-DOS
Summary:
SYMPTOMS
MS-DOS interrupt 21h services 01h (keyboard input) and 08h
(keyboard input without echo) both do not return the expected code
for the keystrokes ALT+Q and ALT+R. All other keystrokes return the
correct codes.
CAUSE
The application has the console device in cooked mode and needs to
be in raw mode. Certain key codes will be acted upon by MS-DOS,
which does not know the difference between a first and second byte.
When you get the second byte for ALT+Q, it is 10h, which is also
CTRL+P, so MS-DOS grabs the keystroke, taking it to mean "toggle
the printer." The same thing will happen for ALT+R, the second byte
of which maps into CTRL+S.
RESOLUTION
To set the console device into raw mode, use MS-DOS interrupt 21h
service 44h (the IOCTL service).
Additional reference words: 2.x 3.x 4.00 4.00a 4.01 4.01a 5.00