Simultaneous Funtion/One-Shot Emulation

Maybe have an interrupt on changing of the input pin state that affects a global state variable. Then in the loop() function you'd set the ledPin HIGH or LOW accordingly. You can have the interrupt only trigger on HIGH, and then mark the time on another variable, and in the loop you would set it LOW after that time stamp is far enough in the past.