---
title: "Remapping remote keys for OpenELEC/XBMC"
date: 2013-01-11
updated: 2026-09-26
canonical: https://michaelshadle.com/2013/01/10/remapping-remote-keys-for-openelecxbmc
---

# Remapping remote keys for OpenELEC/XBMC

This past week, I set my Parents up with a Raspberry Pi-based OpenELEC unit, which I built for them to replace an extremely dated Buffalo product. (So far I have been pretty surprised as to what this little RPi can do!)

After getting a stable setup going, the last piece of it was getting a remote that they could manage. I was nervous at first because of compatibility concerns and "bleeding edge" software. However, I picked up an "Adesso ARC-1100 Media Center Remote" - which I had seen as being compatible on the XBMC forums, and out of the box, it works great. Truly plug and play.

I wanted to pick up something reasonably priced and [locally](http://www.iguanamicro.com/adarmecere.html) (just in case I had to return it, I didn't want to hassle with RMA processes.)

The main issue with the remote is that some buttons are a bit confusing - which is tolerable, but the main offender is the power button. It works out of the box, as one would expect, except that once you power down the OpenELEC/RPi combination, you can't power it back up again (at least not with a USB-powered IR receiver...)

To solve that issue I looked into figuring out how to do some key remapping, to make the power button do something different, or nothing at all. The [documentation](http://wiki.openelec.tv/index.php?title=Guide_To_Test_a_Remote_and_Remap_Keys) seems straightforward but made me dizzy for a moment (and is slightly incorrect where remote.xml is), but on the first try I had success. After that, I decided to mess around and see what other buttons I could "disable" essentially (and I decided to see if `<null>` could be used to map the key to nothing - it seems to work)

Here is the output of that work, it looks simple enough. Put this under `/storage/.xbmc/userdata/Lircmap.xml` (or via the userdata SMB share)

```xml
<lircmap>
  <remote device="devinput">
    <null>KEY_POWER</null> <!-- don't let them accidentally turn the unit off -->
    <null>KEY_DELETE</null> <!-- "Clear" at bottom of remote -->
    <back>KEY_SUBTITLE</back> <!-- "Close" at bottom of remote -->
    <null>KEY_VOLUMEDOWN</null> <!-- useless for passthrough audio -->
    <null>KEY_VOLUMEUP</null> <!-- useless for passthrough audio -->
  </remote>
</lircmap>
```

Sure enough, it all works - now I have a remote solution for them that won't let them get into trouble, and confidence now on how to map keys in the future.

After playing with XBMC on a Pivos AIOS DS, Intel NUC, and OpenELEC on an RPi, I have to say I am happy to see the extensive community involvement in the XBMC project and its derivatives.

Now, I just wish skinning it was as easy...
