The usual way to wire up a SPST switch to a MCU is by means of a pull-up resistor. However, this wastes current when the switch is closed. If this switch is used to wake up the MCU from sleep, then this current (100-500 µA) is significant compared to the sleep current (< 0.1 µA). I imagine increasing the resistor value up to megaohms wouldn't be practical for a number of reasons. So is there a better way to interface a SPST in general? I have a couple of pins on the MCU to spare (but keep in mind the MCU has to be put in sleep most of the time - it should wake up and do its stuff only when the switch state changes).
The only solution that comes to my mind is to basically use the pull-up scheme, but buffer it through a P-MOSFET/N-MOSFET pair for increased input impedance.
And yes, I realize the solution is trivial if we were dealing with a SPDT or a push-button.