Die Unterscheidung gibt es tatsächlich nicht (ggf. findet man da was auch in der INFDS).
Autoenter wird ausgelöst, wenn alle Zeichenpositionen eingegeben werden.
Dies passiert auch, wenn halt auf der letzten Stelle ein Blank erfasst wird.
Mit "Eingabe+" wird das Feld bis zum Ende mit Leerzeichen gefüllt, also auch dann Autoenter ausgelöst.
Wenn deine Steuerung also vom letzten Zeichen abhängt, dann musst du dieses auch prüfen "%subst()".

Bedenke aber, dass du dann bei jedem Enter immer wieder auf die Felder positionierst.
Also musst du auch noch die Cursorposition abfragen wann Enter gedrückt wurde, da das ja nur auf diesem Feld relevant ist.

Warum muss es so kompliziert werden?
Lass doch die Cursor-Steuerung und mach eine vernünftige Feldprüfung.
Bei mir klappt das so seit 22 Jahren .