This is a fun project and now I can play my old GBA games again!
The instruction in the Adafruit webpage is clear enough, however there is a minor problem when configuring the GPIO/Key mapping for 4 buttons setting. In their setting, the button A is mapped to CTRL key and button y is mapped to Z key, which cause system crash when both button are pressed =P. A Ctrl-Z is sent and who knows which application was killed, anyway the Pi paused and a reboot is needed.
So simply use other key that would not cause control key, what I used is key Y for button Y.
Also I add the volume knob as described in https://www.thingiverse.com/thing:969194. This is useful when I need to play my PIGRRL outdoor, as I usually play it when travelling between my home and working place and I need to turn down the volume when I am in metro, but want a larger volume when walking in the street!