Nothing specific to the keyboard, but I thought that OnObjectSave/Exit, as well as OnRecordCommit could handle tasks like that. Not sure what exactly fires off when the keyboard is closed off the top of my head, but it shouldn't be hard for you to attach sample scripts to each trigger and figure it out.
There's also OnGestureTap that is specific to FMGo and might be usable.
Use an OnObjectModify trigger to trigger a script that has a go to field (set to the field you are modifying) step as the last step in the script. This will keep the keyboard open while the user is typing.
The problem when using an OnObjectModify trigger is that I need to have a Commit Records script step in order for the filtered portal to refresh, and including this causes the keyboard to hide and show after every character they type which is obviously not ideal. It does take the cursor back to the field but the flashing of the keyboard hiding/showing after every keystroke isn't a good experience for the user.
I'm trying to find a way to keep the keyboard open and have the filtered portal either refresh when closing the keyboard or after every character - but I need to include the Commit Records step otherwise my portal won't refresh when the trigger script runs.
I do exactly what you want to do and my screen and keyboard don't flash. The keyboard appears to stay open the whole time. I have the Go to field step right after the Commit step. I've tested this on an iPad 2 and iPad Air. The problem might be how long it takes your portal to refresh or possibly if you are using a sorted portal.
Hmmm - that's interesting. I tested with/without the Commit Records step and every time I included it the keyboard would hide. I also have a Refresh Window step in there. I'll do some more tests to see if I can isolate the step that causes the keyboard to hide.
My portal is sorted and filtered.
Are you able to post your script so I can try and reproduce at my end?
Get rid of the refresh window. It might be causing the problem. My script is basically
Go to Field
The Refresh Window is the step that causes the keyboard to close/reappear, however I need to keep this in my script as my portal won't refresh on screen without it.
I've always had to include a Refresh Window step with a filtered portal trigger to get it to redraw on screen. Looks like I'm stuck here.
Just wanted to confirm that you're using a filtered portal? Or is your portal filtered via a relationship?
I am not using a filtered portal. I switched my portal to a filtered portal and my keyboard continued to stay open. Not sure why it isn't working for you. I suspect it has something to do with the calc in your filter. Have you tried using refresh object instead of refresh window?
I've just tried using Refresh Object instead of Refresh Window but my portal is not updating. Looks like I'm stuck with using Refresh Window and OnObjectSave trigger, which does require the user to click outside of the filter field to force the portal to refresh.
Thanks for your help/suggestions so far.