From dc7e8e1811ac6ba4fc06c93daf209e7d8931314c Mon Sep 17 00:00:00 2001 From: sonninnos <45124675+sonninnos@users.noreply.github.com> Date: Fri, 20 Dec 2024 19:38:01 +0200 Subject: [PATCH] Prevent stuck Game Focus dupe keyboard event (#17273) --- input/input_driver.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/input/input_driver.c b/input/input_driver.c index e101ffefc2..3c1b701122 100644 --- a/input/input_driver.c +++ b/input/input_driver.c @@ -7452,8 +7452,12 @@ void input_keyboard_event(bool down, unsigned code, * - not with Game Focus * - not from keyboard device type mappings * - not from overlay keyboard input - * - with 'enable_hotkey' modifier set and unpressed. */ - if ( !input_st->game_focus_state.enabled + * - with 'enable_hotkey' modifier set and unpressed. + * + * Also do not block key up events, because keys will + * get stuck if Game Focus key is also pressing a key. */ + if ( down + && !input_st->game_focus_state.enabled && BIT512_GET(input_st->keyboard_mapping_bits, code) && device != RETRO_DEVICE_POINTER) {