Denon RC-1146 remote with Kodi
Today I created a configuration file for my Denon RC-1146 remote. Since Kodi is connected to the DVD input of my amp, I used the remote's default DVD profile.
First, I wired up the IR detector to the Raspberry Pi's GPIO pins as shown in the tutorial.
Because I use OpenELEC rather than RaspBMC, I then had to edit the configuration file to load the device tree overlay.
# mount -o remount,rw /flash
# echo dtoverlay=lirc-rpi >> /flash/config.txt
# mount -o remount,ro /flash
From LibreELEC 9, rc-core is used instead of lircd, so the instructions below will need to change.
For the /storage/.config/lircd.conf file, I tweaked some of the codes for Kodi: the key labelled »menu« on the remote sends a KEY_INFO code since that seems to be the most useful code in Kodi (file info or playing info, respectively). The »top level« key sends KEY_MENU which takes you to Kodi's main menu and toggles the play menu. I assigned KEY_EPG to the »setup« key since KEY_SETUP doesn't seem to do anything while KEY_EPG invokes the context menu in the menu and the decoder info while playing. Finally, I cheekily remapped the »10+« key to KEY_SUBTITLE since the former seems to be unused and I use the latter a lot.
The numeric keys are assigned KEY_NUMERIC prefixes because Kodi requires it.
Also, the key labelled »enter« is assigned to KEY_OK and »return« is assigned to KEY_EXIT since that seems to be more appropriate in the context of lircd.
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.9.1-git(default) on Tue Apr 5 23:36:06 2016
#
# contributed by <jocki84@googlemail.com>
#
# brand: Denon
# model no. of remote control: RC-1146
# devices being controlled by this remote: Denon DVD Players
# This multi-purpose remote has many emulations, these codes
# were generated using the default setting for DVD, 32134.
#
begin remote
name DENON_RC1146_DVD
bits 15
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
one 290 1815
zero 290 760
ptrail 290
gap 66911
toggle_bit_mask 0x0
begin codes
KEY_POWER 0x300C
KEY_UP 0x08D4
KEY_DOWN 0x092B
KEY_LEFT 0x082B
KEY_RIGHT 0x09D4
KEY_OK 0x088B # KEY_ENTER
KEY_INFO 0x09DB # KEY_MENU
KEY_MENU 0x090B # KEY_DVD
KEY_EPG 0x08F4 # KEY_SETUP
KEY_EXIT 0x0924
KEY_REWIND 0x089B
KEY_PLAY 0x0814
KEY_FASTFORWARD 0x0964
KEY_PREVIOUS 0x099B
KEY_PAUSE 0x091B
KEY_STOP 0x09EB
KEY_NEXT 0x0864
KEY_NUMERIC_1 0x0904
KEY_NUMERIC_2 0x08FB
KEY_NUMERIC_3 0x0884
KEY_NUMERIC_4 0x097B
KEY_NUMERIC_5 0x0984
KEY_NUMERIC_6 0x087B
KEY_NUMERIC_7 0x0844
KEY_NUMERIC_8 0x09BB
KEY_NUMERIC_9 0x0944
KEY_NUMERIC_0 0x09FB
KEY_SUBTITLE 0x08C4 # KEY_102ND
end codes
end remote
Note for LibreELEC 8.2 In order for lircd to start, it's necessary to
$ touch /storage/.cache/services/lircd.conf
Note for LibreELEC 7.90.008: lircd should be started when the /dev/lirc0 device is created by the lirc_rpi kernel module.
This is achieved using udev which starts an appropriate instance of /usr/lib/systemd/system/lircd.service (such as lircd@lirc0:default:lircd.conf.rpi) from /usr/lib/udev/rules.d/98-lircd.rules when the device appears.
Occasionally, there might be a link in .config/system.d/multi-user.target.wants which leads to lircd being started before the device node has been created.
Such a link should not exist.
Comments
Post a Comment