#ifndef EVENT_H #define EVENT_H // general event struct typedef struct event_t { unsigned char type; unsigned char subtype; union { struct { char repeat; char code; } keyevent; struct { short code; } timerevent; }; } event_t; // event types #define EVENT_TYPE_KEYBOARD 1 #define EVENT_TYPE_KEYBOARD_PRESS 1 #define EVENT_TYPE_KEYBOARD_RELEASE 2 #define EVENT_TYPE_TIMER 2 // reads event queue length int Event_count(); // read an event immediately int Event_get(event_t *event); // wait for an event int Event_wait(event_t *event); // reads an event immediately without removing it int Event_peek(event_t *event); // push an event int Event_put(event_t *event); // clean event queue int Event_clean(); // init and quit int Event_init(); int Event_quit(); #endif