Opened 3 years ago
Closed 3 years ago
Last modified 3 years ago
#11624 closed defect (fixed)
UlLTIMA 8: on iOS needs textinput
|Reported by:||DominusExult||Owned by:||criezy|
|Cc:||Game:||Ultima VIII: Pagan|
After the intro you cannot enter your name as no text input keyboard comes up.
Probably needs more work as well to control the Avatar after this hurdle.
Possible ways to look into this is the iOS port of Exult.
Change History (6)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
I tried adding the
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true); call to
Ultima8Engine::enterTextMode(Gump*) (and the false call in
Ultima8Engine::leaveTextMode(Gump*) and it almost works properly.
In theory this looks like the proper thing to do, but the issue is that this is called for any
ModalGump, and this includes for example Movies. It is a bit strange to have the keyboard popup when we start a movie (although I guess this helps if we want to skip it with Esc ;-) ). So I am wondering if we should check the Gump type and only show the virtual keyboard for the MenuGump (the used used to enter the name).
comment:3 by , 3 years ago
|Status:||new → closed|
I have decided to push the change as is. But feel free to comment on whether we should restrict the virtual keyboard to some
ModalGump (such as the
Note: you can also always enable keyboard input in ScummVM iOS by rotating your device to portrait mode or using the pinch-in gesture (and pinch out to hide it).
comment:4 by , 3 years ago
hmm, it definitely needs some finetuning. Only show in the modal gump AND in the "write diary" gump (I don't know which that is - u8_save_gump). And in the write diary gump it would be great if it were onls to show when you tap a savegame slot, e.g. when the blinking cursor shows up.
Thanks for the advice on going into portrait mode or pinching the screen, didn't know that.
comment:5 by , 3 years ago
Another needed iOS control issue at #11633
comment:6 by , 3 years ago
I have relocated the virtual keyboard enabling to the EditWidget gump OnFocus method. I think that is indeed a better solution than my initial commit.
<criezy> If the virtual keyboard doesn't automatically shows when we need to enter text, this means that the engine is probably missing calls to g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true); (and false to hide the keyboard again).
AFAIK the only places text input is needed is for adding your name and adding savegame names