2011-10-18, 07:54
After upgrading to Oneiric, my mceusb remote no longer worked in XBMC. It turns out that Lirc messed with the key names for some reason, putting "KEY_" in front of all of them, renaming some others, and putting them in all caps. I found this to be profoundly annoying and time consuming to debug but now have everything working properly. Here's how to fix it.
1) Backup your Lircmap.xml file.
2) Two choices here. You can either run the "irw" command and compare the output to every command in your Lircmap.xml file (which is what I had to do), or you can just use mine. Replace everything from <remote device="mceusb"> and </remote> with the following.
Note that most (but not all) of the key names are in caps, most (but not all) start with "KEY_" now, and some like the former "chanup" are now renamed to "KEY_CHANNELUP". Fun times.
I assume the devs will fix the default Lircmap.xml in a forthcoming release so this won't be necessary. Until then, hope this helps someone out there.
1) Backup your Lircmap.xml file.
Code:
cp ~/.xbmc/userdata/Lircmap.xml ~/.xbmc/userdata/Lircmap.xml.OneiricBak
2) Two choices here. You can either run the "irw" command and compare the output to every command in your Lircmap.xml file (which is what I had to do), or you can just use mine. Replace everything from <remote device="mceusb"> and </remote> with the following.
Note that most (but not all) of the key names are in caps, most (but not all) start with "KEY_" now, and some like the former "chanup" are now renamed to "KEY_CHANNELUP". Fun times.
Code:
<remote device="mceusb">
<PLAY>KEY_PLAY</PLAY>
<PAUSE>KEY_PAUSE</PAUSE>
<STOP>KEY_STOP</STOP>
<FORWARD>KEY_FORWARD</FORWARD>
<REVERSE>KEY_REWIND</REVERSE>
<LEFT>KEY_LEFT</LEFT>
<RIGHT>KEY_RIGHT</RIGHT>
<UP>KEY_UP</UP>
<DOWN>KEY_DOWN</DOWN>
<SELECT>KEY_OK</SELECT>
<PAGEPLUS>KEY_CHANNELUP</PAGEPLUS>
<PAGEMINUS>KEY_CHANNELDOWN</PAGEMINUS>
<BACK>KEY_BACK</BACK>
<MENU>KEY_PREVIOUSMENU</MENU>
<TITLE>KEY_RECORD</TITLE>
<INFO>More</INFO>
<SKIPPLUS>KEY_SKIP</SKIPPLUS>
<SKIPMINUS>KEY_REPLAY</SKIPMINUS>
<DISPLAY>Teletext</DISPLAY>
<START>KEY_HOME</START>
<RECORD>Guide</RECORD>
<VOLUMEPLUS>KEY_VOLUP</VOLUMEPLUS>
<VOLUMEMINUS>KEY_VOLDOWN</VOLUMEMINUS>
<MUTE>KEY_MUTE</MUTE>
<POWER>KEY_POWER</POWER>
<MYVIDEO>KEY_VIDEOS</MYVIDEO>
<MYMUSIC>KEY_MUSIC</MYMUSIC>
<MYPICTURES>KEY_PICTURES</MYPICTURES>
<MYTV>KEY_TV</MYTV>
<ONE>KEY_1</ONE>
<TWO>KEY_2</TWO>
<THREE>KEY_3</THREE>
<FOUR>KEY_4</FOUR>
<FIVE>KEY_5</FIVE>
<SIX>KEY_6</SIX>
<SEVEN>KEY_7</SEVEN>
<EIGHT>KEY_8</EIGHT>
<NINE>KEY_9</NINE>
<ZERO>KEY_0</ZERO>
<STAR>Star</STAR>
<HASH>Hash</HASH>
<CLEAR>KEY_CLEAR</CLEAR>
<ENTER>KEY_ENTER</ENTER>
<RED>KEY_RED</RED>
<GREEN>KEY_GREEN</GREEN>
<YELLOW>KEY_YELLOW</YELLOW>
<BLUE>KEY_BLUE</BLUE>
</remote>
I assume the devs will fix the default Lircmap.xml in a forthcoming release so this won't be necessary. Until then, hope this helps someone out there.