#ifndef JOY_CONTROL_H #define JOY_CONTROL_H #include #include /* Ogólne funkcje urządzeń */ #define MAX_EVENTS 5 struct IORequest *devOpen(STRPTR name, UBYTE unit, ULONG size); void devClose(struct IORequest *io); void doIO(struct IOStdReq *io, WORD cmd, APTR data, ULONG size, LONG flags); void sendIO(struct IOStdReq *io, WORD cmd, APTR data, ULONG size, LONG flags); void clearIO(struct IOStdReq *io); /* Funkcje joysticka */ struct IOStdReq *joyOpen(struct InputEvent *ie, WORD timeout); void joyClose(struct IOStdReq *io); void readEvent(struct IOStdReq *io, struct InputEvent *ie); void setCtrl(struct IOStdReq *io, UBYTE ctrl); UBYTE askCtrl(struct IOStdReq *io); void setTrigger(struct IOStdReq *io, struct GamePortTrigger *gpt); struct GamePortTrigger *stdTrigger(WORD timeout); /* Funkcje klawiatury */ struct IOStdReq *keyboardOpen(struct inputDataMessage *idm, struct Interrupt *is); void keyboardClose(struct IOStdReq *io, struct Interrupt *is); struct eventMessage *getInputEvent(struct MsgPort *port); void freeInputEvent(struct eventMessage *em); extern struct InputEvent *keyboardHandler(register __a0 struct InputEvent *ie, register __a1 struct MsgPort *port); struct inputDataMessage { struct Message msg; struct MsgPort *port; UWORD counter; /* Aktualny indeks komunikatu */ struct InputEvent ie[MAX_EVENTS]; }; #endif /* JOY_CONTROL_H */