By Setting up the OnObjectKeystroke trigger on each of the fields in the portal row, you could use a script to make the row change that you want.
I've just worked that bit out can you help with the script?
If [ Code ( Get ( TriggerKeystroke ) ) = 13 // Return key (qwerty enter) ]
Set Variable [ $Row; Value:Get ( ActivePortalRowNumber ) ]
Go to Portal Row [ $Row + 1 ] [ No dialog ]
Go to Object [ Object Name: Get ( ScriptParameter ) ]
Exit Script [ Result: False ]
You have to select each field in the portal row that you will set up with this script trigger and use the name box in the Inspector to give it a unique object name so that Go to Object in the above script can put the cursor into the correct field. You then, right click the field, select the OnObjectEnter script trigger, specify this same object name as the script parameter (copy and paste it from the Inspector) and set the trigger to perform the above script.
I have since found quite a simple solution to my issue;
If [ Code ( Get ( TriggerKeystroke ) ) = 13 )
Go to portal row next [Next]
I've then assigned this to the layout keystroke trigger it then works of all the portals on the layout ok if you don't need enter for anything else?
I had that code originally, but found that if I was adding a new record via the portal, it wouldn't work. I had to commit records first and that then necessitated the additional code to get back on the correct portal row and the correct field within that row.
So that simpler solution should work if you haven't enabled "allow creation of records via this relationship".