ID: Q40359
6.00 6.00a 6.00ax 7.00 | 1.00 1.50
MS-DOS | WINDOWS
kbprg
The information in this article applies to:
The following code illustrates how to turn the SCROLL LOCK key on in your program. Note: This code is only for use with MS-DOS. Running it with OS/2 will cause a protection violation. Use the OS/2 FAPI function KbdSetStatus() to set the status of shift flags when writing programs that will run with OS/2 or be bound to run with both MS-DOS and OS/2. This technique will cause a general protection violation if attempted in a Windows or QuickWin application. The Windows SDK has functions GetKeyboardState() and SetKeyboardState() for checking and setting the lock keys on the keyboard.
/* Compile options needed: none
*/
#include <stdio.h>
main()
{
/* Get the address of the keyboard status byte */
char far *kbdstat = (char far *) 0x00000417;
char scrollmask = 0x10;
/* OR *kbdstat with scrollmask to set bit 4 in the
keyboard status byte to 1 */
*kbdstat = *kbdstat | scrollmask;
}
Additional information on keyboard status can be found in the Peter Norton "Programmer's Guide to the IBM PC and PS/2."
Additional reference words: kbinf 6.00 6.00a 6.00ax 7.00 1.00 1.50 KBCategory: kbprg KBSubcategory: CLngIss Keywords : kb16bitonly
Last Reviewed: July 18, 1997