diff --git a/src/openrct2-ui/TextComposition.cpp b/src/openrct2-ui/TextComposition.cpp index ed4cc1a8f0..cf23667291 100644 --- a/src/openrct2-ui/TextComposition.cpp +++ b/src/openrct2-ui/TextComposition.cpp @@ -111,9 +111,8 @@ void TextComposition::HandleMessage(const SDL_Event * e) // Map Keypad enter to regular enter. key = SDLK_RETURN; } - - // _lastKeyPressed = e.key.keysym.sym; - // _keysPressed[e.key.keysym.scancode] = 1; + + GetContext()->GetUiContext()->SetKeysPressed(key, e->key.keysym.scancode); // Text input if (_session.Buffer == nullptr) diff --git a/src/openrct2-ui/UiContext.cpp b/src/openrct2-ui/UiContext.cpp index 894aa17490..492dade135 100644 --- a/src/openrct2-ui/UiContext.cpp +++ b/src/openrct2-ui/UiContext.cpp @@ -217,6 +217,12 @@ public: { SDL_SetWindowGrab(_window, value ? SDL_TRUE : SDL_FALSE); } + + void SetKeysPressed(uint32 keysym, uint8 scancode) override + { + _lastKeyPressed = keysym; + _keysPressed[scancode] = 1; + } // Drawing IDrawingEngine * CreateDrawingEngine(DRAWING_ENGINE_TYPE type) override diff --git a/src/openrct2/ui/UiContext.h b/src/openrct2/ui/UiContext.h index 5a49cad541..9cb8cb980a 100644 --- a/src/openrct2/ui/UiContext.h +++ b/src/openrct2/ui/UiContext.h @@ -119,6 +119,7 @@ namespace OpenRCT2 virtual void SetCursorTrap(bool value) abstract; virtual const uint8 * GetKeysState() abstract; virtual const uint8 * GetKeysPressed() abstract; + virtual void SetKeysPressed(uint32 keysym, uint8 scancode) abstract; // Drawing virtual Drawing::IDrawingEngine * CreateDrawingEngine(Drawing::DRAWING_ENGINE_TYPE type) abstract;