diff --git a/src/events.h b/src/events.h new file mode 100644 index 0000000..971a29d --- /dev/null +++ b/src/events.h @@ -0,0 +1,25 @@ +void unigi_event_get(unigi_type_event * event) { + SDL_Event platform_event; + if (SDL_PollEvent(&platform_event)) { + if ( + platform_event.type == SDL_KEYDOWN || + platform_event.type == SDL_KEYUP + ) { + event -> type = unigi_enum_event_input_keyboard; + event -> data.input_keyboard.device = 0; + event -> data.input_keyboard.button = platform_event.key.keysym.scancode; + if (platform_event.type == SDL_KEYDOWN) { + event -> data.input_keyboard.down = 1; + } else { + event -> data.input_keyboard.down = 0; + } + return; + } + + event -> type = unigi_enum_event_unknown; + return; + } else { + event -> type = unigi_enum_event_none; + return; + } +} diff --git a/src/main.h b/src/main.h index e8af719..2c6fc01 100644 --- a/src/main.h +++ b/src/main.h @@ -1,7 +1,7 @@ #include #include #include "graphics.h" -#include "input.h" +#include "events.h" unigi_type_error unigi_init() { return 0;