diff --git a/src/unix/unix_osd.c b/src/unix/unix_osd.c index 9e9efc645..8122e19eb 100644 --- a/src/unix/unix_osd.c +++ b/src/unix/unix_osd.c @@ -372,9 +372,18 @@ int osd_handle(SDL_Event event) { if (event.key.keysym.scancode == SDL_SCANCODE_ESCAPE) { - // Close the OSD - // debug: fprintf(stderr, "OSD HANDLE: escape\n"); - return 0; + if (state == STATE_MENU) + { + // Close the OSD + // debug: fprintf(stderr, "OSD HANDLE: escape\n"); + return 0; + } + else + { + // Back to Main and keep it open + state = STATE_MENU; + return 1; + } } if (state == STATE_MENU)