There are a lot of different way to add extra GPIO etc to increase the number of switches for your project without using more digital GPIO's. Note that the preference here is to use momentary switches, because you can easily use an object to make it toggle.
The following example connects 10 monetary switches to 6 Axo GPIO's.
The reason why I did this, is I have 9 core cable I want to use to connect my 10 switch footswitch system to the Axo via a 9 pin D-sub connector.
6 for the switches, 1 for the Axo 3.3v supply, 2 for several other options I am considering.
And was looking for a simple solution to avoid any fancy circuitry.
The pins are divided into 2 group, 1,3,5 and 2,4,6, the main reason behind this was so I could hit two footswitches that were next to each other (potentially increasing switch options even further) without conflict in the object code.
So the switches would read as 1,3,5,7,9 and 2,4,6,8,10.
So the code in the object is simple.
3 inputs, 5 outputs for each group.
Then setup the conditions,
pin1 = s1, pin2 = s2, pin3 = s3, pin4 = s4, pin5 = s5, pin6 = s6
pin 1 & 3 = s7, pin 2 & 4 = s8, pin 3 & 5 = s9, pin 4 & 6 = s10.
For the wiring, when connecting the switch to 2 pins, just use a basic diode to prevent any extra pins being triggered as shown in my diagram. You will require a diode for every pin the switch is connected to when multiples.
You can very easily add an additional 2 switches by connecting pins 1, 3, 5 & 2, 4, 6 to one switch each but you will require 3 diodes each to prevent feedback errors
Or you may even be able to come up with a more suitable breakout combination for your own needs.
Diagram is a little crude.. done with powerpoint.