[mythtv-users] Using devinput but devinput lircd.conf file does not contain all my remote buttons on Harmony One

Gabe Rubin gaberubin at gmail.com
Fri Jun 24 04:53:40 UTC 2011


On Thu, Jun 23, 2011 at 8:59 PM, Jarod Wilson <jarod at wilsonet.com> wrote:
> On Jun 23, 2011, at 11:03 PM, Gabe Rubin wrote:
>
>> On Mon, Jun 20, 2011 at 10:35 AM, Jarod Wilson <jarod at wilsonet.com> wrote:
>>> On Jun 14, 2011, at 10:42 PM, Gabe Rubin wrote:
>>>
>>>> On Thu, Jun 9, 2011 at 9:03 AM, Jarod Wilson <jarod at wilsonet.com> wrote:
>>>>>
>>>>> Hrm. What does 'ir-keytable' without any args spit back?
>>>>>
>>>>
>>>> [root at localhost ~]# ir-keytable
>>>> Found /sys/class/rc/rc1/ (/dev/input/event2) with:
>>>>        Driver ir-kbd-i2c, table rc-rc5-tv
>>>>        Supported protocols: RC-5
>>>>        Enabled protocols:
>>>>        Repeat delay = 500 ms, repeat period = 33 ms
>>>
>>> Completely and totally NOT the keytable I was expecting, and that
>>> probably explains some things... This one was, iirc, merged into the
>>> hauppauge one after 2.6.38 or so...
>>>
>>> So *before* loading a new keytable, try:
>>>
>>> ir-keytable -s rc1 -r
>>>
>>> The -s can be used to select non-rc0 devices. The -r says "read the
>>> currently loaded keytable". I'm now wondering if that keytable uses
>>> full rc5 codes (device + button) or just the button codes...
>>>
>>>
>> This is what I get (using kernel version : 2.6.35.12-88.fc14.i686)
>> [root at localhost ~]# ir-keytable -r
>> scancode 0x0000 = KEY_0 (0x0b)
>> scancode 0x0001 = KEY_1 (0x02)
>> scancode 0x0002 = KEY_2 (0x03)
>> scancode 0x0003 = KEY_3 (0x04)
>> scancode 0x0004 = KEY_4 (0x05)
>> scancode 0x0005 = KEY_5 (0x06)
>> scancode 0x0006 = KEY_6 (0x07)
>> scancode 0x0007 = KEY_7 (0x08)
>> scancode 0x0008 = KEY_8 (0x09)
>> scancode 0x0009 = KEY_9 (0x0a)
>> scancode 0x000b = KEY_CHANNEL (0x16b)
>> scancode 0x000c = KEY_POWER (0x74)
>> scancode 0x000d = KEY_MUTE (0x71)
>> scancode 0x000f = KEY_TV (0x179)
>> scancode 0x0010 = KEY_VOLUMEUP (0x73)
>> scancode 0x0011 = KEY_VOLUMEDOWN (0x72)
>> scancode 0x0012 = KEY_BRIGHTNESSUP (0xe1)
>> scancode 0x0013 = KEY_BRIGHTNESSDOWN (0xe0)
>> scancode 0x001e = KEY_SEARCH (0xd9)
>> scancode 0x0020 = KEY_CHANNELUP (0x192)
>> scancode 0x0021 = KEY_CHANNELDOWN (0x193)
>> scancode 0x0022 = KEY_CHANNEL (0x16b)
>> scancode 0x0023 = KEY_LANGUAGE (0x170)
>> scancode 0x0026 = KEY_SLEEP (0x8e)
>> scancode 0x002e = KEY_MENU (0x8b)
>> scancode 0x0030 = KEY_PAUSE (0x77)
>> scancode 0x0032 = KEY_REWIND (0xa8)
>> scancode 0x0033 = KEY_GOTO (0x162)
>> scancode 0x0035 = KEY_PLAY (0xcf)
>> scancode 0x0036 = KEY_STOP (0x80)
>> scancode 0x0037 = KEY_RECORD (0xa7)
>> scancode 0x003c = KEY_TEXT (0x184)
>> scancode 0x003d = KEY_SUSPEND (0xcd)
>>
>> Not surprisingly, none of the buttons that irw doesn't recognizes is
>> is in that output (with the exception KEY_TV, which irw does not
>> recognize but is in the above output).
>
> Okay, if some of the keys above *are* working, then in the keymap you
> load into the kernel, try chopping out the 1e. I swear you should be
> seeing full codes passed along, rather than just button codes, but if
> you're getting keycode matches with the 0x00?? scancodes, it must be
> that only button codes are going through.
>
Maybe I was not being clear.  That output is the default keytable that
gets loaded.  All the keys in that output are recognized in irw (with
the exception of the KEY_TV button).  However, those keys are just a
subset of the keys on my remote.  There are about 15 keys that are not
on that list nor are they recognized by irw (cal those keys the
"Missing Keys").  With the exception of KEY_TV, none of the Missing
Keys (the keys irw does not recognize) is in that list.

However, my file /etc/rc_keymaps/haupp contains codes for every one of
the keys on my remote and each of those codes corresponds to the hex
figure for the device (30 -> 0x1e) and code as confirmed by looking at
dmesg.  You had told me to use dmesg output in a prior email in this
chain; however, I did not need to edit that file at all, it was
installed with those codes already in it.

When I try to explicity load that keytable (/etc/rc_keymaps/haupp), I
get no recognized keys in irw.  This leads me to believe that the
codes are incorrect in the /etc/rc_keymaps/haupp file, so I should
probably correct them, including the keys that are not in the default
keytable file; however, I don't know how to correctly parse the device
and code figures (i.e., the numbers that dmesg reports).

I understand what you mean by me not seeing full codes passed along as
opposed to just button codes, but I am not sure if the button codes
dmesg is reporting is what I need for my keytable.  It does not appear
to be as simple as replacing 1e with 00.  Although that would work for
some of the keys (example: KEY_3 in the keytable loaded by default is
0x0003 and in the /etc/rc_keymaps/haupp keytable 0x1e03) it would not
work for all (example: KEY_CHANNEL in the keytable loaded by default
is 0x0022 and in the /etc/rc_keymaps/haupp keytable 0x1e12).   Here is
the what is read when I load the /etc/rc_keymaps/haupp keytable, and
there are plenty of more examples.

scancode 0x1e00 = KEY_0 (0x0b)
scancode 0x1e01 = KEY_1 (0x02)
scancode 0x1e02 = KEY_2 (0x03)
scancode 0x1e03 = KEY_3 (0x04)
scancode 0x1e04 = KEY_4 (0x05)
scancode 0x1e05 = KEY_5 (0x06)
scancode 0x1e06 = KEY_6 (0x07)
scancode 0x1e07 = KEY_7 (0x08)
scancode 0x1e08 = KEY_8 (0x09)
scancode 0x1e09 = KEY_9 (0x0a)
scancode 0x1e0a = KEY_KPASTERISK (0x37)
scancode 0x1e0b = KEY_RED (0x18e)
scancode 0x1e0c = KEY_RADIO (0x181)
scancode 0x1e0d = KEY_MENU (0x8b)
scancode 0x1e0e = KEY_GRAVE (0x29)
scancode 0x1e0f = KEY_MUTE (0x71)
scancode 0x1e10 = KEY_VOLUMEUP (0x73)
scancode 0x1e11 = KEY_VOLUMEDOWN (0x72)
scancode 0x1e12 = KEY_CHANNEL (0x16b)
scancode 0x1e14 = KEY_UP (0x67)
scancode 0x1e15 = KEY_DOWN (0x6c)
scancode 0x1e16 = KEY_LEFT (0x69)
scancode 0x1e17 = KEY_RIGHT (0x6a)
scancode 0x1e18 = KEY_VIDEO (0x189)
scancode 0x1e19 = KEY_AUDIO (0x188)
scancode 0x1e1a = KEY_MEDIA (0xe2)
scancode 0x1e1b = KEY_EPG (0x16d)
scancode 0x1e1c = KEY_TV (0x179)
scancode 0x1e1e = KEY_NEXT (0x197)
scancode 0x1e1f = KEY_BACK (0x9e)
scancode 0x1e20 = KEY_CHANNELUP (0x192)
scancode 0x1e21 = KEY_CHANNELDOWN (0x193)
scancode 0x1e24 = KEY_LAST (0x195)
scancode 0x1e25 = KEY_OK (0x160)
scancode 0x1e29 = KEY_BLUE (0x191)
scancode 0x1e2e = KEY_GREEN (0x18f)
scancode 0x1e30 = KEY_PAUSE (0x77)
scancode 0x1e32 = KEY_REWIND (0xa8)
scancode 0x1e34 = KEY_FASTFORWARD (0xd0)
scancode 0x1e35 = KEY_PLAY (0xcf)
scancode 0x1e36 = KEY_STOP (0x80)
scancode 0x1e37 = KEY_RECORD (0xa7)
scancode 0x1e38 = KEY_YELLOW (0x190)
scancode 0x1e3b = KEY_GOTO (0x162)
scancode 0x1e3d = KEY_POWER (0x74)


More information about the mythtv-users mailing list