FLIRC - a new (old) way to control XBMC
In a continuation of the series begun with our write-up of the USB-CEC adapter, we would like to take the time today to highlight another adapter out there that makes controlling XBMC dramatically easier. This week, I’d like to introduce Chris (psuedo7 in the forum), who will be telling us a bit about the project FLIRC. I’d also like to invite any other software writers or manufacturers to contact me in the forums at username natethomas, if you have come up with a new and unique method for improving the usability of XBMC and would like to share your project.
Take it away, Chris.
Hello XBMC.org Readers,
My name is Chris (or pseudo7 on the forums). I’ve been an XBMC user for about 3 years, firstly using my mac then using a shuttle box running Openelec (so I didn’t have to keep connecting/ disconnecting my MacBook Pro). I love XBMC: the application, the project and everything it envelops.
(Disclaimer – whilst I am “staff” (Read: a forum moderator) on the FLIRC forums I am not employed by Flirc and do not benefit directly, financially or otherwise, from the project I am about to discuss.)
I have recently come across a product which has enhanced my XBMC experience, and I wanted to give back to the community and share my findings about Flirc.
Much like the previous Pulse-Eight article, my intention is to highlight what I think is a great product that many users may not have heard about that dramatically simplifies the process of building an XBMC htpc.
What is Flirc?
Flirc allows you to pair your same television remote to your computer with easy one-time setup software.
Flirc is a small USB infra-red (I.R.) adapter that receives I.R. commands from a remote control.
However, Flirc is different from other I.R. adapters. Conventionally, I.R. adapters require the computer to understand I.R. commands, which is what LIRC is for. However, methods like LIRC require extensive knowledge should your remote control not be supported, which can be more frequent than expected. LIRC is not meant for the novice. (I am not trying to bad mouth the hard work on remote support by LIRC devs – just stating my opinion and experience.)
That’s where Flirc steps in. Flirc is detected as a USB keyboard, eliminating the need for XBMC special drivers. Any media center application that supports a keyboard as an input device supports Flirc out of the box.
Programming Flirc is easy to do, but ironically rather hard to explain so I’ve made a video:
(Bonus points if you guess what the video playing in XBMC is.)
Flirc has also made a video explaining the steps to program the Flirc device.
Flirc + XBMC = Happiness
XBMC has many great functions, and not being able to control those functions can be a huge kick in the teeth. You can access every XBMC user function using keyboard presses (which is not always the case with a standard LIRC controlled remote), so if your remote could do keyboard presses you would have loads more control.
Flirc takes the I.R. signals from your regular old remote and sends those signals to the computer as keyboard presses… perfect non?
Flirc supports nearly every remote (see the section on current Flirc limitations below) and XBMC supports nearly every platform. So Flirc aims to make your remote work with your XBMC install on any computer that supports USB keyboards. Flirc is even supported on the Xbox 360 after previously being paired with a computer running Windows, Linux, or OSX.
Flirc can store 160 keys. The possibilities are great. For example, the off button on a remote could be mapped to the key combination Alt+F4. Thereafter, when you press the off button on the remote, Flirc will always send ALT+F4 to the computer.
Who Makes Flirc?
Flirc was set up by Jason Kotzin and his wife Maggie. It is a small company of which Jason is the only coder. For more about Flirc visit http://www.flirc.tv/about_us/ or if you are in Europe or otherwise outside the US, you can visit the list of Flirc distributors.
Current Flirc Limitations
All young projects have their niggles, and Flirc is no different.
Unfortunately, MCE remotes, which are quite prevalent amongst XBMC users, don’t work as well as they should and are best avoided at the moment. At a very basic level (which is my understanding of it) MCE remotes emit non-standard I.R. frequencies (about 56Khz), with standard frequencies being 38Khz. For more in-depth discussion on this issue please visit the MCE topic on the Flirc forum. This issue is still being worked on, but new features for existing remotes are being added first.
Conversely, remotes such as the Logitech Harmony series work very well with Flirc. Best results have been achieved by programming remotes profiles intended for TV’s onto your Harmony remote using a different brand than the TV the users actually has, so the TV doesn’t recognize the command intended for the htpc.
The Golden Lining
A portion of every sale goes to the USC Cancer Research center that Jason’s oncologists leads and where Jason underwent chemotherapy. Every sale of Flirc results in a donation to the charity. Jason would like to report back to XBMC users how much they have contributed to the charity, so please use discount code “XBMC” (without quotes) when you purchase to allow him to track down XBMC purchases. You will get the same discount as any other default codes.
Conclusion
Hopefully this write-up will help those building either their first htpcs or those growing frustrated with other remote control options.
If you have any questions about Flirc, there is a forum dedicated to it. Post any requests, problems, or thanks there for friendly help (i’m Chris! on the forums there).
Finally I would like to say thank you to everyone at XBMC especially the developers (apps, skins, plugins and programs). You really are awesome.
Thanks for the report Chris! And once again, if you have an interesting project that you believe makes XBMC better, and you’d like to highlight it, don’t hesitate to contact me at natethomas in the forums.

Sounds like a good alternative or addition to HDMI-CEC!
But I’m confused now. Let’s say I have a TV, a XBMC box, and my TVs remote to controll both.
If I now press a button, what happens? I guess the TV would react to it, and the XBMC box too.
But wouldn’t that be kinda…. stupid?
Or am I missing something? Is this solution maybe NOT intended to controll TV+XBMC with just ONE normal remote?
So that you either have to use 2 remotes, or a programmable one like the harmony?
Still a cool product though! Might have some other use for it, due to its flexible design/versatatallity/compatibility.
Thanks in advance for claification! :-)
I wonder the same thing as Andre..
@Andre the way I see it there is three situations you could use it for
1) If you already had an old remote lying around and want to use that to control xbmc
2) you want it for a harmony remote (read: multi remote)
3) if you want to use your TV remote buttons that wouldn’t nessisarly interefer with, Tv function most of the time. E.g. left and right only work when the TV is in a menu of some kind leaving it free for xbmc
@westy. It will work at boot as it appears as a USB keyboard. You only need to use the software once to set it up – then you can transfer it between computers without installing software and it will work.
= )
I didn’t even realize I did that.
@JezR
@Andre
Some TV’s ignore a lot of the buttons on your remote, like navigation when on the HDMI input. In this case it wouldn’t be a problem. My second television set, Samsung, didn’t like that, and kept saying “unsupported”, or something as equally stupid and annoying. On my harmony, I just set up a bunch of devices and mapped them however I wanted and to which ever buttons I wanted since the IR signal will later be mapped to the correct function on the computer. Hope that makes sense.
I am considering, I’ve gotten this question before, so maybe I’ll make the second revision of hardware capable of being extended. Or just make another enclosure.
@notdave
Thanks so much for the kind words. All these great comments make all the hard work worth it.
@Alex
I am working extremely hard on this. The short answer is yes, it certainly will, but the success may vary from user to user. But that is currently the highest priority and in development. I’ll figure it out. You can see the progress being made here:
http://forum.flirc.tv/index.php?/forum/32-wake-up-command/
Users are giving me great feedback and the latest release is pretty promising.
@Andy
@Andre
i guess if you had one of those annoying remotes given to you cable/satlite provider, you could switch to aux or the extra option (because i only use the box/tv and my android for the xbmc)
then while in aux you program the remote, thus a xbmc remote!
no he did mention what you need to do say your tv is a samsung. and the remote is for samsung. what you need to do is set the remote code for a dvd player for a sony tv so the samsung tv and the sony tv signals are differant but the Flirc turns the signal of the sony to the commands that you program for it i.e. XBMC Key commands. well this is how i take it anyway.
Please support Jason’s work and at the same time help save lives!!!
Ordered to UK as soon as i saw a this post for a new-lution for the ‘lovable’ lirc :-)
Will post a review when Jason gets more parts ! haha
DOK
@Andre
I was thinking the same thing, I can’t see how Flirc would be able to prevent the TV from catching the remote IR signals…
I guess to use the TV remote for controlling xbmc, the pulse eight cec adapter would be the right choice then ?
http://xbmc.org/natethomas/2011/11/01/the-usb-cec-adapter-is-a-look-into-the-future/
Thanks for the answers everyone!
I have a Panasonic TX-P46GW20 with this remote:
http://img1.hifi-regler.biz/pictures/prodpics/zusatz/z-panasonic-fb-gw-serie.jpg
@Chris and Jason:
Hmm, that could work. I just checked it. When the TV is displaying a HDMI source, at least the d-pad, ok button, number buttons and some others have no function. The TV LED doesn’t even blink in this case. So controlling XBMC should work I guess. And I could still switch the TV on an off.
@Rocker:
Not sure if I got you right. Do you mean that some remotes can be switched between “controll the TV” and “controll some other device” by a little switch/button? My TV remote can do this, but it only affects those blue play, pause, >>, << buttons. Not enough to controll XBMC (comfortably). But for remotes that can also switch at least the d-pad and ok button, this is a very nice solution!
@Romain:
See above. It seems most(?) TVs don't care for most remote signals while displaying a HDMI source (e.g. your XBMC box). Now that I think about it, that makes total sense.
Alternatively of course you could just block the TVs IR receiver with some black tape or a center speaker, if available. But then you can't switch the TV on/off via remote anymore.
Overall I still lean towards a HDMI-CEC solution. But from what I've heard its a tricky thing. So if the Raspberry Pi (without pulse eight), my sourround receiver and my TV don't get along perfectly, this seems a good alternative. …Or if not all needed buttons can be mapped via CEC. The manufacturers CEC implementations are often lacking, I've heard.
I’ve been thinking about the Pulse8 USB-CEC and FLIRC question a lot. I really don’t think that anyone would want both of them on the same system, unless you planned on using a separate remote for the FLIRC than the rest of your HT. The CEC adapter allows you to operate multiple HDMI-connected devices with the same remote (e.g. your TV remote) but functionality is usually limited (e.g. you don’t get all the functionality of your A/V receiver’s remote when using your TV remote to operate your AVR via CEC.)
The FLIRC on the other hand, offers you FULL customization of a remote for an HTPC, as every single button can be programed to a keyboard key-stroke.
I suppose you could have the FLIRC as your “main” interface with your HTPC (similar to your AVR’s original remote) and then still use your TV’s remote via CEC to get basic functionality over your xbmc box via CEC/HDMI. Personally that would drive me nuts.
Keep in mind that this solution is, unfortunately, not suitable for a computer that is used on a daily basis and you just run XBMC on a secondary display (which is currently my case), as the key presses will be sent to your active application instead of XBMC.
@Znuff
Why would you be pressing buttons on your IR remote meant for XBMC control while using the PC for something other than XBMC?
I just bought one and got the shipping confirmation, thanks Jason!
Looking forward to trying this new-fangled technology out :)
HI, I´m wondering if it will be possible to use FLIRC with an Apple Remote (2nd Gen) and XBMC on a Windows machine!?
@Stefan: Yep, see the forum (forum.flirc.tv)
http://forum.flirc.tv/index.php?/topic/27-apple-remote-appleremote-with-long-presses/