Better error handling

This commit is contained in:
Alexander Batalov 2023-06-01 18:27:14 +03:00
parent 5298dc0985
commit 39b52117e4
1 changed files with 16 additions and 10 deletions

View File

@ -270,15 +270,22 @@ static SDL_Scancode get_scancode_from_key(int key)
bool sfall_kb_is_key_pressed(int key)
{
const Uint8* state = SDL_GetKeyboardState(nullptr);
SDL_Scancode scancode = get_scancode_from_key(key);
if (scancode == SDL_SCANCODE_UNKNOWN) {
return false;
}
const Uint8* state = SDL_GetKeyboardState(nullptr);
return state[scancode] != 0;
}
void sfall_kb_press_key(int key)
{
SDL_Scancode scancode = get_scancode_from_key(key);
if (scancode != SDL_SCANCODE_UNKNOWN) {
if (scancode == SDL_SCANCODE_UNKNOWN) {
return;
}
SDL_Event event;
event.key.keysym.scancode = scancode;
@ -288,4 +295,3 @@ void sfall_kb_press_key(int key)
event.type = SDL_KEYUP;
SDL_PushEvent(&event);
}
}