Quick Links

Media center software and hardware has advanced exponentially in the last ten years but it can still be quite a pain to get a remote up and running with your unit. Today we're looking at the Flirc IR dongle, an incredibly clever and effective way to link any remote to nearly any media center.

What Is Flirc?

Flirc ($20) is a tiny USB dongle about half the size of a traditional thumb drive. At first glance it would be remarkably easy to confuse the Flirc unit with an actual thumb drive as the clear case, visible circuit board, and the IR receiver points (that look much like LED indicator lights) all strongly echo the design of thumb drive storage.

The Flirc unit is far more clever than a simple storage unit though and works as an absolutely ingenious solution to the problem of linking IR-based remotes to media center software. You see there is a fundamental problem when it comes to linking your typical universal or TV remote to a media center system like a Raspberry Pi running Kodi/XBMC, an Amazon Fire TV, a computer running Plex or Windows Media Center, or the like: these devices are either optimized for their own special remote (such as the bluetooth remote that comes with the Amazon Fire TV) or they are optimized for keymaps that map onto a keyboard (like Kodi/XBMC and Windows Media Center).

Don't get us wrong, it's more than possible to dig into the guts of many media center software packages (like Kodi/XBMC) and remap the keys. It's not a light task, however, and certainly not a task for beginners. Further, it requires you've already purchased an IR dongle of some sort (which can run you anywhere from $10-20).

FLIRC, on the other hand, circumvents the entire problem in a rather novel way. Rather than acting as a "dumb" IR-to-USB bridge that simply passes the IR commands along to the host operating system the FLIRC unit is actually a programmable device that uses USB HID (Human Interface Device) standards to emulate a keyboard.

So let's say the media center software you're using is keymapped for the "Home" key on the keyboard to return you to the home screen of the media center software. You can take a button on your media center remote and map it, via the FLIRC system, to represent the "Home" key on a traditional keyboard. Then when you have the FLIRC dongle plugged into your media center and you press the remote button the media center is tricked into thinking the FLIRC USB dongle is actually a keyboard and that you've just pressed the "Home" key.

The cleverness of this solution lies in the fact that it's universal. You don't need special drivers, you don't need to edit the keymaps of your device (if you're even able to), and you don't need a special remote. You can link literally any IR-based remote to any media center system that has a USB port that will accept a keyboard input.

As an aside before we continue on with the tutorial, FLIRC also makes a really awesome Raspberry Pi 2 / B+ case (~$16) that features an integrated aluminum-body heat sink; if you're looking for a good media center case for your Pi it's not just good looking it's also quite efficient at keeping your board cool. Clearly the folks behind the Flirc project are into helping build a high quality media center experience all around.

How to Configure Flirc

In order to configure Flirc properly you'll need three things: the Flirc dongle/software, the remote you want to use with your media center, and a list of the keyboard inputs and shortcuts the media center software in question uses. Let's look at how to figure out what your device's keymap is and then how to use Flirc to link the existing keymap with your remote.

Determining Your Keymap

Although the Flirc configuration software does thoughtfully include button keymaps for Kodi/XBMC, Boxee, Windows Media Center, Amazon Fire TV, and even mapping for standard keyboard media keys (and we appreciate that thoughtfulness) it's good to know how to look up and study a keymap without the assistance of the software so that you can effectively map anything to the Flirc (and not just the pre-mapped entries they provide).

To that end, the first step in getting Flirc up and running is to determine what keyboard commands do what actions on your media center. Idealy this process should be as simple as turning to Google and looking up something like "[media center name] keymap" or "[media center name] keyboard shortcuts".

Here is a list of keyboard shortcuts for common media center software/hardware arrangements:

The last entry, the official keyboard shortcut list for the Amazon Fire TV, is a good example of an official list that's a bit inadequate. For reasons unknown Amazon lists the simple shortcuts (like arrow key navigation) but fails to list the more advanced (and useful) shortcuts like pressing F12 to return to the Fire TV home screen. Digging up those more advanced shortcuts required turning to a section in the Kodi wiki about pairing USB keyboards with the Fire TV.

If your Google Fu fails (or there just isn't a good keymap list to be found anywhere online) you'll have to do it the old fashion way and plug a USB keyboard into your media center and test out all the different keys to figure out what they do. That's a bit tedious but it is foolproof in that you see exactly what each key does in a real world use scenario.

When you're armed with the keymap, either via Google search or checking the keymap yourself, it's time to head over your computer and program the Flirc dongle.

Programming Flirc

To program the Flirc dongle you'll need a computer, a copy of the Flirc software (cross-platform and available here), and the remote you wish to map to the Flirc.

Install the software and then, before running it, plug in your Flirc dongle and allow your operating system to detect it as a new USB device. Once the dongle is recognized by your system run the Flirc application. You'll find yourself on the main screen with a generic remote with the message "Click a key to start recording" and a "go!" button.

There are several ways you can approach the process of programming your Flirc dongle. You can press the "go!" button to start a step-by-step wizard process that walks you through pairing basic button associations, you can use the included keymaps (for popular media centers like Kodi/XBMC and the Fire TV, for example), or you can use a full keyboard to map each remote button to a key press.

Here's what the basic wizard looks like in action. Once you press "go!" it will blink the keys on the generic remote to prompt you to press the corresponding key you wish to use on your physical remote.

In addition the text at the bottom of the screen indicates what the button function in (in the rare case that it isn't clear from the icon on the blinking button). All you need to do is press the physical button on the remote that you want to map to that media center function. After it successfully records the button press it will move on to the next button. If you make a mistake press the "erase" button in the lower left corner and you'll be prompted to press the physical remote button you wish to erase and remap.

The basic button configuration is a bit simplistic for most needs, however, so let's take a look at how you can map keypresses to specific media center functions as well as to the full keyboard.

In the menu bar, select "Controllers" and then from the drop down menu select the pre-populated media center keymap you wish to edit. For demonstration purposes we're using the keymap for Kodi Media Center.

Here we find all the major key functions of the Kodi Media Center all ready for us to map. To map the buttons simply click on each function and then press the corresponding button on your physical remote. On our test remote, for example, we had a band of colored buttons that (by default) did nothing in Kodi. Using Flirc we were able to assign those buttons to useful function (like turning the unmarked green button into a home button and the unmarked yellow button into a closed captioning button).

If you find that the basic wizard or the more advanced media-center-specific wizard doesn't offer enough granular control (or the keymaps included with the program are out of date for your version of the media center software) you can always take the most hands on route and directly map your remote buttons directly to keyboard keys. Select Controllers -> Keyboard on the menu bar to pull up the full keyboard.

Not only can you pair any keys you can also pair key combinations. Let's say, for example, that your media center software has a keyboard shortcut of CTRL+SHIFT to take you to the recently added TV shows (or some such thing). You can program a button on your physical remote to take you to the recently added TV shows by mapping CTRL+SHIFT to it.

When you're done configuring, make sure to save your configuration by selecting File -> Save Configuration and naming the configuration file something that will be easy to understand months from now when you wish to edit your keymap (like "living-room-windows-media-center.fcfg").

If you wish to confirm the the keys are properly mapped in the Flirc dongle you can open up a simple text editor on your operating system, such as Notepad, and press the remote buttons. Remember the whole magic of Flirc is that it translated remote control button presses (and the resulting IR codes beamed out of the remote) into standard USB HID keyboard key presses. If you programmed a button on your remote to equate to the "s" key because that's a shortcut in your media center software then when you press that remote button while a text editor is open, you guessed it, an "s" will appear in the editing box.

Using Flirc on Your Media Center

We've learned about keymaps, we've carefully mapped out which remote buttons should correspond to which keyboard keys, and at this point all the hard stuff is behind us. Actually using the Flirc dongle once you've done the hard work of programming it is frictionless.

Simply install the dongle on your device in such a fashion that the two little IR receivers are visible to you wherever you're seated and using the remote. If your media center computer is sitting with a USB port pointing at your couch this is as easy as just plugging in the dongle. If you have it hidden behind the TV stand or the like, and the USB port is not in a direct line of sight, then you'll need to pick up a simple USB extender to properly position it.


That's all there is to it! Speaking from the experience of early-media-center adopters who have been fiddling with remote control configurations for over a decade, we promise you that the Flirc experience is the easiest way to get a remote up and running on any media center that supports USB keyboards (hands down in comparison with any other method).

Have a pressing question about Flirc or media centers in general? Jump to the forum below and we'll do our best to answer them.