unit Keymap;

INTERFACE
uses Exec, Input;


type
	pKeyMapResource = ^tKeyMapResource;
	tKeyMapResource = record
		kr_Node: tNode;
		kr_List: tList;
		end;

	pKeyMap = ^tKeyMap;
	tKeyMap = record
		km_LoKeyMapTypes: pbyte;
		km_LoKeyMap: plong;
		km_LoCapsable: pbyte;
		km_LoRepeatable: pbyte;
		km_HiKeyMapTypes: pbyte;
		km_HiKeyMap: plong;
		km_HiCapsable: pbyte;
		km_HiRepeatable: pbyte;
		end;

	pKeyMapNode = ^tKeyMapNode;
	tKeyMapNode = record
		kn_Node: tNode;
		kn_KeyMap: tKeyMap;
		end;



const
	KCB_ALT = 1;
	KCF_ALT = 2;
	DP_2DINDEXMASK = $F;
	DPB_MOD = 0;
	DPF_MOD = 1;
	KCB_NOP = 7;
	DP_2DFACSHIFT = 4;
	KCF_NOP = $80;
	KCB_CONTROL = 2;
	KCF_CONTROL = 4;
	KC_VANILLA = 7;
	KCB_STRING = 6;
	KCB_DEAD = 5;
	KCF_STRING = $40;
	KCF_DEAD = $20;
	KCB_DOWNUP = 3;
	DPB_DEAD = 3;
	KCF_DOWNUP = 8;
	DPF_DEAD = 8;
	KCB_SHIFT = 0;
	KCF_SHIFT = 1;
	KC_NOQUAL = 0;


IMPLEMENTATION
end.
