The OnObjectExit script will fire regardless of how the user exits the field.
To set up the Enter key as a way of tabbing out of the field, with the field selected in layout mode look in the Inspector window, there's an option to check there for make that happen.
I'm going to test the OnObjectKeystroke trigger today. If the script detects a "Return" it will continue the script otherwise exit.
You can use the Code(Get(TriggerKeystroke)) function...
If (Code(Get(TriggerKeystroke)) = 9 //Tab)
ElseIf (Code(Get(TriggerKeystroke)) = 13 // Carriage Retrurn)