As regards buttons. It would be great if you could enter a table of PIN numbers (whether pull up or down) and associated commands.
I have created my own program (happy to send it to you if you want) which sets up the following associations, but it would be better if your plug in did this:
# Pin definitions
VOL_UP = 21
VOL_DOWN = 22
NEXT = 24
PREVIOUS = 20
PLAY_PAUSE = 16
ONE = 17
TWO = 27
THREE = 9
FOUR = 11
SHUTDOWN = 10
The infrared part works well. I had to define my own remote, which also worked fine. What would be good is to have a way of submitting our remote controller definitions to you, so they can be added into a library and therefore build up a list of working remotes.