
Unit Toggle;
{$O+}

interface

 type
  BytePtr = ^Byte;

 const
  _ScrollLock = $10;
  _NumLock    = $20;
  _CapsLock   = $40;
  _InsertKey  = $80;

 procedure KeyboardToggle ( Mask : byte );

 implementation

 (* To use this procedure, just pass along the constants that you want
    toggled.  For example.  To toggle the Scroll Lock and Caps Lock you
    would call:
        KeyBoardToggle(_ScrollLock + _CapsLock);
 *)

 procedure KeyboardToggle ( Mask : byte );
 var
  KeyBoardStatus : BytePtr;
 begin
  KeyBoardStatus := Ptr($0000,$0417);
  KeyBoardStatus^ := KeyBoardStatus^ xor Mask;
 end;

 end.
