made press_button usable in general contexts, at a cost of 18 bytes