OK
and channel up/down
don't. To solve this LibreELEC runs eventlircd
in the background to translate Linux input events into LIRC events. So "under the hood" the new scheme is being used, but remote buttons still show up as LIRC events in Kodi.Lircmap.xml
and then buttons are mapped to Kodi actions via remote.xml
and keyboard.xml
files. This wiki page describes the LibreELEC configuration. Information on Kodi configuration is available in the Kodi LIRC and Kodi Keyboard.xml wiki pages.ir-keytable
to configure Infra-Red Remotes. Each IR receiver kernel driver installs a default keytable
which specifies the IR protocol to use, e.g. RC5, RC6, NEC, and the scancode to Linux keycode mappings.ir-keytable -a
is automatically run to change the kernel default configuration. First /etc/rc_maps.cfg
determines which keytable to load. Then the corresponding keytable file from /usr/lib/udev/rc_keymaps
is used to configure the remote control driver./storage
area:/storage/.config/rc_maps.cfg
overrides /etc/rc_maps.cfg
./storage/.config/rc_maps.cfg.sample
has simple examples./storage/.config/rc_keymaps
overrides /usr/lib/udev/rc\_keymaps\
./etc/rc_maps.cfg
uses the libreelec_multi
keytable instead of rc6_mce.libreelec_multi
keytable allows us to support Xbox 360/One remotes "out of box" in addition to MCE/RC6 remotes. This is configured via the following change:lirc.conf
file./usr/lib/udev/rc_keymaps/
.ir-keytable -c -w /path/to/keytable-file
e.g./storage/.config/rc_maps.cfg
with the name of the keytable, e.g. if the samsung
keytable works the file with the following content:ir-keytable -a /storage/.config/rc_maps.cfg
and the output should look like:ir-keytable
:ir-keytable
to find out which protocols tthe receiver driver supports. Look at the Supported protocols:
line, e.g.ir-keytable -p PROTOCOL -t
and press buttons on the remote. If you discover the correct protocol you will see EV_MSC
events and the scancode of the button pressed, e.g.CTRL-C
and try another protocol from the list. You can ignore lirc
as this is not a real protocol./storage/.config/rc_keymaps/custom_remote
and set the header file. In the example above the protocol is rc-5
so we set:custom_remote
:custom_remote
keytable file, e.g. in one open the nano
editor:ir-keytable -t
to find out the scancode of each button. For each button do the following:irrecord -l | grep ^KEY
but it is easiest to use keycodes listed in the <remote device=“devinput”>
section of /usr/share/kodi/system/Lircmap.xml
else you must also create a Kodi lircmap.xml
with Linux keycode to action mappings.CTRL-C
and then restart it with the keytable file:ir-keytable -t
and press buttons. In addition to EV_MSC scancode events you should now see EV_KEY events, e.g./storage/.config/rc_maps.cfg
with the following content:ir-keytable
. If you see the error message /sys/class/rc/: No such file or directory
no driver is loaded.ir-keytable
shows lirc
as a supported protocol. If yes, run ir-ctl -r
to show raw, undecoded signals from the receiver. If IR reception works you will see lots of pulse and space lines when pressing a button. Note: On kernels before 4.3 lirc may be listed in Supported protocols but not in Enabled protocols. In this case run ir-keytable -p lirc
to enable it first (remembering this will disable other decoders).lircd
is running run ir-keytable
. If only lirc
shows up in Enabled protocols:
lircd is running. When it starts it disables all other protocols). You can also run ps | grep /usr/sbin/lircd
to check for /usr/sbin/lircd
and /usr/sbin/lircd-uinput
processes. If you see them LIRC enabled. If LIRC is enabled, disable it in LibreELEC Settings > Services and reboot.ir-keytable -r
to show the current keytable and protocol. Compare this to the header in /storage/.config/rc_keymaps/custom_remote
and check /storage/.config/rc_maps.cfg
references the correct keytable name.ir-keytable -t
and press buttons on the remote. You should see EV_MSC events with the scancode and EV_KEY events with the Linux keycode, e.g.irw
to show the translated LIRC events Kodi sees. When pressing a button you should see messages like this:LIRC: Update
like this:OnKey:
line shows the action generated after applying Lircmap.xml
and remote.xml
. If you see LIRC lines but incorrect actions, check your Kodi Lircmap.xml
and remote.xml
config files are correct./etc/lirc/lirc_options.conf
file configures the default LIRC driver and /dev/lirc0./etc/lirc/lircd.conf
file includes remote configs for MCE, Xbox 360, Xbox One, and a few others./storage/.config/lircd.conf
and /storage/.config/lirc_options.conf
with needed changes.lircd-uinput
reads decoded LIRC events from /run/lirc/lircd.socket
and translates these to Linux input events via the Linux uinput driver. The Linux input events from lircd-uinput are then picked up by eventlircd
and fed to Kodi as LIRC events via the /run/lirc/lircd
socket.rc_maps.cfg
file:atvclient
to support the Apple IR sensor and send LIRC events to Kodi. Since 9.2.0 we use the native Linux kernel driver for the IR sensor, which sends normal HID events. Create a custom keymap in /storage/.kodi/userdata/keymaps/keymap.xml
with the following content to map a White or Silver remote: