Mercurial > repos > blastem
diff nuklear_ui/nuklear_sdl_gles2.h @ 1931:374a5ae694e8 mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 18 Apr 2020 11:42:53 -0700 |
parents | e07fc3d473b2 |
children | 579fe3f6fe76 |
line wrap: on
line diff
--- a/nuklear_ui/nuklear_sdl_gles2.h Thu Apr 18 22:06:47 2019 -0700 +++ b/nuklear_ui/nuklear_sdl_gles2.h Sat Apr 18 11:42:53 2020 -0700 @@ -414,6 +414,30 @@ else nk_input_key(ctx, NK_KEY_RIGHT, down); } else return 0; return 1; + } else if (evt->type == SDL_CONTROLLERBUTTONDOWN || evt->type == SDL_CONTROLLERBUTTONUP) { + int down = evt->type == SDL_CONTROLLERBUTTONDOWN; + if (evt->cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_UP) { + nk_input_key(ctx, NK_KEY_UP, down); + } else if (evt->cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN) { + nk_input_key(ctx, NK_KEY_DOWN, down); + } else if (evt->cbutton.button == SDL_CONTROLLER_BUTTON_A || evt->cbutton.button == SDL_CONTROLLER_BUTTON_START) { + nk_input_key(ctx, NK_KEY_ENTER, down); + } + } else if (evt->type == SDL_CONTROLLERAXISMOTION) { + if (evt->caxis.axis == SDL_CONTROLLER_AXIS_LEFTY || evt->caxis.axis == SDL_CONTROLLER_AXIS_RIGHTY) { + int down = abs(evt->caxis.value) > 2000; + if (evt->caxis.value >= 0) { + if (ctx->input.keyboard.keys[NK_KEY_UP].down) { + nk_input_key(ctx, NK_KEY_UP, 0); + } + nk_input_key(ctx, NK_KEY_DOWN, down); + } else { + if (ctx->input.keyboard.keys[NK_KEY_DOWN].down) { + nk_input_key(ctx, NK_KEY_DOWN, 0); + } + nk_input_key(ctx, NK_KEY_UP, down); + } + } } else if (evt->type == SDL_MOUSEBUTTONDOWN || evt->type == SDL_MOUSEBUTTONUP) { /* mouse button */ int down = evt->type == SDL_MOUSEBUTTONDOWN;