he needs to click a button to update the record. However, the oracle form the commit the update action.
This might be the case only if WHEN-BUTTON-PRESSED contains COMMIT. Obviously - remove COMMIT from that trigger.
I don't want to allow Oracle Form to perform commit UNTIL the user closes the oracle form
That's rather strange. Normally, when you go out form a form, you don't really want to save changes you made. Anyway: from what you said, KEY-COMMIT would be "NULL;" while KEY-EXIT would be "COMMIT; EXIT_FORM;". Now you should explain how do you plan to let users exit the form WITHOUT saving changes they made? KEY-EXIT won't work, obviously, as it will COMMIT those changes. Eh? A problem?
From my point of view: COMMIT should be done by user, explicitly by pressing the "Save" button. It means that user is aware of what he/she does, meaning: "Yes, I'm sure I want to commit". Pressing the EXIT button opens an alert, asking the user whether he/she wants to save changes, doesn't want to do that, or cancel the EXIT action. That's by default, and Oracle did it well.
Why exactly do you want to change that functionality?