#include <stdio.h>
#include <stdbool.h>
#include <SDL.h>
const int WIDTH = 800;
const int HEIGHT = 600;
static SDL_Window* window = NULL;
static SDL_Renderer* renderer = NULL;
bool initialize(void) {
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
fprintf(stderr, "SDL_Init Error: %s\n", SDL_GetError());
return false;
}
window = SDL_CreateWindow("SDL",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
WIDTH, HEIGHT, SDL_WINDOW_SHOWN);
if (!window) {
return false;
}
renderer = SDL_CreateRenderer(window, -1,
SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
return true;
}
void quit(void) {
if (renderer)
SDL_DestroyRenderer(renderer);
if (window)
SDL_DestroyWindow(window);
SDL_Quit();
}
int main(int argc, char* argv[]) {
atexit(quit);
if (!initialize()) {
exit(1);
}
bool quit = false;
SDL_Event event;
while (!quit) {
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_KEYDOWN:
printf("SDL_KEYDOWN code: %d\n", event.key.keysym.sym);
break;
case SDL_QUIT:
quit = true;
break;
}
}
}
return 0;
}
/*
run:
SDL_KEYDOWN code: 32
SDL_KEYDOWN code: 13
SDL_KEYDOWN code: 49
SDL_KEYDOWN code: 119
*/