First off, let me say that I'm impressed. The sheer determination and manual skills to get that circuit working on a breadboard are great.

Let's talk about registers and latches. S-R latches are where I started with the footswitcher design. The logic for a one-of-two switcher is pretty simple. You take two inputs, A and B; you apply A to the set input of the A latch and also to the reset of the B latch. Likewise B goes to the set input of the B latch and to the reset of the A latch.

Now go to A, B and C. Three latches. The logic is that A, B and C all go to the Set inputs of their respective latches, and the OR of the other two go to the reset of each respective latch. That way, each input sets its own latch, and resets all the others. This can now be generalized to N-way; signal X goes to the set input of the X latch and to an N-1 way OR gate on the reset of all the other latches. For a one-of N switch, you need N latches, and N times an (N-1) input OR gate. For N=8, you need eight SR latches and eight seven-input OR gates. The latches and OR gates may be made up of the usual assortment of ANDs, NANDs, ORs, NORs and so on to get the right polarity of action and fewest packages.

A latch is set of flipflops which follow a data input when clocked, a set of D-flipflops. In the case of an 8-way latch, there is the latch and one clock generator. You apply 8 inputs to the latch and when the time is right, whack the clock input.

For a one-of-N switch, the time is right whenever any one of the inputs change. So we can generate the clock from the OR of all the inputs. That's what all that diode/resistor/capacitor stuff is in my drawings, an eight-way OR generated in diode logic. So for a one-of -eight with a latch, you need eight D latches and one eight-input OR gate. The rest of the R's and C's are to diddle with the clock pulse timing to generate a solid clock pulse from the data change that meets the setup, clock, and hold time requirements for the latch.

The only difference in the approaches is that the SR latch approach generates an active "Set one and only one" signal every time. The latch approach relies on there only being one input active, because all the inputs are latched in. If the latch has two inputs that are shorted, then every time you hit either one, both get clocked in. The SR is more logically robust because of the extra gating.

But they both work OK for footswitches.