dynamic – Update of an InputField with {Temporary, Update Function} is triggered

I have a DynamicModule that contains a set of InputFields and a button to recalculate. The calculation takes a while, so I use the dynamic formulation [varname, {Temporary, updatefunction}]. However, if the cursor is in a field I am editing and I then click the recalculate button, the recalculation will be performed without the updated version of varname. What can I add to the button code to trigger the update, regardless of which field the cursor is in? For example, is there a way to simulate the insertion of a tab key stop into the input stream, causing the cursor to leave the current field and move to the next one?