From 93b920a57f4d3843a8e6234e360fcf5e919181a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20B=C3=A1lint=20Misius?= Date: Mon, 8 Mar 2021 21:09:35 +0100 Subject: [PATCH] Ignore key events with KMOD_GUI set #2, see previous commit --- src/PowderToyFontEditor.cpp | 8 ++++++-- src/PowderToySDL.cpp | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/PowderToyFontEditor.cpp b/src/PowderToyFontEditor.cpp index 12bbb9d9d..0cf5222f4 100644 --- a/src/PowderToyFontEditor.cpp +++ b/src/PowderToyFontEditor.cpp @@ -244,7 +244,7 @@ void EventProcess(SDL_Event event) engine->Exit(); break; case SDL_KEYDOWN: - if (event.key.keysym.mod & KMOD_GUI) + if (SDL_GetModState() & KMOD_GUI) { break; } @@ -254,13 +254,17 @@ void EventProcess(SDL_Event event) engine->onKeyPress(event.key.keysym.sym, event.key.keysym.scancode, event.key.repeat, event.key.keysym.mod&KMOD_SHIFT, event.key.keysym.mod&KMOD_CTRL, event.key.keysym.mod&KMOD_ALT); break; case SDL_KEYUP: - if (event.key.keysym.mod & KMOD_GUI) + if (SDL_GetModState() & KMOD_GUI) { break; } engine->onKeyRelease(event.key.keysym.sym, event.key.keysym.scancode, event.key.repeat, event.key.keysym.mod&KMOD_SHIFT, event.key.keysym.mod&KMOD_CTRL, event.key.keysym.mod&KMOD_ALT); break; case SDL_TEXTINPUT: + if (SDL_GetModState() & KMOD_GUI) + { + break; + } engine->onTextInput(ByteString(event.text.text).FromUtf8()); break; case SDL_MOUSEWHEEL: diff --git a/src/PowderToySDL.cpp b/src/PowderToySDL.cpp index bb6e84e47..ef17d8cea 100644 --- a/src/PowderToySDL.cpp +++ b/src/PowderToySDL.cpp @@ -402,7 +402,7 @@ void EventProcess(SDL_Event event) engine->Exit(); break; case SDL_KEYDOWN: - if (event.key.keysym.mod & KMOD_GUI) + if (SDL_GetModState() & KMOD_GUI) { break; } @@ -412,13 +412,17 @@ void EventProcess(SDL_Event event) engine->onKeyPress(event.key.keysym.sym, event.key.keysym.scancode, event.key.repeat, event.key.keysym.mod&KMOD_SHIFT, event.key.keysym.mod&KMOD_CTRL, event.key.keysym.mod&KMOD_ALT); break; case SDL_KEYUP: - if (event.key.keysym.mod & KMOD_GUI) + if (SDL_GetModState() & KMOD_GUI) { break; } engine->onKeyRelease(event.key.keysym.sym, event.key.keysym.scancode, event.key.repeat, event.key.keysym.mod&KMOD_SHIFT, event.key.keysym.mod&KMOD_CTRL, event.key.keysym.mod&KMOD_ALT); break; case SDL_TEXTINPUT: + if (SDL_GetModState() & KMOD_GUI) + { + break; + } engine->onTextInput(ByteString(event.text.text).FromUtf8()); break; case SDL_MOUSEWHEEL: