diff --git a/desktop_version/src/KeyPoll.cpp b/desktop_version/src/KeyPoll.cpp index 1fd3b09d..e6242369 100644 --- a/desktop_version/src/KeyPoll.cpp +++ b/desktop_version/src/KeyPoll.cpp @@ -79,6 +79,7 @@ void KeyPoll::disabletextentry() void KeyPoll::Poll() { + bool modifierPressed = false; SDL_Event evt; while (SDL_PollEvent(&evt)) { @@ -94,6 +95,8 @@ void KeyPoll::Poll() pressedbackspace = true; } + modifierPressed = keymap[SDLK_LCTRL] || keymap[SDLK_RCTRL] || keymap[SDLK_LALT] || keymap[SDLK_RALT] || keymap[SDLK_LGUI] || keymap[SDLK_RGUI]; + #ifdef __APPLE__ /* OSX prefers the command keys over the alt keys. -flibit */ bool altpressed = keymap[SDLK_LGUI] || keymap[SDLK_RGUI]; #else @@ -135,7 +138,10 @@ void KeyPoll::Poll() } break; case SDL_TEXTINPUT: - keybuffer += evt.text.text; + if (!modifierPressed) + { + keybuffer += evt.text.text; + } break; /* Mouse Input */ diff --git a/desktop_version/src/editor.cpp b/desktop_version/src/editor.cpp index 2eaaa905..6ee8c7f8 100644 --- a/desktop_version/src/editor.cpp +++ b/desktop_version/src/editor.cpp @@ -495,6 +495,7 @@ void editorclass::getlin(const enum textmode mode, const std::string& prompt, st ed.textmod = mode; ed.textptr = ptr; ed.textdesc = prompt; + ed.textentry = true; key.enabletextentry(); if (ptr) {