From f7e12586cf7fccb4dd6eda00a1648305ab5cf3ba Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 15 Jun 2024 08:44:07 +0300 Subject: [PATCH] engine: platform: sdl: we must notify the engine about the unpressed button when text input was activated --- engine/platform/sdl/events.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/engine/platform/sdl/events.c b/engine/platform/sdl/events.c index 34b6990f..4797a753 100644 --- a/engine/platform/sdl/events.c +++ b/engine/platform/sdl/events.c @@ -156,21 +156,18 @@ static void SDLash_KeyEvent( SDL_KeyboardEvent key ) } #endif - if( SDL_IsTextInputActive( )) + if( SDL_IsTextInputActive( ) && down ) { // this is how engine understands ctrl+c, ctrl+v and other hotkeys - if( down && cls.key_dest != key_game ) + if( cls.key_dest != key_game && FBitSet( SDL_GetModState(), KMOD_CTRL )) { - if( FBitSet( SDL_GetModState(), KMOD_CTRL )) + if( keynum >= SDL_SCANCODE_A && keynum <= SDL_SCANCODE_Z ) { - if( keynum >= SDL_SCANCODE_A && keynum <= SDL_SCANCODE_Z ) - { - keynum = keynum - SDL_SCANCODE_A + 1; - CL_CharEvent( keynum ); - } - - return; + keynum = keynum - SDL_SCANCODE_A + 1; + CL_CharEvent( keynum ); } + + return; } #if SDL_VERSION_ATLEAST( 2, 0, 0 )