[mythtv-users] Using devinput but devinput lircd.conf file does not contain all my remote buttons on Harmony One
Jarod Wilson
jarod at wilsonet.com
Wed Jun 8 21:09:10 UTC 2011
On Jun 8, 2011, at 2:29 PM, Gabe Rubin wrote:
> On Wed, Jun 8, 2011 at 11:22 AM, Jarod Wilson <jarod at wilsonet.com> wrote:
>> On Jun 8, 2011, at 2:01 PM, Gabe Rubin wrote:
>>
>>> On Wed, Jun 8, 2011 at 10:48 AM, Jarod Wilson <jarod at wilsonet.com> wrote:
>>>> On Jun 8, 2011, at 1:09 AM, Gabe Rubin wrote:
>>>>
>>>>> On Tue, Jun 7, 2011 at 9:14 PM, Jarod Wilson <jarod at wilsonet.com> wrote:
>>>>>> On Jun 7, 2011, at 6:03 PM, Gabe Rubin wrote:
>> ...
>>>>>>>>> I just realized, there are also 5 buttons on the remote's touchscreen
>>>>>>>>> that shows up in demsg but not irw. Here is the output in dmesg for
>>>>>>>>> those:
>>>>>>>>>
>>>>>>>>> [936592.054938] ir-kbd-i2c: ir hauppauge (rc5): s1 r1 t0 dev=30 code=28
>>>>>>>>> [936612.056075] ir-kbd-i2c: ir hauppauge (rc5): s1 r1 t1 dev=30 code=24
>>>>>>>>> [936624.269950] ir-kbd-i2c: ir hauppauge (rc5): s1 r1 t0 dev=30 code=26
>>>>>>>>> [936632.776960] ir-kbd-i2c: ir hauppauge (rc5): s1 r1 t1 dev=30 code=14
>>>>>>>>> [936641.785956] ir-kbd-i2c: ir hauppauge (rc5): s1 r1 t0 dev=30 code=25
>>>>>>>>
>>>>>>>> Okay, if you haven't already, yum install v4l-utils, then edit /etc/rc_keymaps/haupp,
>>>>>>>> and add 0x30xx KEY_WHATEVER lines for each of those keys (where "WHATEVER" needs to
>>>>>>>> line up with key names in /usr/include/linux/input.h and the devinput lircd.conf),
>>>>>>>> then run 'ir-keytable -a', and I *think* you should be good to go. That will tell
>>>>>>>> ir-keytable to upload the modified/extended keytable into the kernel for ir-kbd-i2c
>>>>>>>> to use for scancode to keycode mapping.
>>>>>>>
>>>>>>> OK, so to confirm that I am doing this correctly, I should look in
>>>>>>> /usr/include/linux/input.h to find out what the KEY_WHATEVER name is
>>>>>>> and then edit /etc/rc_keymaps/haupp to add that. For example, they
>>>>>>> key that generates a code of 28 in dmesg, I see in the input.h file
>>>>>>> that:
>>>>>>> #define KEY_ENTER 28
>>>>>>
>>>>>> The code from the remote and the defines in input.h aren't in any way directly
>>>>>> related. If the button that generates code 28 is rewind, map it to KEY_REWIND.
>>>>>>
>>>>>> However... I just realized that I missed a conversion step. 30 is base 10, the
>>>>>> values in the config are hex. 30 -> 0x1e. Same decimal to hex conversion needs
>>>>>> to be done for the code values as well.
>>>>>>
>>>>>>
>>>>>>> So I should enter 0x30xx KEY_ENTER in the haupp file? (are the xx in
>>>>>>> that line variables or should it read exactly that?)
>>>>>>
>>>>>> 'dev=30 code=28' in dmesg for the button labeled rewind -> '0x1e1c KEY_REWIND'
>>>>>> in the haupp file.
>>>>>
>>>>>
>>>>> OK, I converted the values for the 16 keys to hexidecimal. I am not
>>>>> sure about dev=30 code=14 (is that 0x1e0e?).
>>>>
>>>> Yes, that's correct.
>>>>
>>>>> It turns out that all
>>>>> are already in haupp file (with the exception of dev=30 code=14,
>>>>> unless that is 0x1e0e).
>>>>
>>>> You sure? The haupp file I'm looking at over here only has 0x1fxx
>>>> variants of the keys. Should be expanded in v4l-utils 0.8.4, I believe,
>>>> but what I'm looking at is from what I believe is the current latest
>>>> package in fedora 15... (There was a bit of churn with the hauppauge
>>>> config files, as there were several different ones, all actually more
>>>> or less the same, but some with device in the scancode, some without,
>>>> and they're finally merged together in the latest v4l/dvb code).
>>>>
>>>
>>> Pretty sure. I just copied /etc/rc_keymaps/haupp to my webdirectory.
>>> Look here: http://mustbethemoney.mine.nu:8080/haupp.txt
>>> Those all appear to me to be 0x1exx variants. So I am confused (and
>>> some of the keys show up in irw, some don't).
>>
>> Huh. Now I'm not quite sure what the heck is going on... One thing that
>> does need to be fixed in that table though, is 'type: UNKNOWN' should
>> be 'type: RC-5'.
>>
>>
>>> I am using F14 and v4l-utils-0.8.3-2.fc14.i686.
>>
>> Bizarre. Seems to have slightly different table files than the package
>> with the same nvr for fedora 15.
>>
>>
>>>>> So I am not sure why I don't see those when I
>>>>> run irw. Do I need to execute "ir-keytables -a first even though I
>>>>> made no changes? If so, what is the exact syntaxt, because I get
>>>>> errors when I run that command:
>>>>> [root at localhost lirc]# ir-keytable -a /etc/rc_keymaps/haupp
>>>>
>>>> Just 'ir-keyable -a', nothing else. Its supposed to use /etc/rc_maps.cfg
>>>> to auto-determine which keytable file to upload. You can also try an
>>>> explicit 'ir-keytable -c -w /etc/rc_keymaps/haupp'.
>>>>
>>>
>>> When I try just ir-keytable -a, here is what happens (have not tried
>>> ir-keytable -c -w /etc/rc_keymaps/haupp yet as I am not in front of
>>> the computer and would not be able to test the remote at this point):
>>> [root at localhost ~]# ir-keytable -a
>>> ir-keytable: option requires an argument -- 'a'
>>> Try `ir-keytable --help' or `ir-keytable --usage' for more information.
>>
>> Sorry, I'm an idjit. It is indeed supposed to be
>> 'ir-keytable -a /etc/rc_keymaps.cfg', which you've tried, and got an
>> error from... I wonder if setting UNKNOWN to RC-5 will get you past
>> that...
>>
> Actually, I was trying ir-keytable -a /etc/rc_keymaps/haupp
> When I try ir-keytable -a /etc/rc_maps.cfg I get the following error:
> Couldn't find any node at /sys/class/rc/rc*.
>
> I do not have the ir-kbd-i2c module loaded right now though, so maybe
> that is the issue.
Yeah, module has to be loaded, or there's no rc device for ir-keytable
to upload the keytable into.
> I will also try changing the UNKNOWN to RC-5.
> When exactly do I need to execute the command? With the lirc service
> off? With the correct module loaded? At any time? And do I need to
> do it on each reboot?
In theory, the udev rule should trigger automatically after you load
up the ir-kbd-i2c module, but maybe its not enabled in F14... In which
case, you'd want to modprobe ir-kbd-i2c, then run ir-keytable, from
somewhere such as /etc/sysconfig/modules/lirc.modules. (There's no
auto-loading of ir-kbd-i2c, so it has to be loaded by hand before there
is anything for ir-keytable and/or lirc to talk to).
> Still not understanding why some keys that are mapped in that haupp
> file show up in irw when I have the right module loaded but others
> don't.
That file doesn't necessarily match what's actually in the kernel.
After loading ir-kbd-i2c, ir-keytable -r will dump the keytable that
is actually present in the kernel.
--
Jarod Wilson
jarod at wilsonet.com
More information about the mythtv-users
mailing list