X10
X10 is a radio remote compatible with LIRC.
Install LIRC
To support power actions directly from Kodi (like shutdown option) upower needs to be installed.
Blacklist not working module
For some reason udev loads the wrong kernel module for this radio remote, so you need to blacklist it. This is done in /etc/modprobe.d/
Errors in dmesg with the wrong module:
ati_remote 1-1.1:1.0: Unknown input from channel 0x00: data 72,9d ati_remote: Weird data, len=5 20 fa 5b 65 b6 20 ... ati_remote: Weird data, len=5 20 fa db 5d b6 00 ...
To blacklist the module create the following file:
/etc/modprobe.d/remote_blacklist.conf
# For some reason udev loads the wrong kernel module for the X10 radio remote, so blacklist it blacklist ati_remote
Create /etc/lirc/lircd.conf
This maps the keys from your remote to strings you can use for programs like mplayer.
It can automatically generated or copied from one of the provided examples in /usr/share/lirc/remotes
.
To generate your own lircd.conf
use:
# irrecord -H atilibusb --disable-namespace lircd.conf
More details are available at LIRC#Creating remote configuration.
Here is one for a Medion X10 Remote:
# Please make this file available to others # by sending it to <lirc@bartelmus.de> # # this config file was automatically generated # using lirc-0.8.2(default) on Sun Aug 12 02:13:30 2007 # # contributed by Ben Adler @ gmx dot net # # brand: Medion / X10 (part of https://www.medion.de/md8824/) # remote control: RF Vista Remote Control (OR24V) # P/N: 2003 5335 # devices being controlled by this remote: USB RF remote receiver (CM20E), P/N 2003 1776 begin remote name Medion_X10 bits 16 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 8 pre_data 0x14 post_data_bits 16 post_data 0x0 gap 227978 toggle_bit_mask 0x80800000 begin codes red 0x87B2 yellow 0x0934 blue 0x8AB5 green 0x0833 power 0xD702 text 0xEB16 tvrecord 0x6D98 disc 0xD904 table 0x86B1 tvplay 0xF11C back 0x75A0 info 0x042F volume_up 0x5E89 volume_down 0xDD08 mute 0x5580 channel_up 0xE00B channel_down 0x618C cursor_up 0xEF1A cursor_down 0x77A2 cursor_left 0xF21D cursor_right 0x749F ok 0xF31E start 0x709B track_previous 0xF621 track_next 0x78A3 record 0xFC27 pause 0x7EA9 stop 0xFD28 seek_backward 0x79A4 play 0xFA25 seek_forward 0x7BA6 1 0xE20D 2 0x638E 3 0xE40F 4 0x6590 5 0xE611 6 0x6792 7 0xE813 8 0x6994 9 0xEA15 0 0x6C97 asterisk 0x0C37 hash 0x8DB8 clear 0x0530 enter 0x8BB6 photo 0x5A85 music 0xDB06 video 0x82AD end codes end remote
Alternate config file:
begin remote name mceusb bits 16 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 8 pre_data 0x14 post_data_bits 16 post_data 0x0 gap 227978 suppress_repeat 12 min_repeat 3 toggle_bit_mask 0x80800000 begin codes BDelete 0xF520 BBlue 0x0A35 BChanUp 0xE00B BChanDown 0x618C BChannelList 0x85B0 BDown 0x77A2 BDVD 0xD904 BEight 0xE914 BReneme 0x0B36 BFive 0x6691 BForward 0x7BA6 BFour 0xE510 BGreen 0x88B3 BVideoDesktop 0x0631 BEditImage 0x0D38 BSetup 0x709B BSnapshot 0x6D98 BLeft 0x729D BChannelSearch 0x719C BTvPreview 0x84AF BMute 0xD500 BNine 0x6A95 BOK 0xF31E BOne 0x628D BPause 0xFE29 BPlay 0xFA25 BPower 0xD702 BRecord 0xFC27 BRed 0x87B2 BPrevious 0x76A1 BRewind 0x79A4 BRight 0xF41F BSeven 0x6893 BSix 0xE712 BNext 0xF823 BAcquireImage 0x8CB7 BStop 0x7DA8 BTxt 0x6B96 BThree 0x648F BTwo 0xE30E BUp 0xEF1A BVolDown 0x5D88 BVolUp 0xDE09 BYellow 0x0934 BZero 0xEC17 BTv 0x012C BVcr 0x022D BMusic 0xDB06 BRadio 0x032E BPhoto 0xDA05 BFullscreen 0x0E39 BDvdmenu 0xEE19 BDvdaudio 0x0F3A end codes end remote
Edit /etc/conf.d/lircd.conf
Recent versions of LIRC drop support for the lirc_atiusb
kernel module and so it is now necessary to use the atilibusb driver.
Simply add "atilibusb"
to the LIRC_DRIVER
field so that the file looks like this:
# Parameters for lirc daemon # LIRC_DEVICE="/dev/lirc0" LIRC_DRIVER="atilibusb" LIRC_EXTRAOPTS="" LIRC_CONFIGFILE=""
Starting lircd
Example mplayer config
~/.lircrc
is the default MPlayer filename for the LIRC config, see mplayer(1) to change this.
Change in ~/.lircrc
:
begin button = VOLUME_UP #VOLUME_UP is the string defined in /etc/lirc/lircd.conf prog = mplayer config = volume 1 #this is mplayers internal command, see "mplayer -input cmdlist" for more end begin button = VOLUME_DOWN prog = mplayer config = volume -1 end begin button = RIGHT prog = mplayer config = seek +1 end begin button = LEFT prog = mplayer config = seek -1 end begin button = UP prog = mplayer config = seek +50 end begin button = DOWN prog = mplayer config = seek -50 end begin button = PLAY prog = mplayer config = pause end begin button = PAUSE prog = mplayer config = pause end #show elapse/total time in the upper left corner #Source: https://web.archive.org/web/20200808073444/http://prasinos.eu/articles/mplayer-lirc-elapsed-time begin button = GUIDE prog = mplayer config = osd_show_property_text "${time_pos} / ${length}" end
Kodi
Please see Kodi#Using a remote control.
The below example ~/.xbmc/userdata/Lircmap.xml
file is compatible with the alternate lircd.conf
posted above.
<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml --> <lircmap> <remote device="mceusb"> <pause>BPause</pause> <stop>BStop</stop> <forward>BForward</forward> <reverse>BRewind</reverse> <left>BLeft</left> <right>BRight</right> <up>BUp</up> <down>BDown</down> <select>BOK</select> <pageplus>BChanUp</pageplus> <pageminus>BChanDown</pageminus> <back>BDelete</back> <menu></menu> <title>BChannelSearch</title> <info>BSnapshot</info> <skipplus>BNext</skipplus> <skipminus>BPrevious</skipminus> <display></display> <start>BPlay</start> <record>BRecord</record> <volumeplus>BVolUp</volumeplus> <volumeminus>BVolDown</volumeminus> <mute>BMute</mute> <myvideo>BRed</myvideo> <mymusic>BYellow</mymusic> <mypictures>BGreen</mypictures> <mytv>BBlue</mytv> <one>BOne</one> <two>BTwo</two> <three>BThree</three> <four>BFour</four> <five>BFive</five> <six>BSix</six> <seven>BSeven</seven> <eight>BEight</eight> <nine>BNine</nine> <zero>BZero</zero> <PlayDVD>BDVD</PlayDVD> <ShowVideoMenu>BDvdmenu</ShowVideoMenu> <NextSubtitle>BTxt</NextSubtitle> <AudioNextLanguage>BDvdaudio</AudioNextLanguage> <ContextMenu>BSetup</ContextMenu> </remote> </lircmap>