One technique commonly used by Sony (I repair lots of their gear) is to use a switched reference supply through a resistance ladder. You can design a series of resistors with values designed to create analog voltages when a button is pressed, which shorts one point in the ladder down to zero volts. The simplest example is just one switch and two resistors. The resistors are in series across the power supply, and are of equal value. The common connection between the resistors is sent to an anolog ADC input on the Arduino. When no button is pressed the voltage is VCC / 2. When the button, which is connected across the lower resistor, is pressed, the input becomes ZERO volts.

This can be expanded for two buttons using three equal resistors in series, by splitting the lower resistor into two and strapping another button across the new lower resistor in the chain. No buttons closed, and the ADC input voltage is 2 x VCC/3 (ie two-thirds of VCC). Press button one, which shorts the two lower resistors to ground and the input voltage is again zero, but press the second button and the voltage at input becomes VCC/2 again. This can continue until the voltage difference between steps becomes unreliable for accurate determining by the ADC, but in theory it allow for up to 1023 buttons with a 10-bit ADC.

In practice a chain of same-value resistors is not suitable unless the number of buttons is small. Practical applications use a non-linear ladder so that the voltage generated at the reference point becomes more linear and simpler to read by the ADC. I am sure there is a simple mathematical function to work out the resistor value ratios, but I am a non-mathematician I am afraid to say.

Hope this helps. Jim.

PS - one downfall of this technique is when worn switches become ohmic. Users of in-line remote controls on their earphone cables will have experienced this, when pressing play is incorrectly interpreted as next track or some other function. Or worse still, record!