summaryrefslogtreecommitdiff
path: root/src/controller.c
blob: 5fb1e0b0a91d75550a702d87d960c25182e0554a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <SDL.h>
#include "controller.h"


void 
controller_update(controller_t *self, 
                  SDL_Event    *event)
{
  if (event->type == SDL_KEYDOWN) {
    switch (event->key.keysym.sym) {
      case SDLK_UP:
        self->up = true;
        break;
      case SDLK_DOWN:
        self->down = true;
        break;
      case SDLK_LEFT:
        self->left = true;
        break;
      case SDLK_RIGHT:
        self->right = true;
        break;
    }
  }

  if (event->type == SDL_KEYUP) {
    switch (event->key.keysym.sym) {
      case SDLK_UP:
        self->up = false;
        break;

      case SDLK_DOWN:
        self->down = false;
        break;

      case SDLK_LEFT:
        self->left = false;
        break;

      case SDLK_RIGHT:
        self->right = false;
        break;
    }
  }
}