Did the dog eat all of your microcontroller I/O? Here’s a handy little article from Open Music Labs on how to do some clever circuit hacking to allow a shift register (and thus as many switches as you could possibly want) to be read from 2 or even 1(!) microcontroller pins. Nifty!