#ifndef INPUT_H
#define INPUT_H

#include "../Daodan.h"

typedef void (*DDtCustomActionCallback)(intptr_t ctx);

typedef enum {
	DDcEventType_KeyPress,
	DDcEventType_KeyDown,
} DDtActionEventType;

void DDrInput_RegisterCustomAction(const char *name, DDtActionEventType type,
                                   DDtCustomActionCallback callback,
                                   intptr_t ctx);
bool DDrInput_WindowProc(HWND window, UINT msg, WPARAM wparam, LPARAM lparam,
                         LRESULT* res);

void DDrInput_PatchUtilityInput(void);
void DDrInput_PatchCustomActions(void);
void DDrInput_PatchDaodanInput(void);

#endif
