You can't have it update when they press a key, but you could use events 1, 2, 3, and 4 (basically any non-idle event) to reset the wait time.
'Use this code to set the time
minute = 1 / (24 * 60)
waitUntil = now() + (5 * minute)
'Use this code in your wait
if now >= waitUntil then
'do something
end if
The catch to this is that the idle process isn't very reliable. And, chances are the message box wouldn't show until they were actively using the form again.
Other alternatives would be to run a vbscript process that sleeps for the specified amount of time and then fires a message box. You then have your EB kill the script and launch a new one each time event 1-4 is fired.
Still, that's not a very elegant solution. If you don't have access to an actual programming language, then something like HTA where you can use the setTimeout method would be cleaner. The nice thing about a timeout is that it can be cleared and restarted on a key press.