Amps spent in the following design
The solution you show unfortunately still needs a resistor pull-up at the switch to work, and will dissipate power when the button is pressed.

If you're willing to use two GPIOs, here's how you could do it:







simulate this circuit &ndash; Schematic created using CircuitLab


In button un-pressed state, the GPIO_SCAN is low.
On detecting a button press, bring GPIO_SCAN high.
Pulse GPIO_SCAN low every so often and test if the button is still pressed.
On detecting button release, keep GPIO_SCAN low.


This would use less power.

Remote controls work like this, though multiply the pushbuttons by the number of keys.