MCPcopy Create free account
hub / github.com/begla/Intrinsic / pumpEvents

Method pumpEvents

IntrinsicCore/src/IntrinsicCoreSystemEventProviderSDL.cpp:36–299  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34// <-
35
36void SDL::pumpEvents()
37{
38 SDL_Event sdlEvent;
39 while (SDL_PollEvent(&sdlEvent))
40 {
41 if (sdlEvent.type == SDL_KEYDOWN || sdlEvent.type == SDL_KEYUP)
42 {
43 Input::KeyEvent keyEvent;
44 keyEvent.key = Input::Key::kInvalid;
45 keyEvent.playerId = 0u;
46
47 // Keys
48 switch (sdlEvent.key.keysym.sym)
49 {
50 case SDLK_UP:
51 keyEvent.key = Input::Key::kUp;
52 break;
53 case SDLK_DOWN:
54 keyEvent.key = Input::Key::kDown;
55 break;
56 case SDLK_RIGHT:
57 keyEvent.key = Input::Key::kRight;
58 break;
59 case SDLK_LEFT:
60 keyEvent.key = Input::Key::kLeft;
61 break;
62 case SDLK_w:
63 keyEvent.key = Input::Key::kW;
64 break;
65 case SDLK_a:
66 keyEvent.key = Input::Key::kA;
67 break;
68 case SDLK_s:
69 keyEvent.key = Input::Key::kS;
70 break;
71 case SDLK_d:
72 keyEvent.key = Input::Key::kD;
73 break;
74 case SDLK_f:
75 keyEvent.key = Input::Key::kF;
76 break;
77 case SDLK_t:
78 keyEvent.key = Input::Key::kT;
79 break;
80 case SDLK_F1:
81 keyEvent.key = Input::Key::kF1;
82 break;
83 case SDLK_F2:
84 keyEvent.key = Input::Key::kF2;
85 break;
86 case SDLK_F3:
87 keyEvent.key = Input::Key::kF3;
88 break;
89 case SDLK_F10:
90 keyEvent.key = Input::Key::kF10;
91 break;
92 case SDLK_0:
93 keyEvent.key = Input::Key::k0;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected