Antec Veris iMon + RM200 remote - some keys not working (lirc not installed)
#1
Hello,

first of all I swear I did try to read all I could find regarding the issue.

I am running Kubuntu 12.10 and XBMC 12RC2 (previously tried with 11 as well). I have Antec Veris Fusion Black HTPC case which contains 15c2:0038:

Code:
I: Bus=0003 Vendor=15c2 Product=0038 Version=0002
N: Name="iMON Remote (15c2:0038)"
P: Phys=usb-0000:00:04.0-4/input0
S: Sysfs=/devices/pci0000:00/0000:00:04.0/usb3/3-4/3-4:1.0/rc/rc0/input6
U: Uniq=
H: Handlers=kbd event6
B: PROP=0
B: EV=100013
B: KEY=fff 0 0 4400000 108c0320 2d50080 0 0 30000 4 119000 4186 14000801 809e1680 0 2000000 10004002
B: MSC=10

I have setup ir-keytable to /lib/udev/rc_keymaps/imon_pad which contains all the keys on my RM200 remote. To get all the codes working I had to update v4l-utils - see bug report here for details.

Note: I do NOT have lirc installed.

When I run ir-keytable -t all the keys seem to be recognized:
Code:
1356717283.826673: event key down: KEY_UP (0x0067)
1356717283.826675: event sync
1356717284.075556: event key up: KEY_UP (0x0067)
1356717284.075559: event sync
1356717285.194663: event MSC: scancode = 1007f00
1356717285.194672: event key down: KEY_DOWN (0x006c)
1356717285.194674: event sync
1356717285.443550: event key up: KEY_DOWN (0x006c)
1356717285.443553: event sync
1356717289.819663: event MSC: scancode = 28a395b7
1356717289.819671: event key down: KEY_VOLUMEUP (0x0073)
1356717289.819673: event sync
1356717289.971669: event key up: KEY_VOLUMEUP (0x0073)
1356717289.971673: event sync
1356717290.523661: event MSC: scancode = 28a595b7
1356717290.523669: event key down: KEY_VOLUMEDOWN (0x0072)
1356717290.523671: event sync
1356717290.667667: event key up: KEY_VOLUMEDOWN (0x0072)
1356717290.667672: event sync
1356717298.619661: event MSC: scancode = 2a9395b7
1356717298.619673: event key down: KEY_CYCLEWINDOWS (0x009a)
1356717298.619675: event sync
1356717298.755663: event key up: KEY_CYCLEWINDOWS (0x009a)
1356717298.755666: event sync
1356717300.771669: event MSC: scancode = 2b8515b7
1356717300.771678: event key down: KEY_VIDEO (0x0189)
1356717300.771679: event sync
1356717300.867672: event key up: KEY_VIDEO (0x0189)
1356717300.867676: event sync
1356717301.827665: event MSC: scancode = 299195b7
1356717301.827673: event key down: KEY_AUDIO (0x0188)
1356717301.827675: event sync
1356717301.907664: event key up: KEY_AUDIO (0x0188)
1356717301.907667: event sync
1356717302.587662: event MSC: scancode = 2ba115b7
1356717302.587671: event key down: KEY_IMAGES (0x01ba)
1356717302.587673: event sync
1356717302.715663: event key up: KEY_IMAGES (0x01ba)
1356717302.715666: event sync
1356717728.595667: event MSC: scancode = 2a8115b7
1356717728.595677: event key down: KEY_PLAY (0x00cf)
1356717728.595679: event sync
1356717728.847562: event key up: KEY_PLAY (0x00cf)
1356717728.847566: event sync
1356717731.155668: event MSC: scancode = 2b9715b7
1356717731.155678: event key down: KEY_STOP (0x0080)
1356717731.155680: event sync
1356717731.355666: event key up: KEY_STOP (0x0080)
1356717731.355669: event sync
1356717731.875667: event MSC: scancode = 2a9115b7
1356717731.875676: event key down: KEY_PAUSE (0x0077)
1356717731.875678: event sync
1356717732.067661: event key up: KEY_PAUSE (0x0077)
1356717732.067664: event sync

Basic keys (arrows, ENTER, backspace) work as expected. However I cannot get other keys (like RED, GREEN, BLUE, YELLOW, PLAY, PAUSE, ...) to work in XBMC. One thing that I suspect might be wrong is that RED button sends KEY_VIDEO instead of KEY_RED, other colors similarly.

What is the proposed way to fix this?
Should I create a copy of /lib/udev/rc_keymaps/imon_pad and edit the names of individual keys? This does not seem right.
Default Lircmap.xml in seem to contain the correct mapping:
Code:
<remote device="Antec_Veris_RM200">
                <stop>KEY_STOP</stop>
                <pause>KEY_PAUSE</pause>
                <forward>KEY_FASTFORWARD</forward>
                <reverse>KEY_REWIND</reverse>
                <left>KEY_LEFT</left>
                <right>KEY_RIGHT</right>
                <up>KEY_UP</up>
                <down>KEY_DOWN</down>
                <select>KEY_ENTER</select>
                <pageplus>KEY_CHANNELUP</pageplus>
                <pageminus>KEY_CHANNELDOWN</pageminus>
                <back>KEY_BACKSPACE</back>
                <menu>KEY_MENU</menu>
                <play>KEY_PLAY</play>
                <info>Go</info>
                <skipplus>next</skipplus>
                <skipminus>prev</skipminus>
                <display>FullScreen</display>
                <start>applauncher</start>
                <record>KEY_RECORD</record>
                <volumeplus>KEY_VOLUMEUP</volumeplus>
                <volumeminus>KEY_VOLUMEDOWN</volumeminus>
                <mute>KEY_MUTE</mute>
                <power>KEY_POWER</power>
                <myvideo>KEY_VIDEO</myvideo>
                <mymusic>KEY_AUDIO</mymusic>
                <mypictures>KEY_PHOTO</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>
                <playlist>KEY_BOOKMARKS</playlist>
                <teletext>Thumbnail</teletext>
                <title>TaskSwitcher</title>
        </remote>
However I do not have lirc installed anymore - seems unnecessary if scan codes are received OK.

Any other ideas please? Thank you very much. Best regards

Rex
Reply
#2
I have tried to reinstall lirc with Linux input layer (/dev/input/eventX) and /dev/input/by-id/usb-15c2_0038-event-if00 as input device. Color buttons now seem to work apart from BLUE - Pictures but that's probably some error in lirc configuration because
  • when using irw it does not show anything
  • but when I stop lirc and try ir-keytable -t it shows event key down: KEY_IMAGES (0x01ba)

So I guess I can configure the behaviour of individual keys in Lircmap.xml. Hower I still would be interested if it's actually possible to achieve the same thing without running lirc or modifying rc_keymaps.
Reply
#3
OK, I managed to fix the missing button. In this configuration when lirc is driven by Linux input layer which maps kernel keys using /usr/share/lirc/remotes/devinput/lircd.conf.devinput and this file is completely missing mapping for that key. So I have created file /usr/share/lirc/remotes/devinput/lircd.conf.devinput.KEY_PICTURES:
Code:
# generated by devinput.sh
begin remote
        name            devinput
        bits            16
        eps             30
        aeps            100
        pre_data_bits   16
        pre_data        0x0001
        post_data_bits  32
        post_data       0x00000001
        gap             132799
        toggle_bit      0

        begin codes
                KEY_MHP         0x1ba
        end codes
end remote

# generated by devinput.sh (obsolete 32 bit version)
begin remote
        name            devinput
        bits            16
        eps             30
        aeps            100
        pre_data_bits   16
        pre_data        0x8001
        gap             132799
        toggle_bit      0

        begin codes
                KEY_MHP         0x1ba
        end codes
end remote

Then I modified /etc/lirc/lircd.conf to include this new mapping:
Code:
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.

#Configuration for the Linux input layer (/dev/input/eventX) remote:
include "/usr/share/lirc/remotes/devinput/lircd.conf.devinput"
include "/usr/share/lirc/remotes/devinput/lircd.conf.devinput.KEY_PICTURES"

I map the key to KEY_MHP because default XBMC installation's Lircmap.xml section for <remote device="linux-input-layer"> expects this key (so note here - section <remote device="Antec_Veris_RM200"> does not apply in this case).

Hope these finding s help others get some orientation about how these various pieces play together. Still I am interested on how to do this without lirc :-)
Reply

Logout Mark Read Team Forum Stats Members Help
Antec Veris iMon + RM200 remote - some keys not working (lirc not installed)0