diff options
Diffstat (limited to 'engines/glk/window_text_grid.cpp')
-rw-r--r-- | engines/glk/window_text_grid.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/engines/glk/window_text_grid.cpp b/engines/glk/window_text_grid.cpp index e0459e0b2e..226b2f1acd 100644 --- a/engines/glk/window_text_grid.cpp +++ b/engines/glk/window_text_grid.cpp @@ -265,6 +265,9 @@ void TextGridWindow::requestLineEvent(char *buf, uint maxlen, uint initlen) { if (g_vm->gli_register_arr) _inArrayRock = (*g_vm->gli_register_arr)(buf, maxlen, "&+#!Cn"); + + // Switch focus to the new window + _windows->inputGuessFocus(); } void TextGridWindow::requestLineEventUni(uint32 *buf, uint maxlen, uint initlen) { @@ -317,6 +320,23 @@ void TextGridWindow::requestLineEventUni(uint32 *buf, uint maxlen, uint initlen) if (g_vm->gli_register_arr) _inArrayRock = (*g_vm->gli_register_arr)(buf, maxlen, "&+#!Iu"); + + // Switch focus to the new window + _windows->inputGuessFocus(); +} + +void TextGridWindow::requestCharEvent() { + _charRequest = true; + + // Switch focus to the new window + _windows->inputGuessFocus(); +} + +void TextGridWindow::requestCharEventUni() { + _charRequestUni = true; + + // Switch focus to the new window + _windows->inputGuessFocus(); } void TextGridWindow::cancelLineEvent(Event *ev) { |