DEFINITION MODULE KeyMapL{"keymap.library",36};

FROM SYSTEM IMPORT ADDRESS;

FROM InputEvent	IMPORT InputEventPtr;

IMPORT
 d:KeyMapD,R,ExecD;

VAR
 keymapVersion:INTEGER;
 keymapBase:ExecD.LibraryPtr;

CONST
 keymapMinVersion=36;
 keymapName="keymap.library";

TYPE
 StrPtr=ADDRESS;

PROCEDURE AskKeyMapDefault():d.KeyMapPtr; CODE -36;

PROCEDURE MapANSI(
           string{R.A0}:StrPtr;
           count{R.D0}:LONGINT;
           buffer{R.A1}:ADDRESS;
           length{R.D1}:LONGINT;
           keyMap{R.A2}:d.KeyMapPtr):LONGINT; CODE -48;

PROCEDURE MapRawKey(
           event{R.A0}:InputEventPtr;
           buffer{R.A1}:StrPtr;
           length{R.D1}:INTEGER;
           keyMap{R.A2}:d.KeyMapPtr):INTEGER; CODE -42;

PROCEDURE SetKeyMapDefault(keyMap{R.A0}:d.KeyMapPtr); CODE -30;

END KeyMapL.lib36
