Custom Keymap.xml with XBMC

If you intend to use a custom Keymap.xml with XBMC you might need to be aware of a change that recently happened. Up till now the Keymap.xml was placed in ~/.xbmc/keymaps. Recently (not exactly sure, which svn revision it changed) although it changed.

Since r21442 (that’s after the current 9.04.1 release), the default keymapping files are stored in the system/keymaps/ subfolder of your installation. To alter the default keymapping simply add one or more xml-files in the Userdata/keymaps/ folder with the changes you wish to make. If the keymaps folder doesn’t exist, create it. For backwards compatibily, Userdata/Keymap.xml is still read.

If you place the Keymap.xml in ~/.xbmc/keymaps you’re gonna see weird things happening. Basically, most commands work however not everything. Once you move the keymap.xml to ~/.xbmc/userdata/keymaps, everything magically starts working again.

XBMC Keymap

After I had the initial stuff done, I spent some time yesterday (roughly one hour) figuring out, why Play/Pause/Stop aren’t working any longer (they worked at some point).

After looking at the XBMC debug log for some time, I went back and looked at my Lircmap.xml. As it turns out, you can’t map one Lirckey to two functions (in my case, I mapped KEY_7 to <pause> as well as <seven>). XBMC doesn’t like that, and in return quits functioning for those keys.

After removing the number declarations (<one> through <zero>), my keys are back to working order and I’m completely pleased with my media center Acer 😉