Well, actually the next step in the boxee media machine process (see here and here for previous steps), is to see if I could get a remote control and an HDMI output to work. First up was the remote.
In Linux, the way to go is LIRC (Linux Ifrared Remote Control). But please, don't go to the web site or you'll be like me - completely intimidated! There's lots and lots of info but for most modern distros, you only need to do two things:
- Install the lirc package from a "usual" source for your distro. I imagine most if not all of them should have it in a regular place at this point.
- Copy the right config to /etc/lirc.conf. This can be a little daunting, as there are lots and lots of possibilities. In openSUSE, they are all put in the /usr/share/lirc/remotes folder. Find the maker and the version, copy it to /etc/lirc.conf and you should be all set.
Of course, it is a good idea to have a supported remote first. I was stymied in this pursuit for a while, as I really didn't want to build an IRC receiver and, at least according to the lirc web page, USB IrDA remotes, which is all I could find locally, don't work with lirc. But I read somewhere that the Microsoft Media Center remote is an excellent choice, and I found it for a real nice price at Microbarn. In fact, I highly recommend them as they were very fast and flexible fixing my order, as I first forgot to add a DVI->HDMI cable, then I double ordered the cable. So after three tries I finally got my act together and ordered what I wanted. They not only kept up with me, the order went out that afternoon and I got it 2 days later. I will definitely be ordering there again!
So after installing lirc, I copied the "mceusb" config and started the lirc daemon:
$ sudo cp /usr/share/lirc/remotes/mceusb/lircd.conf.mceusb /etc/lirc.conf
$ sudo service lirc start
Plug in the usb IR receiver, give it a chance to get set up, and run the 'irw' (infrared read/write?) program to see if it can see the remote. Press some buttons and hopefully you should see something like:
$ irw
000000037ff07bde 00 Right mceusb
000000037ff07bde 01 Right mceusb
000000037ff07bde 02 Right mceusb
000000037ff07bdf 00 Left mceusb
000000037ff07bdf 01 Left mceusb
000000037ff07bdf 02 Left mceusb
000000037ff07bdd 00 OK mceusb
000000037ff07bdd 01 OK mceusb
000000037ff07bdd 02 OK mceusb
000000037ff07be0 00 Down mceusb
000000037ff07be0 01 Down mceusb
000000037ff07be0 02 Down mceusb
000000037ff07bed 00 ChanUp mceusb
000000037ff07bed 01 ChanUp mceusb
000000037ff07bec 00 ChanDown mceusb
000000037ff07bec 01 ChanDown mceusb
000000037ff07bec 02 ChanDown mceusb
000000037ff07bef 00 VolUp mceusb
000000037ff07bef 01 VolUp mceusb
000000037ff07bee 00 VolDown mceusb
000000037ff07bee 01 VolDown mceusb
000000037ff07bee 02 VolDown mceusb
000000037ff07be9 00 Play mceusb
000000037ff07be9 01 Play mceusb
000000037ff07be9 00 Play mceusb
000000037ff07be9 01 Play mceusb
000000037ff07be5 00 Skip mceusb
000000037ff07be5 01 Skip mceusb
000000037ff07beb 00 Forward mceusb
000000037ff07beb 01 Forward mceusb
000000037ff07bef 00 VolUp mceusb
000000037ff07bef 01 VolUp mceusb
Don't worry about the double entries for each key. I think it is just button down and button up. The last word is the name of the device while the one before it is the name of the command. This is what you'll be using to configure various apps, which is generally done one app at a time. I was glad to uncover KDE's IRC Cconfig, its LIRC server interface (Configure Desktop -> Hardware -> Remote Controls). Makes setting it up for Amarok pretty easy (although still a little painful).
For my current pet project, boxee, you can find the lirc commands in
~/.boxee/UserData/Lircmap.xml
, and it comes all set up for the Microsoft remote. Of course, I put a wrench in the matters by using the wrong config file (ie, the one mentioned above), which has all the commands in UPPERCASE, while the boxee (and XBMC) setup look for it in lowercase. So be sure to check the output of the 'irw' command closely. I finally wised up and copied in the one from the source tarball (a copy is
here) found in
tools/HardwareConfigure/mceusb2.lircd.conf
. You can find the file that maps lirc commands to boxee command in
~/.boxee/UserData/Lircmap.xml
. All of a sudden, remote control was working!