I think your term “pulse” (in MCU terms typically a rapid, possibly repeating, ON/OFF signal) in your title and topic is misleading… you seem to be simply requiring a press for a time, no pulsing required. Perhaps some editing so as to attract the proper readership and suggestions.
I have also recently added in a code routine to make any Button Widget (or perhaps any action widget, or function call) into a timed action. Should be a simple drop in replacement for those awful delay()
routines