DEFINITION MODULE KBdriver;

        (********************************************************)
        (*                                                      *)
        (*      Device driver for the keyboard.                 *)
        (*                                                      *)
        (*      Author:         P. Moylan                       *)
        (*      Last edited:    4 September 1996                *)
        (*      Status:                                         *)
        (*           This version (for OS/2) is effectively     *)
        (*           a dummy module; its only purpose is to     *)
        (*           define the LED codes.  I haven't yet       *)
        (*           decided whether it should be expanded      *)
        (*           in future to give the ability to get       *)
        (*           scan codes; I don't at present have any    *)
        (*           software that needs that capability.       *)
        (*           In any case, full keyboard functionality   *)
        (*           will have to wait until XDS includes       *)
        (*           the VIO keyboard API.                      *)
        (*                                                      *)
        (********************************************************)

CONST

    (* Codes to specify the keyboard indicator lights.  *)

    ScrollLockLED = 1;
    NumLockLED = 2;
    CapsLockLED = 4;

(*
PROCEDURE GetScanCode () : BYTE;

    (* Gets one scan code from the keyboard. *)

PROCEDURE CheckScanCode () : BYTE;

    (* Like GetScanCode, but returns 0 immediately if no scan code is   *)
    (* available - i.e. does not wait for a keyboard press.             *)

PROCEDURE PutLEDs (LEDcode: BYTE);

    (* Sets the keyboard lock indicator lights, as specified by         *)
    (* LEDcode.  Unlike the following two procedures, which can affect  *)
    (* one LED without disturbing the others, this procedure alters all *)
    (* three LEDs as a group.                                           *)

PROCEDURE ClearLED (LEDcode: BYTE);

    (* Clears one or more of the keyboard lock indicator lights.        *)

PROCEDURE ToggleLED (LEDcode: BYTE);

    (* Toggles one or more of the keyboard lock indicator lights.       *)
*)

END KBdriver.
