One of the beauties of RaspBMC is the variety of control methods available to the user. My first box is connected to an HDMI-capable television and uses CEC to pass control codes from the TV to the Raspi, which is all very neat and convenient. I also use Yatse XBMC remote on my Android phone because there are lots of benefits to being able to browse titles, select and queue content to watch (it can also be a little more responsive than the TV remote). I also like the feature where you can browse on your phone and send youtube content to the TV, etc.
But the second box is connected via composite video and so gaining control codes from the remote is not an option. Until very recently this unit did not have network connectivity either, so control via a phone app wasn’t possible either. Indeed even though it now does have wifi, phone control as the sole option isn’t exactly the golden solution. Sure, browsing the library via the phone is much nicer than the blocky, hard to read, low resolution of the TV but for every day tasks like pausing, volume control, etc having to unlock your phone is not super convenient.
So I thought that I’d have a go ordering a really cheap, generic USB IR remote off ebay ($4 delivered) and simply see what happens. Again this is one of those areas where I have not read any forums posts about whether or not this works but it’s not a high-stakes gamble.
And the answer is that yes it does work. You’ll need to reboot to get it to recognise, it won’t just hot-plug the same way that connecting a mouse to your PC would. Many of the common keys are already functional straight away (eg play, pause, arrows, page up/down) and the mouse feature also works. There are plenty of buttons however that are not assigned, but that should be fairly trivial to work out using a similar approach to detecting CEC commands via SSH and then creating an appropriate entry in /home/pi/.xbmc/userdata/keymaps/remote.xml.