/* | |
* Copyright (c) 2022, Basalte bv | |
* Copyright (c) 2023 Nordic Semiconductor | |
* | |
* SPDX-License-Identifier: Apache-2.0 | |
*/ | |
#include <SDL.h> | |
#include "gpio_emul_sdl_bottom.h" | |
static int sdl_filter_bottom(void *arg, SDL_Event *event) | |
{ | |
struct gpio_sdl_data *data = arg; | |
/* Only handle keyboard events */ | |
switch (event->type) { | |
case SDL_KEYDOWN: | |
case SDL_KEYUP: | |
break; | |
default: | |
return 1; | |
} | |
data->event_scan_code = event->key.keysym.scancode; | |
data->key_down = event->type == SDL_KEYDOWN; | |
return data->callback(arg); | |
} | |
void gpio_sdl_init_bottom(struct gpio_sdl_data *data) | |
{ | |
SDL_AddEventWatch(sdl_filter_bottom, (void *)data); | |
} |