From 8e90f9abfd7bff37b0fa8f78159e5ab23080209d Mon Sep 17 00:00:00 2001 From: sorgelig Date: Sun, 20 Dec 2020 03:14:52 +0800 Subject: [PATCH] Fix menu hang on F12 autorepeat. --- user_io.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/user_io.cpp b/user_io.cpp index 950b3ed..0ca2f37 100644 --- a/user_io.cpp +++ b/user_io.cpp @@ -3226,7 +3226,10 @@ void user_io_kbd(uint16_t key, int press) { if (is_menu() && !video_fb_state()) printf("PS2 code(make)%s for core: %d(0x%X)\n", (code & EXT) ? "(ext)" : "", code & 255, code & 255); if (!osd_is_visible && !is_menu() && key == KEY_MENU && press == 3) open_joystick_setup(); - else if ((has_menu() || osd_is_visible || (get_key_mod() & (LALT | RALT | RGUI | LGUI))) && (((key == KEY_F12) && ((!is_x86() && !is_archie()) || (get_key_mod() & (RGUI | LGUI)))) || key == KEY_MENU)) menu_key_set(KEY_F12); + else if ((has_menu() || osd_is_visible || (get_key_mod() & (LALT | RALT | RGUI | LGUI))) && (((key == KEY_F12) && ((!is_x86() && !is_archie()) || (get_key_mod() & (RGUI | LGUI)))) || key == KEY_MENU)) + { + if (press == 1) menu_key_set(KEY_F12); + } else if (osd_is_visible) { if (press == 1) menu_key_set(key);