Thursday, August 9, 2012

devinput + Antec Veris / iMon remote used in XBMC

So I upgraded a friends XBMC system which runs on Ubuntu to 12.04 the other day and ran into the troubles with the changes in Lircd + devinput.  Luckily once I switched Lircd to devinput via:
sudo dpkg-reconfigure lirc
things generally worked but I was missing a few buttons, like one that opened the menu to delete things or enable subtitles.

This was using a Harmony/Logitech 800 remote to emulate the remote that came with the Antec Veris case.  When using irw or ir-keytables I could not see any buttons being hit when hitting the 'info', 'guide' or channel up or down.   I found notes about recompiling lirc due to it missing some scan codes (ref: https://bugs.launchpad.net/ubuntu/+source/lirc/+bug/1029604 or http://lirc.sourceforge.net/remotes/devinput/lircd.conf.devinput ) but I didn't really want to get into that and block future apt upgrades of lirc.  After quite awhile I found mention of /lib/udev/rc_keymaps and found imon_pad and imon_mce:
/lib/udev/rc_keymaps$ ls imon_*
-lrta-rw-r--r-- 1 root root 1756 Feb 10 15:58 imon_mce
-rw-r--r-- 1 root root 2742 Aug 8 21:22 imon_pad
my system was using the imon_pad file as found via dmesg:
~$ dmesg | grep imon | grep Registered
[   22.450927] Registered IR keymap rc-imon-pad

and I looked in there and noticed the buttons I wanted where not listed, specially BTN_RIGHT and BTN_LEFT which I have as 'info' and 'guide'.  So I used the old file from lircd prior to devinput and took the codes/names and merged it with imon_pad so I could have all the scan codes.  This was done by taking /usr/share/lirc/remotes/imon/lircd.conf.imon-pad editing it so I was left with a file that only had lines like: