Turning the SCROLL LOCK Key On

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:

SUMMARY

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.

MORE INFORMATION

Sample Code

/* 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