v17 Kodi ignores half the remote buttons with ir-keytable
#1
I updated my Kodi install on Ubuntu 17.04 today, now my IR remote is ignored by Kodi. LIRC still works because "irw" give out correct information, and because irexec is working. Lircmap.xml is still there, I checked.
Thanks in advance

UPDATE:
So I removed LIRC to switch to ir-keytable, as I should have done a long time ago; made a keymap for my remote, every button is recognized with "ir-keytable -t", however, Kodi ignores half the inputs. Directional keys, play/pause, FF and Rewind work - nothing else does. I updated my "Lircmap.xml" to feature new button names, also switched changed the line to <remote device="devinput">
Reply
#2
Kodi's 17.3 version did not change a single thing concerning lirc.

Most likely your 17.04 changed the way the remote is made available to the system.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
I've been using 17.04 for about 1.5 months now, and it only stopped working now. But the changes that move lirc's functionality to kernel have been in place for a long time - I guess a legacy feature broke recently.

But that's irrelevant, I have a new issue now, and since the thread is still here, I changed the title and OP.

So I removed LIRC to switch to ir-keytable, as I should have done a long time ago; made a keymap for my remote, every button is recognized with "ir-keytable -t", however, Kodi ignores half the inputs. Directional keys, play/pause, FF and Rewind work - nothing else does. I updated my "Lircmap.xml" to feature new button names, also switched changed the line to <remote device="devinput">
Reply
#4
It seems I have the exact same issue as here: http://forum.kodi.tv/showthread.php?tid=314816
But I'm running a system with a window manager (Ubuntu 17.04). What should be done with this thread then?

LIRC support in Ubuntu is basically dead in latest versions, because it moved to kernel, and Kodi doesn't properly support input events. So people with IR remotes are basically screwed?
Reply
#5
Do it right and it will work: http://forum.kodi.tv/showthread.php?tid=...pid2591199

has zero to do with kodi - we cannot workaround every layer 8 issue ...
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#6
If you use ir-keytable you neither need a lircmap.xml nor a remote.xml. Key presses on the remote get recognized as normal keyboard buttons.

Lirc does still work with Ubuntu 17.04, no issue et all. Lirc's devinput driver has ever been crap. Forget this option.
Reply
#7
First of all, thank you all for your answers, this is really helpful!


(2017-05-26, 20:35)fritsch Wrote: Do it right and it will work: http://forum.kodi.tv/showthread.php?tid=...pid2591199

has zero to do with kodi - we cannot workaround every layer 8 issue ...
I've tried replacing some buttons like "KEY_OK" to "KEY_ENTER", and it works (haven't tried the digits "spoofing" yet), it just seems like a workaround - a functional workaround, but still a workaround.

(2017-05-26, 20:45)FernetMenta Wrote: If you use ir-keytable you neither need a lircmap.xml nor a remote.xml. Key presses on the remote get recognized as normal keyboard buttons.

Lirc does still work with Ubuntu 17.04, no issue et all. Lirc's devinput driver has ever been crap. Forget this option.
I would gladly keep using LIRC, seeing as I had a working setup with input schemes changing when closing Kodi and opening Steam/Chrome, I just can't figure out how; it just seems like every Lirc issue people report on Ubuntu gets an answer "Lirc is irrelevant, use ir-keytable", so that's why I tried to switch.
Switching "devinput" driver to "default" results in weird behavior I described in the OP, to reiterate, after some time passes (seems like around 30 min) the inputs stop being recognized by Lirc, so I have to press any button around 4-5 times so Lirc "wakes up", then it works flawlessly until it "falls asleep" again. Can you tell me what direction I should look to in order to fix the issues with the default driver?
Reply
#8
I managed to make Kodi 17.3 work with Lubuntu 17.04 and Lirc using my remote control. It is a little bit tricky, but it woks. First af all, there are two things that you have to consider.

- Newer versions of LIRC do not dump the socket in /dev/lircd anymore, as it used to be. Instead, the socket is now dumped into /var/run/lirc/lircd. Kodi still tries to find the socket in the older location, so a symlink from the newer to the older location solves that problem.

- It seems the hardware.conf file has changed a little bit. In order to make it work, I modified a few parameters in /etc/lirc/lirc_options.conf instead of hardware.conf. In my specific case (I work with an external Sound Blaster X-Fi 5.1 pro, which has a remote control and a volume knob in the sound card itself) I made the following modifications:

driver = alsa_usb

This is the driver my soundcard uses.

device = "hwTonguero"

In your specific case, you have to find out which is your specific device. Since mine is a soundcard, I found it out within the file /proc/asound/cards ; since mine is a soundcard.

you have to preserve lircd.conf file as it should be for your remote.

You can restart LIRC after this, then you can try whether it recognizes your remote using irw.

Once LIRC recognizes your control, now you have to make KODI recognize it. For that, you have to create a symlink from the new socket to the old socket:

sudo ln -s /var/run/lirc/lircd /dev/lirc

Then you can restart KODI and find out whether it recognizes your remote commands.

Since symlinks are temporary, they're lost when you reboot your computer. I worked that around through a local startup script. (rc.local).

Ubuntu 17.04 do not use rc.local, but you can configure rc.local as service.

First, you have to create a script called /etc/systemd/system/rc-d.service having the following code:

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

Then, you create a /etc/rc.local file the script may look like the regular rc.local file:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0


make the script executable:

sudo chmod +x /etc/rc.local

make sure you introduce, before exit 0, your symlink command (ln -s /var/run/lirc/lircd /dev/lircd)

then enable the service:

sudo systemctl enable rc-local

then you can start the service:

sudo systemctl start rc-local.service

This way, every time you boot your system, the rc-local service will create the symlink in the old socket location for KODI to find it.

I hope this helps.
Reply
#9
lilomaster, thanks for your reply. I moved back to LIRC about a month ago, it's still iffy though. I initially tried moving to ir-keytable because updating to 17.04 broke something in my setup. The "devinput" driver I used initially stopped working, so I had to change it to "default", which worked, but had this issue where after some time passed (seems like around 30 min) the inputs stopped being recognized by Lirc, so I had to press any button around 4-5 times so Lirc would "wake up", then it worked flawlessly until it "fell asleep" again.

I moved back to LIRC, still using the default driver, still have the "falling asleep" issue - but it's better than ir-keytable's input lag and repeating button presses. I actually went through the process of creating a startup script that would create a symlink in my own path
Reply
#10
I updated my system to the last mint distribution and it broke my remote, only some buttons worked like OP

You have to make sure that the file at /etc/rc_keymaps/ is named "rc6_mce" because it is referenced at /etc/rc_maps.cfg

what broke my setup was that the there was a mismatch in the name of the file, my file name was just "rc6" and only some buttons worked.
Reply

Logout Mark Read Team Forum Stats Members Help
Kodi ignores half the remote buttons with ir-keytable0