From ArchWiki
Revision as of 11:33, 29 October 2009 by Gog (Talk | contribs) (Howto setup the X10 - a radio remote)

Jump to: navigation, search

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:LIRC#)

LIRC stands for "Linux Infrared Remote Control", a program to use infrared devices (like your remote control from your TV) with linux.

This article covers using lirc with serial or USB infrared devices.


First install lirc with pacman:

# pacman -S lirc

It's also recommended that you install the utils package:

# pacman -S lirc-utils

Serial receivers

Now there might be a problem: the module lirc_serial is build to use ttyS0 (COM1), if your device isn't connected to ttyS0, you'll have to either change the module-options or rebuild the lirc module. If your device is connected to ttyS0, you can skip this step

To change the options for the lirc_serial module, you edit /etc/modprobe.conf and add this line:

options lirc_serial io=0x2f8 irq=3

You should change the values after io and irq to reflect you serial port settings, the values above may work for you if you are using ttyS1 (COM2) to connect your IR-device. But you will find the correct values by checking dmesg:

$ dmesg | grep ttyS

Building the lirc_serial module for another ttySx

Update abs

# abs

Copy the lirc files to a directory you choose yourself:

$ cp /var/abs/extra/system/lirc /some/dir
$ cd /some/dir

Edit the PKGBUILD in that directory.

Replace the line:

./configure --enable-sandboxed --prefix=/usr \
    --with-driver=all \\
    return 1[/code]


./configure --enable-sandboxed --prefix=/usr \
    --with-driver=com2 \
    || return 1[/code]

Where you replace com2 with the com-port you need.

Build and install the package:

$ makepkg
# pacman -U lirc-version.pkg.tar.gz


Now try to load the serial module:

# modprobe lirc_serial

If this produces an error which says your serial port is not ready, you have the problem that your serial port support is build into the kernel and not as a module (in the default arch kernel it is build into the kernel)

If it's build into the kernel you'll have to do the following (remember that it is build into the kernel, you will need to make some changes later too)

You'll have to release the serial port:

# setserial /dev/ttySx uart none

(Replace x with your port number)

Load the module again:

# modprobe lirc_serial

Now it shouldn't show any errors, and the modules lirc_serial should be listed in lsmod

USB devices

Newer devices may be using the mceusb2 module you should change mceusb2 to mceusb if you are using the old version of the remote. To manually load the USB receiver:

# modprobe lirc_mceusb2

then load lirc

$ lirc

Test it with irw. irw will output the commands received by the IR receiver that match your lircd.conf file. So start irw, point your remote and start pressing buttons.

# irw
000000037ff07bfe 00 One mceusb
000000037ff07bfd 00 Two mceusb
000000037ff07bfd 01 Two mceusb
000000037ff07bf2 00 Home mceusb
000000037ff07bf2 01 Home mceusb

The above procedure however has been simplified and probably won't work that easily. If you get errors in the above try the following:

One of the reasons the lircd daemon may not be working is because it expects to be run at startup and needs root permissions because it will create device nodes in /dev. Try "man lircd" for more information.

To run lircd at startup, add it to the DAEMONS line in /etc/rc.conf. eg:

DAEMONS=(syslog-ng network netfs crond lircd)

Also, if needed add your receivers kernel module to the MODLUES line of /etc/rc.conf eg (for the MCE Remote control):


Next, you need to put your remotes .config file into /etc/lirc.config. These files can be found either in your directory /usr/share/lirc/remotes/ or you may be able to find them here

If you're copying it locally here's an example of what you would do for the mceusb remote

# cp /usr/share/lirc/remotes/mceusb/lircd.conf.mceusb /etc/lircd.conf

upon rebooting the remote should work. Test it with irw. irw will output the commands received by the IR receiver that match your lircd.conf file. So start irw, point your remote and start pressing buttons

# irw
000000037ff07bfe 00 One mceusb
000000037ff07bfd 00 Two mceusb
000000037ff07bfd 01 Two mceusb
000000037ff07bf2 00 Home mceusb
000000037ff07bf2 01 Home mceusb

Setup a HID device with lirc

For lirc version 0.8.5 and previous

Warning: Engrish ahead.

Nowadays there are some cheap HID devices on the market. They are looks like a MCE USB remote, but they aren't.If you plug those devices into you computer, system will automatically recognize them as USB keyboard, it can be used even without lirc. Every button on the device is recognize as a key or a combination of some keys. If you want to get a more customized setting, here is the solution:

Because the HID remote actually simulates a USB infrared Keyboard and an mouse, there are two devices, so you need to create two lirc daemon instead just one in default setting.

Fisrt we need the find out our HID device in /proc/bus/input/device:

 $ cat /proc/bus/input/device

You should find some info like this "Name="HID xxxx:xxxx", here first "xxxx" is the id of the vendor, second one is product id.For example, in my case it's

 Name="HID 3353:3713"

Remember it,those info is import, we will use them late.

then go to /dev/input/by-id

 $ ls -l /dev/input/by-id

You shold find two files named with vendor id and product id, in my case

 lrwxrwxrwx 1 root root  9 10月 14 06:43 usb-3353_3713-event-if00 -> ../event9
 lrwxrwxrwx 1 root root 10 10月 14 06:43 usb-3353_3713-event-if01 -> ../event10

Here 'usb-3353_3713-event-if00' and 'usb-3353_3713-event-if01' are the Linux input device event for our HID device, one for the keyboard, another for the mouse.

Then, we need to edit /etc/conf.d/lircd,this file contains the parameters for lirc daemon

 #Parameters for daemon
Note: Here we set up two lirc devices with the id 3353_3713, you should replace them with your own device input event name, whatever it is.

At the last line we set up the lirc config file, there is a exists lirc configuration file for HID remote. Simply save it as /etc/lircd.conf.

  begin remote
	name linux-input-layer
        gap  199979 
	bits 32
	begin codes
		ESC                  0x10001
		1                    0x10002
		2                    0x10003
		3                    0x10004
		4                    0x10005
		5                    0x10006
		6                    0x10007
		7                    0x10008
		8                    0x10009
		9                    0x1000a
		0                    0x1000b
		MINUS                0x1000c
		EQUAL                0x1000d
		BACKSPACE            0x1000e
		TAB                  0x1000f
		Q                    0x10010
		W                    0x10011
		E                    0x10012
		R                    0x10013
		T                    0x10014
		Y                    0x10015
		U                    0x10016
		I                    0x10017
		O                    0x10018
		P                    0x10019
		LEFTBRACE            0x1001a
		RIGHTBRACE           0x1001b
		ENTER                0x1001c
		LEFTCTRL             0x1001d
		A                    0x1001e
		S                    0x1001f
		D                    0x10020
		F                    0x10021
		G                    0x10022
		H                    0x10023
		J                    0x10024
		K                    0x10025
		L                    0x10026
		SEMICOLON            0x10027
		APOSTROPHE           0x10028
		GRAVE                0x10029
		LEFTSHIFT            0x1002a
		BACKSLASH            0x1002b
		Z                    0x1002c
		X                    0x1002d
		C                    0x1002e
		V                    0x1002f
		B                    0x10030
		N                    0x10031
		M                    0x10032
		COMMA                0x10033
		DOT                  0x10034
		SLASH                0x10035
		RIGHTSHIFT           0x10036
		KPASTERISK           0x10037
		LEFTALT              0x10038
		SPACE                0x10039
		CAPSLOCK             0x1003a
		F1                   0x1003b
		F2                   0x1003c
		F3                   0x1003d
		F4                   0x1003e
		F5                   0x1003f
		F6                   0x10040
		F7                   0x10041
		F8                   0x10042
		F9                   0x10043
		F10                  0x10044
		NUMLOCK              0x10045
		SCROLLLOCK           0x10046
		KP7                  0x10047
		KP8                  0x10048
		KP9                  0x10049
		KPMINUS              0x1004a
		KP4                  0x1004b
		KP5                  0x1004c
		KP6                  0x1004d
		KPPLUS               0x1004e
		KP1                  0x1004f
		KP2                  0x10050
		KP3                  0x10051
		KP0                  0x10052
		KPDOT                0x10053
		103RD                0x10054
		F13                  0x10055
		102ND                0x10056
		F11                  0x10057
		F12                  0x10058
		F14                  0x10059
		F15                  0x1005a
		F16                  0x1005b
		F17                  0x1005c
		F18                  0x1005d
		F19                  0x1005e
		F20                  0x1005f
		KPENTER              0x10060
		RIGHTCTRL            0x10061
		KPSLASH              0x10062
		SYSRQ                0x10063
		RIGHTALT             0x10064
		LINEFEED             0x10065
		HOME                 0x10066
		UP                   0x10067
		PAGEUP               0x10068
		LEFT                 0x10069
		RIGHT                0x1006a
		END                  0x1006b
		DOWN                 0x1006c
		PAGEDOWN             0x1006d
		INSERT               0x1006e
		DELETE               0x1006f
		MACRO                0x10070
		MUTE                 0x10071
		VOLUMEDOWN           0x10072
		VOLUMEUP             0x10073
		POWER                0x10074
		KPEQUAL              0x10075
		KPPLUSMINUS          0x10076
		PAUSE                0x10077
		F21                  0x10078
		F22                  0x10079
		F23                  0x1007a
		F24                  0x1007b
		KPCOMMA              0x1007c
		LEFTMETA             0x1007d
		RIGHTMETA            0x1007e
		COMPOSE              0x1007f
		STOP                 0x10080
		AGAIN                0x10081
		PROPS                0x10082
		UNDO                 0x10083
		FRONT                0x10084
		COPY                 0x10085
		OPEN                 0x10086
		PASTE                0x10087
		FIND                 0x10088
		CUT                  0x10089
		HELP                 0x1008a
		MENU                 0x1008b
		CALC                 0x1008c
		SETUP                0x1008d
		SLEEP                0x1008e
		WAKEUP               0x1008f
		FILE                 0x10090
		SENDFILE             0x10091
		DELETEFILE           0x10092
		XFER                 0x10093
		PROG1                0x10094
		PROG2                0x10095
		WWW                  0x10096
		MSDOS                0x10097
		COFFEE               0x10098
		DIRECTION            0x10099
		CYCLEWINDOWS         0x1009a
		MAIL                 0x1009b
		BOOKMARKS            0x1009c
		COMPUTER             0x1009d
		BACK                 0x1009e
		FORWARD              0x1009f
		CLOSECD              0x100a0
		EJECTCD              0x100a1
		EJECTCLOSECD         0x100a2
		NEXTSONG             0x100a3
		PLAYPAUSE            0x100a4
		PREVIOUSSONG         0x100a5
		STOPCD               0x100a6
		RECORD               0x100a7
		REWIND               0x100a8
		PHONE                0x100a9
		ISO                  0x100aa
		CONFIG               0x100ab
		HOMEPAGE             0x100ac
		REFRESH              0x100ad
		EXIT                 0x100ae
		MOVE                 0x100af
		EDIT                 0x100b0
		SCROLLUP             0x100b1
		SCROLLDOWN           0x100b2
		KPLEFTPAREN          0x100b3
		KPRIGHTPAREN         0x100b4
		INTL1                0x100b5
		INTL2                0x100b6
		INTL3                0x100b7
		INTL4                0x100b8
		INTL5                0x100b9
		INTL6                0x100ba
		INTL7                0x100bb
		INTL8                0x100bc
		INTL9                0x100bd
		LANG1                0x100be
		LANG2                0x100bf
		LANG3                0x100c0
		LANG4                0x100c1
		LANG5                0x100c2
		LANG6                0x100c3
		LANG7                0x100c4
		LANG8                0x100c5
		LANG9                0x100c6
		PLAYCD               0x100c8
		PAUSECD              0x100c9
		PROG3                0x100ca
		PROG4                0x100cb
		SUSPEND              0x100cd
		CLOSE                0x100ce
		PLAY                 0x100cf
		FASTFORWARD          0x100d0
		BASSBOOST            0x100d1
		PRINT                0x100d2
		HP                   0x100d3
		CAMERA               0x100d4
		SOUND                0x100d5
		QUESTION             0x100d6
		EMAIL                0x100d7
		CHAT                 0x100d8
		SEARCH               0x100d9
		CONNECT              0x100da
		FINANCE              0x100db
		SPORT                0x100dc
		SHOP                 0x100dd
		ALTERASE             0x100de
		CANCEL               0x100df
		BRIGHTNESSDOWN       0x100e0
		BRIGHTNESSUP         0x100e1
		MEDIA                0x100e2
		UNKNOWN              0x100f0
		BTN_MISC             0x10100
		BTN_0                0x10100
		BTN_1                0x10101
		BTN_2                0x10102
		BTN_3                0x10103
		BTN_4                0x10104
		BTN_5                0x10105
		BTN_6                0x10106
		BTN_7                0x10107
		BTN_8                0x10108
		BTN_9                0x10109
		BTN_MOUSE            0x10110
		BTN_LEFT             0x10110
		BTN_RIGHT            0x10111
		BTN_MIDDLE           0x10112
		BTN_SIDE             0x10113
		BTN_EXTRA            0x10114
		BTN_FORWARD          0x10115
		BTN_BACK             0x10116
		BTN_TASK             0x10117
		BTN_JOYSTICK         0x10120
		BTN_TRIGGER          0x10120
		BTN_THUMB            0x10121
		BTN_THUMB2           0x10122
		BTN_TOP              0x10123
		BTN_TOP2             0x10124
		BTN_PINKIE           0x10125
		BTN_BASE             0x10126
		BTN_BASE2            0x10127
		BTN_BASE3            0x10128
		BTN_BASE4            0x10129
		BTN_BASE5            0x1012a
		BTN_BASE6            0x1012b
		BTN_DEAD             0x1012f
		BTN_GAMEPAD          0x10130
		BTN_A                0x10130
		BTN_B                0x10131
		BTN_C                0x10132
		BTN_X                0x10133
		BTN_Y                0x10134
		BTN_Z                0x10135
		BTN_TL               0x10136
		BTN_TR               0x10137
		BTN_TL2              0x10138
		BTN_TR2              0x10139
		BTN_SELECT           0x1013a
		BTN_START            0x1013b
		BTN_MODE             0x1013c
		BTN_THUMBL           0x1013d
		BTN_THUMBR           0x1013e
		BTN_DIGI             0x10140
		BTN_TOOL_PEN         0x10140
		BTN_TOOL_RUBBER      0x10141
		BTN_TOOL_BRUSH       0x10142
		BTN_TOOL_PENCIL      0x10143
		BTN_TOOL_AIRBRUSH    0x10144
		BTN_TOOL_FINGER      0x10145
		BTN_TOOL_MOUSE       0x10146
		BTN_TOOL_LENS        0x10147
		BTN_TOUCH            0x1014a
		BTN_STYLUS           0x1014b
		BTN_STYLUS2          0x1014c
		BTN_WHEEL            0x10150
		BTN_GEAR_DOWN        0x10150
		BTN_GEAR_UP          0x10151
		OK                   0x10160
		SELECT               0x10161
		GOTO                 0x10162
		CLEAR                0x10163
		POWER2               0x10164
		OPTION               0x10165
		INFO                 0x10166
		TIME                 0x10167
		VENDOR               0x10168
		ARCHIVE              0x10169
		PROGRAM              0x1016a
		CHANNEL              0x1016b
		FAVORITES            0x1016c
		EPG                  0x1016d
		PVR                  0x1016e
		MHP                  0x1016f
		LANGUAGE             0x10170
		TITLE                0x10171
		SUBTITLE             0x10172
		ANGLE                0x10173
		ZOOM                 0x10174
		MODE                 0x10175
		KEYBOARD             0x10176
		SCREEN               0x10177
		PC                   0x10178
		TV                   0x10179
		TV2                  0x1017a
		VCR                  0x1017b
		VCR2                 0x1017c
		SAT                  0x1017d
		SAT2                 0x1017e
		CD                   0x1017f
		TAPE                 0x10180
		RADIO                0x10181
		TUNER                0x10182
		PLAYER               0x10183
		TEXT                 0x10184
		DVD                  0x10185
		AUX                  0x10186
		MP3                  0x10187
		AUDIO                0x10188
		VIDEO                0x10189
		DIRECTORY            0x1018a
		LIST                 0x1018b
		MEMO                 0x1018c
		CALENDAR             0x1018d
		RED                  0x1018e
		GREEN                0x1018f
		YELLOW               0x10190
		BLUE                 0x10191
		CHANNELUP            0x10192
		CHANNELDOWN          0x10193
		FIRST                0x10194
		LAST                 0x10195
		AB                   0x10196
		NEXT                 0x10197
		RESTART              0x10198
		SLOW                 0x10199
		SHUFFLE              0x1019a
		BREAK                0x1019b
		PREVIOUS             0x1019c
		DIGITS               0x1019d
		TEEN                 0x1019e
		TWEN                 0x1019f
		DEL_EOL              0x101c0
		DEL_EOS              0x101c1
		INS_LINE             0x101c2
		DEL_LINE             0x101c3
	end codes
  end remote

At last, we need to edit our lirc daemon script:

# vim /etc/rc.d/lircd

Here is what it looks like after the edit.


. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/lircd

PID=$(pidof -o %PPID /usr/sbin/lircd)
case "$1" in
    stat_busy "Starting LIRC Daemon"
    [ -z "$PID" ] && 
      if [ -n "$LIRC_DEVICE0" ] && [ -n "$LIRC_DEVICE1" ] ; then
        /usr/sbin/lircd -d "$LIRC_DEVICE0" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=$PIDFILE0 --output=/dev/lircd0 --listen
        /usr/sbin/lircd -d "$LIRC_DEVICE1" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=$PIDFILE1 --output=/dev/lircd --connect=localhost:8765
        /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=$PIDFILE0 --output=/dev/lircd0 --listen
        /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=$PIDFILE1 --output=/dev/lircd --connect=localhost:8765
    if [ $? -gt 0 ]; then
      add_daemon lircd
    stat_busy "Stopping LIRC Daemon"
    [ ! -z "$PID" ] && kill $PID &> /dev/null
    if [ $? -gt 0 ]; then
      rm_daemon lircd
    $0 stop
    sleep 1
    $0 start
    echo "usage: $0 {start|stop|restart}"
exit 0

In order to launch the lirc daemon for HID remote, You must enable evdev module first

# modprobe evdev

Then you can launch the lric daemon.

# /etc/rc.d/lircd start

You can test the setting with irw command

$ irw

You should see something like this on you screen when you click the remote button.

 0000000000010067 00 UP linux-input-layer
 000000000001006c 00 DOWN linux-input-layer
 0000000000010069 00 LEFT linux-input-layer
 000000000001006a 00 RIGHT linux-input-layer
 000000000001001c 00 ENTER linux-input-layer
 000000000001009e 00 BACK linux-input-layer
 000000000001000f 00 TAB linux-input-layer

If you like start lirc daemon at the boot ,simply put evden and lircd to your /etc/rc.conf

MODULES=(... evdev ...)
DAEMONS=(... lircd ...)

For Lirc version 0.8.6 and above

According the changes in Lirc version 0.8.6, we need do some tiny change in order to make HID works with latest verson of lirc.

1. Changes in config files

The content of these config file do not need to do any change, so you can still use the example in lirc 0.8.5. The only thing you need to do is change where the file shoud to be put at. The config file that contains the parameters for /etc/rc.d/lircd has been move from /etc/conf.d/(in lirc 0.8.5) to /etc/lirc/lircd.conf. The config file of HID device itself remains the same postion with old version, ie, /etc/licd.conf

2. Changes in /etc/rc.d/lircd Though of lirc 0.8.6 had changed the default socket from /dev/lircd to /var/run/lirc/lircd, but most applications still recognize the old socket. So I strongly recommend that you should make a soft link with the name '/etc/rc.d/lircd', like this:


 . /etc/rc.conf
 . /etc/rc.d/functions
 . /etc/lirc/lircd.conf

 PID=$(pidof -o %PPID /usr/sbin/lircd)
 case "$1" in
     stat_busy "Starting LIRC Daemon"
     [ -z "$PID" ] &&
       if [ -n "$LIRC_DEVICE0" ] && [ -n "$LIRC_DEVICE1" ] ; then
         /usr/sbin/lircd -d "$LIRC_DEVICE0" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=/var/run/lirc/ --output=/var/run/lirc/lircd0 --listen
         /usr/sbin/lircd -d "$LIRC_DEVICE1" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=/var/run/lirc/ --output=/var/run/lirc/lircd --connect=localhost:8765
         ln -s /var/run/lirc/lircd /dev/lircd
         /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=/var/run/lirc/ --output=/var/run/lirc/lircd0 --listen
         /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE --pidfile=/var/run/lirc/ --output=/var/run/lirc/lircd --connect=localhost:8765
         ln -s /var/run/lirc/lircd /dev/lircd
 if [ $? -gt 0 ]; then
 add_daemon lircd
     stat_busy "Stopping LIRC Daemon"
     [ ! -z "$PID" ] && kill $PID &> /dev/null
     if [ $? -gt 0 ]; then
 rm_daemon lircd
     $0 stop
     sleep 1
     $0 start
     echo "usage: $0 {start|stop|restart}"
 exit 0

You can file all these codes in my github page

Using a X10


Making a configuration file

You'll need a configuration file for your remote control. The easiest way is to look on the lirc site and hope your device has already a config file: list of remotes on the lirc site

If so, download your file and save it as /etc/lircd.conf

If your device doesn't have already a config file, you'll have to create the file yourself with the command:

# irrecord -d /dev/lirc0 /tmp/my_remote

Just follow the instructions. The resulting file, /tmp/my_remote, should then be copied to /etc/lircd.conf. If you want to use several remotes, you repeat the irrecord step with each remote and different filenames, and then concatenate all the resulting files into /etc/lircd.conf:

# cat /tmp/my_remote /tmp/my_remote2 /tmp/my_remote3 >/etc/lircd.conf


First start the lircd daemon:

# /etc/rc.d/lircd start

A good way to see if lirc is running is to run irw.

$ irw

When you press a button, you should get something like this:

0000000000000001 00 play sony2
0000000000000001 01 play sony2
0000000000000001 02 play sony2
0000000000000001 03 play sony2

In this case my remote is called sony2, the button is called play, and lirc has seen it 4 times.

Run lirc at bootup

Remember if you had to execute the setserial command while loading the module?

If so, your serial port support is compiled into the kernel

Your serial port support is compiled as a module in the kernel

This is rather easy: you'll just have to add lirc_serial to the modules list and lircd to the daemons list in /etc/rc.conf

Your serial port support is compiled into the kernel

This is more complicated, you can't just add the lirc_serial to the modules list in /etc/rc.conf, as the serial port should be released first.

So I created a custom startup script to fix this problem.

In /etc/rc.d/start_lirc:

#releases ttySx and loads lirc_serial module

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
   stat_busy "release ttySx"
       setserial /dev/ttySx uart none
       #load lirc module
       modprobe lirc_serial
   stat_busy "unload lirc module"
       rmmod lirc_serial
   $0 stop
   $0 start
   echo "usage: $0 {start|stop|restart}"
exit 0

Now load the daemons: add "start_lirc" and "lircd" to the daemons list in /etc/rc.conf

Program specific

Enable lirc support in xine

Now lirc works, but you have no program that can communicate with lirc. This section will explain how to make xine work, but you can use xmms and mplayer (and probably a lot of other programs too) to work with lirc.

Compile xine with lirc support

Download the xine-ui pkgbuild from the cvs tree.

Add " --enable-lirc" to the "./configure" line


$ makepkg

Uninstall old xine-ui and install the new one

# pacman -R xine-ui
# pacman -U xine-filename.pkg.tar.gz

Configure xine to use lirc

Let xine produce a default .lircrc file. In your home directory, type:

$ xine --keymap=lirc>.lircrc

Now, in order to have a functioning xine+lirc, edit the .lircrc file to your preferences.

However, you may choose to configure lirc to control more than just xine. If this is the case, you will need to manually edit the .lircrc file, and add elements.

Xine-ui Mplayer Totem Vlc Rhythmbox

All work with lirc, but you must enable lirc support in the program in some cases, such as VLC. Simply copy the vlc packagebuild and edit it so that "--enable-lirc" is one of the compile options for VLC not FFMPEG!

Configure Amarok2 to use Lirc

Depending on your controller model, the following configuration works with Amarok2-svn. This configuration file will work with the MCEUSB controller.


Configure Audacious(2) to use Lirc

Depending on your controller model, the following configuration works with all versions of Audacious, including the mercurial builds. This configuration file will work with the MCEUSB controller.


Additionally, there are other values that may be set according to the model set forth above. This was taken from the lirc.c file from audacious-plugins source code:


External Resources

MythTV wiki main LIRC article

MythTV wiki on MCE remotes

Gentoo wiki LIRC how-to