MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / EventHandler

Function EventHandler

test/browser/test_sdl2_key.c:14–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12int result = 1;
13
14int EventHandler(void *userdata, SDL_Event *event) {
15 int mod;
16
17 switch(event->type) {
18 case SDL_KEYUP:
19 break;
20 case SDL_KEYDOWN:
21 switch (event->key.keysym.sym) {
22 case SDLK_RIGHT: printf("KEYDOWN: right\n"); result *= 7; break;
23 case SDLK_LEFT: printf("KEYDOWN: left\n"); result *= 11; break;
24 case SDLK_DOWN: printf("KEYDOWN: down\n"); result *= 13; break;
25 case SDLK_UP: printf("KEYDOWN: up\n"); result *= 17; break;
26 case SDLK_a: printf("KEYDOWN: a\n"); result *= 19; break;
27 default: {
28 if (event->key.keysym.scancode == SDL_SCANCODE_B) {
29 printf("KEYDOWN: b scancode\n"); result *= 23; break;
30 }
31 printf("unknown key: sym %d scancode %d\n", event->key.keysym.sym, event->key.keysym.scancode);
32 emscripten_force_exit(result); // comment this out to leave event handling active. Use the following to log DOM keys:
33 // addEventListener('keyup', function(event) { console.log(event->keyCode) }, true)
34 }
35 }
36 break;
37 case SDL_TEXTINPUT:
38 printf("TEXTINPUT: %c\n", event->text.text[0]);
39 if (event->text.text[0] == 'A') {
40 result *= 5;
41 }
42 break;
43 default: /* Report an unhandled event */
44 printf("I don't know what this event is (type=%d)!\n", event->type);
45 }
46 return 0;
47}
48
49void pump_events() {
50 SDL_Event event;

Callers 1

pump_eventsFunction · 0.70

Calls 1

printfFunction · 0.85

Tested by

no test coverage detected