That software technique of using the last status of the pin (01111111) looks nice on paper, except I'm going to have nearly 100 "controls" (pushbuttons, rotary switches, rotary encoders and rotary potentiometers) on this basic project. And future versions of this project is going to have a truckload more. That's why I'm trying to stay on hardware solutions if at all possible.

I put in 3 orders to JLCPCB so far. Really looking forward to see the end result in person.