diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index a4079b9529cad973223c7093ad0d8e0d265a2802..9b0ffb382c8e6ece7ffa87741122aac2064b1103 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -1762,6 +1762,8 @@ void LLWindowSDL::gatherInput()
             gKeyboard->handleKeyDown(mKeyVirtualKey, mKeyModifiers);
             if (mKeyVirtualKey == SDLK_RETURN || mKeyVirtualKey == SDLK_KP_ENTER)
                 handleUnicodeUTF16(SDLK_RETURN, gKeyboard->currentMask(FALSE));
+            if (!mLanguageTextInputAllowed && isascii(mKeyVirtualKey))
+                mCallbacks->handleUnicodeChar(utf8str_to_wchar(std::string((char)mKeyVirtualKey)), mKeyModifiers);
             // part of the fix for SL-13243
             if (SDLCheckGrabbyKeys(event.key.keysym.sym, TRUE) != 0)
                 SDLReallyCaptureInput(TRUE);