type
    Node_t = unknown 14,
    List_t = unknown 14,

    KeyMap_t = struct {
	*byte km_LoKeyMapTypes;
	*ulong km_LoKeyMap;
	*byte km_LoCapsable;
	*byte km_LoRepeatable;
	*byte km_HiKeyMapTypes;
	*ulong km_HiKeyMap;
	*byte km_HiCapsable;
	*byte km_HiRepeatable;
    },

    KeyMapNode_t = struct {
	Node_t kn_Node;
	KeyMap_t kn_KeyMap;
    },

    KeyMapResource_t = struct {
	Node_t kr_Node;
	List_t kr_List;
    };

byte
    KC_NOQUAL	= 0,
    KC_VANILLA	= 7,
    KCB_SHIFT	= 0,
    KCF_SHIFT	= 1 << KCB_SHIFT,
    KCB_ALT	= 1,
    KCF_ALT	= 1 << KCB_ALT,
    KCB_CONTROL = 2,
    KCF_CONTROL = 1 << KCB_CONTROL,
    KCB_DOWNUP	= 3,
    KCF_DOWNUP	= 1 << KCB_DOWNUP,

    KCB_DEAD	= 5,
    KCF_DEAD	= 1 << KCB_DEAD,

    KCB_STRING	= 6,
    KCF_STRING	= 1 << KCB_STRING,

    KCB_NOP	= 7,
    KCF_NOP	= 1 << KCB_NOP,

    DPB_MOD	= 0,
    DPF_MOD	= 1 << DPB_MOD,
    DPB_DEAD	= 1,
    DPF_DEAD	= 1 << DPB_DEAD,

    DP_2DINDEXMASK	= 0x0f,
    DP_2DFACSHIFT	= 4;
