If you get cute, you might be able to do this with Install OnTimer Script. This sets a timer to perform a script every X seconds and you specify the number of seconds. You can use this script to set exactly one timer for each window that you have open. If you perform this script step on a window where a timer is already "installed", it resets the timer to start counting down via the interval specified in this new execution of the script step.
Thus, you can include calls to Install OnTimer with various other script triggers and scripts performed by buttons to keep resetting the timer. If none of these scripts get performed, the user is idle, the timer runs down, and the specified script can be performed to commit the current record, or whatever "onIdle" processing you need to do.
I would be careful of commiting records this way, however. The record committed may be incomplete and such incomplete records could cause problems for your database and/or your users. You may want to set a field in the record to "flag" it as possibly incomplete when you commit it via this timer controlled script.