Lots of input switches

I want to input around 50 switches to my arduino. I know I can do this with a matrix but this will still take quite a lot inputs. Is there some kind of module that could do this, I've found an I2C chip that might do it but not found it in a ready to use module. Something like the mame usb keyboard emulators but more arduino friendly? Or is there some other neat way of doing this? I don't want to use the potential divider method as I need the analogue inputs for something else.

For 50 switches, you'll need 7 + 8 = 15 pins. (7 * 8 = 56)
You could use a serial in parallel out shift register with open collector outputs for the 8 rows, and read the 7 columns with normal digital input pins, or using a parallel in serial out shift register.
Using SPI, this is really fast.
In this case you'll need only 5 pins for all 50 switches. (3 SPI pins and two latch/slave select lines.)

Pieter