Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#11624 closed defect (fixed)

UlLTIMA 8: on iOS needs textinput

Reported by: DominusExult Owned by: criezy
Priority: normal Component: Port: iOS
Keywords: 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 DominusExult, 3 months ago

On Discord:

<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

comment:2 by criezy, 3 months 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 criezy, 3 months ago

Owner: set to criezy
Resolution: fixed
Status: newclosed

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 MenuGump).

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).

Last edited 3 months ago by criezy (previous) (diff)

comment:4 by DominusExult, 3 months 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 DominusExult, 3 months ago

Another needed iOS control issue at #11633

comment:6 by criezy, 3 months 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.

Note: See TracTickets for help on using tickets.