i has the advantages to be 'user configurable' and support many matrix Keypad type... up to 8X8.

Can be used in a Timer interrupt as well, so you can read from it when you want, etc etc.

Enjoy!