[mythtv-users] remote control mostly stopped working

Stephen Worthington stephen_agent at jsw.gen.nz
Fri Nov 27 04:52:39 UTC 2020

On Thu, 26 Nov 2020 20:07:01 -0800 (PST), you wrote:

>> On Thu, 26 Nov 2020 00:59:39 -0800 (PST), you wrote:
>> >> Am Dienstag, 24. November 2020, 06:46:57 CET schrieb TODD ANDERSON:
>> >> > It seems that some Ubuntu update screwed up my remote control.  I have a
>> >> > Hauppauge remote and the arrow keys still work but basically nothing else. 
>> >> > From ir-keytable, it seems like /etc/rc_keymaps/hauppauge isn't being
>> >> > loaded at startup anymore.  If I load the file manually with ir-keytable -c
>> >> > -w /etc/rc_keymaps/hauppague then ir-keytable -t will report the correct
>> >> > scancodes and mappings when I push the remote buttons but it is like those
>> >> > keystrokes aren't sent to mythfrontend because still only the arrow keys
>> >> > work.
>> >> > 
>> >> > In mythfrontend setup, when using ir-keytable, I just want to make sure that
>> >> > LIRC daemon socket should be empty.  Should the evdev device name go
>> >> > anywhere in the mythfrontend setup?
>> >> > 
>> >> > Any suggestions for what the problem could be?
>> >> 
>> >> Like Stephen suggested, the configs and mappings are configured different. My 
>> >> appraoch for this (debian not ubuntu, and I'm lazy) was to just configure 
>> >> mythfrontend to react to the unmapped values. So you can just go to config 
>> >> screen, if you call the menu with blue-button (like I do) try to map menu to 
>> >> blue-button in frontend instead of mapping blue-button to m in system.
>> >
>> >I have previously tried "edit keys" and was able to map a couple additional buttons.
>> >However, for some buttons (like the 4 color buttons at the bottom of the remote)
>> >when I go into edit keys and select the function I want to map to and select an
>> >empty slot and it asks me to press the key on the remote, I do, and then nothing
>> >happens.  The buttons that I really miss are pause and the 4 color buttons.
>> Do the non-working keys show up when you test them with ir-keytable
>> -t?  If not, then there is a problem with the keymap.  What version of
>> Ubuntu are we talking about?  I found that there have been some
>> changes to the names of the keys in the keymap files between 18.04 and
>> 20.04.  And the keymap files themselves have changed - they now have a
>> .toml extension and are found in /lib/udev/rc_keymaps.
>> The first thing to do is to make sure that all the keys on the remote
>> work with ir-keytable -t.  That is necessary for using lirc or using
>> the key mappings directly in MythTV.
>> Next, you have to decide whether you are going to use lirc or not.  If
>> you have more than one program that you want to use lirc with (eg
>> MythTV, mplayer and irexec in my case), then it is almost certain that
>> you will need to use lirc.  If you want to be able to select which
>> keys will autorepeat or not, and the autorepeat rate, you also need to
>> use lirc.
>> If you decide not to use lirc, you may need to use a custom keymap
>> file to remap any keys that MythTV can not see to KEY_ values it is
>> able to use.  Find the hauppauge.toml file in /lib/udev/rc_keymaps and
>> copy it to /etc/rc_keymaps and edit it there.  In /etc/rc_maps.cfg,
>> change the "hauppauge.toml" entry to "/etc/rc_keymaps/hauppauge.toml".
>> It has been a while since I last modified my key mappings - I have
>> reverted to using the standard mappings and changing things in the
>> lirc config.  But if I remember correctly, to test your changes you
>> need to run "ir-keytable -a" or if you have multiple remote receivers,
>> "ir-keytable -a -s rcX" (with X set to the remote number).  That
>> should load your new keymap and you can then test it with "ir-keytable
>> -t".  I am not sure if that is sufficient to get your new keytable
>> loaded on boot though - try rebooting and see if your changes are
>> still there.  If not, you will need to add your "ir-keytable -a"
>> command to /etc/rc.local or create a systemd unit to run that command
>> at boot.
>> In 20.04, the valid KEY_ names you can use are found in:
>> /usr/src/linux-headers-xxxxx/include/uapi/linux/input-event-codes.h
>> where xxxxx is your current kernel version number.
>I am using Ubuntu 20.  I just copied and customized the new hauppauge.toml
>file and put it in the directory you mention above.  Then I rebooted and
>ran ir-keytable -t and the keymappings in hauppauge.toml are not being used.
>If I explicitly do ir-keytable -c -w /etc/rc_keymaps/hauppauge.toml then
>ir-keytable -t will return the correct values.  However, after that, the
>buttons do still not work in the frontend.  Is it necessary to restart
>the frontend after changing ir-keytable?

Not that I know of.  The key tables are in the kernel, so if they show
up in ir-keytable -t, they should be available to all programs.  But,
remember how mythfrontend works - it uses keystrokes available from a
normal keyboard.  When using lirc, the KEY_ values generated by IR
remotes get translated by lirc to normal keyboard keystrokes.  So for
example, the KEY_INFO keystroke might be translated in lirc to I which
is what mythfrontend expects for the Info screen.  Mythfrontend is
unlikely to be able to see KEY_INFO directly, so you would need to
change hauppauge.toml so that the I key on the remote does not send
KEY_INFO, but instead sends I (KEY_I).  You will need to change the
hauppauge.toml settings for most keys.  You may even need to change
the numeric keys, as the keyboard numeric keys are encoded as KEY_0
etc, where the new encoding in 20.04 for the IR numeric keys is
KEY_NUMERIC_0, which are keyboard numeric keypad versions of the
numeric keys.

More information about the mythtv-users mailing list