Archive:Configure your Cyberlink Media Centre Remote on Linux: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Rumburake
(Created page with '__TOC__ ==Introduction== Cyberlink Media Centre Remote Control is some £5 USB remote control. It looks like this: File:CyberlinkRemote.jpg‎ On Linux (>=2.6.29)it is dete…')
 
 
(23 intermediate revisions by 6 users not shown)
Line 1: Line 1:
__TOC__
__TOC__


==Introduction==
== Introduction ==
Cyberlink Media Centre Remote Control is some £5 USB remote control.
Cyberlink Media Centre Remote Control is some £5 USB remote control.
It looks like this: [[File:CyberlinkRemote.jpg‎]]
It looks like this:
 
[[File:CyberlinkRemote.jpg‎]]


On Linux (>=2.6.29)it is detected as some kind of keyboard/mouse combo. The device mostly generates keyboard presses, like "0", "1", "2", "XF86AudioPlay", "Enter", "Delete" and so on. But unfortunately not all buttons will work, like "Subtitle" or the 4 coloured buttons (DVD/Music/Pictures/Videos) - which will impair your experience with XBMC.
On Linux (>=2.6.29)it is detected as some kind of keyboard/mouse combo. The device mostly generates keyboard presses, like "0", "1", "2", "XF86AudioPlay", "Enter", "Delete" and so on. But unfortunately not all buttons will work, like "Subtitle" or the 4 coloured buttons (DVD/Music/Pictures/Videos) - which will impair your experience with XBMC.
Line 11: Line 13:
* Setting up a Lircmap.xml file
* Setting up a Lircmap.xml file


Credits go to MrLux's forum post [http://forum.xbmc.org/showthread.php?t=61219]. I added a few correction as:
Credits go to MrLux's forum post [http://forum.kodi.tv/showthread.php?t=61219]. I added a few correction as:
* Lirc config has a mistake because event id doesn't always match device id
* Lirc config has a mistake because event id doesn't always match device id
* probably becose the post is kind of old Lircmap.xml was not complete
* probably because the post is kind of old Lircmap.xml was not complete


The config files here will get your remote going on XBMC 10.00 on Ubuntu Maveric 10.10.
The config files here will get your remote going on XBMC 10.00 on Ubuntu Maveric 10.10.


==Lirc setup==
== Lirc setup ==
 
=== Install Lirc ===
 
<pre>sudo apt-get install lirc</pre>
 
* You will be asked which remote to setup. You can choose "hauppauge nova-t 500" and as device select whatever you get from this command:
<pre>`cat /proc/bus/input/devices | grep -A4 "TopSeed" | grep event | tail -n1 | sed 's/.*\(event[0-9]\+\).*/\/dev\/input\/\1/'`</pre>
 
This command is selecting the second input device (the one with mouse and keyboard) created by the kernel driver when you insert the USB receiver. It will look similar to:
<pre>/dev/input/event14</pre>
 
=== Configure Lirc, really ===
* Edit, as root, and replace /etc/lirc/hardware.conf as:
 
<pre>
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Cyberlink Media Centre"
REMOTE_MODULES=""
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="`cat /proc/bus/input/devices | grep -A4 "TopSeed" | grep event | tail -n1 | sed 's/.*\(event[0-9]\+\).*/\/dev\/input\/\1/'`"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS="--device=`cat /proc/bus/input/devices | grep -A4 "TopSeed" | grep event | tail -n1 | sed 's/.*\(event[0-9]\+\).*/\/dev\/input\/\1/'` --driver=dev/input"
 
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
 
#Enable lircd
START_LIRCD="true"
 
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"
 
#Try to load appropriate kernel modules
LOAD_MODULES="true"
 
# Default configuration files for your hardware if any
LIRCMD_CONF=""
 
#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
</pre>
 
* Edit the remote button config file, replace old content in /etc/lirc/lircd.conf:
<pre>
 
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.
 
#Configuration for the Hauppauge Nova-T 500 remote:
#include "/usr/share/lirc/extras/more_remotes/hauppauge/lircd.conf.hauppauge_novat500"
 
begin remote
name linux-input-layer
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
</pre>
 
=== Test your config ===
 
* Restart Lirc
<pre>$ sudo /etc/init.d/lirc restart</pre>
 
* Try your remote
<pre>$ irw</pre>
 
Press a few buttons, if everything is OK you will get for example:
<pre>
0000000000010172 00 SUBTITLE linux-input-layer
0000000000010187 00 MP3 linux-input-layer
00000000000100d4 00 CAMERA linux-input-layer
0000000000010189 00 VIDEO linux-input-layer
000000000001008e 00 SLEEP linux-input-layer
</pre>
 
== Config XBMC for Remote actions ==
 
* Edit the remote control button mapping file, ~/.xbmc/userdata/Lircmap.xml:
 
Mappings look like this: <pre><XBMC_COMMAND>YOUR_REMOTE_BUTTON</XBMC_COMMAND></pre>
<pre>
<lircmap>
<remote device="linux-input-layer">
<altname>cx23885_remote</altname>
<altname>devinput</altname>
<left>KEY_LEFT</left>
<right>KEY_RIGHT</right>
<up>KEY_UP</up>
<down>KEY_DOWN</down>
<select>KEY_ENTER</select>
<start>MEDIA</start>
<back>BACK</back>
<record>RECORD</record>
<play>PLAY</play>
<pause>PAUSE</pause>
<stop>STOPCD</stop>
<forward>FASTFORWARD</forward>
<reverse>REWIND</reverse>
<volumeplus>VOLUMEUP</volumeplus>
<volumeminus>VOLUMEDOWN</volumeminus>
<channelplus>CHANNELUP</channelplus>
<channelminus>CHANNELDOWN</channelminus>
<skipplus>NEXTSONG</skipplus>
<skipminus>PREVIOUSSONG</skipminus>
<title>TEXT</title>
<subtitle>SUBTITLE</subtitle>
<language>LANGUAGE</language>
<mute>MUTE</mute>
<power>SLEEP</power>
<myvideo>VIDEO</myvideo>
<mymusic>MP3</mymusic>
<mypictures>CAMERA</mypictures>
<mytv>TV2</mytv>
<info>PROPS</info>
<display>ANGLE</display>
<menu>MENU</menu>
</remote>
</lircmap></pre>
 
* Edit XBMC remote actions: ~/.xbmc/userdata/keymaps/remote.xml, which should be a copy of the global file /usr/share/xbmc/system/keymaps/remote.xml but with the following difference:
<pre>
diff .xbmc/userdata/keymaps/remote.xml /usr/share/xbmc/system/keymaps/remote.xml
69c69
<      <mytv>XBMC.ActivateWindow(MyWeather)</mytv>
---
>      <mytv>XBMC.ActivateWindow(VideoLibrary,TvShows)</mytv>
148c148
<      <subtitle>NextSubtitle</subtitle>
---
>      <subtitle>ShowSubtitles</subtitle>
</pre>
 
* Test your XBMC config:
** Press the coloured buttons in turn. They should get you to Music, Pictures, Videos etc.
** Play a movie with subtitles. Press the "Subtitle" button. Subtitles should cycle.
 
== Feel free to contribute ==
I had limited time to config this and test.
If you have some improvements over the existing config (especially the Lircmap.xml stuff), feel free to edit it.
 
Cheers,
 
--[[User:Rumburake|Rumburake]] 22:08, 23 January 2011 (UTC)
 
[[Category:Hardware-Archived]]

Latest revision as of 20:53, 12 July 2020

Introduction

Cyberlink Media Centre Remote Control is some £5 USB remote control. It looks like this:

CyberlinkRemote.jpg

On Linux (>=2.6.29)it is detected as some kind of keyboard/mouse combo. The device mostly generates keyboard presses, like "0", "1", "2", "XF86AudioPlay", "Enter", "Delete" and so on. But unfortunately not all buttons will work, like "Subtitle" or the 4 coloured buttons (DVD/Music/Pictures/Videos) - which will impair your experience with XBMC.

The solution here involves:

  • Setting up Lirc and the remote as a devinput Lirc device
  • Setting up a Lircmap.xml file

Credits go to MrLux's forum post [1]. I added a few correction as:

  • Lirc config has a mistake because event id doesn't always match device id
  • probably because the post is kind of old Lircmap.xml was not complete

The config files here will get your remote going on XBMC 10.00 on Ubuntu Maveric 10.10.

Lirc setup

Install Lirc

sudo apt-get install lirc
  • You will be asked which remote to setup. You can choose "hauppauge nova-t 500" and as device select whatever you get from this command:
`cat /proc/bus/input/devices | grep -A4 "TopSeed" | grep event | tail -n1 | sed 's/.*\(event[0-9]\+\).*/\/dev\/input\/\1/'`

This command is selecting the second input device (the one with mouse and keyboard) created by the kernel driver when you insert the USB receiver. It will look similar to:

/dev/input/event14

Configure Lirc, really

  • Edit, as root, and replace /etc/lirc/hardware.conf as:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Cyberlink Media Centre"
REMOTE_MODULES=""
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="`cat /proc/bus/input/devices | grep -A4 "TopSeed" | grep event | tail -n1 | sed 's/.*\(event[0-9]\+\).*/\/dev\/input\/\1/'`"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS="--device=`cat /proc/bus/input/devices | grep -A4 "TopSeed" | grep event | tail -n1 | sed 's/.*\(event[0-9]\+\).*/\/dev\/input\/\1/'` --driver=dev/input"

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"

#Try to load appropriate kernel modules
LOAD_MODULES="true"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
  • Edit the remote button config file, replace old content in /etc/lirc/lircd.conf:

#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.

#Configuration for the Hauppauge Nova-T 500 remote:
#include "/usr/share/lirc/extras/more_remotes/hauppauge/lircd.conf.hauppauge_novat500"

begin remote
	name linux-input-layer
	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

Test your config

  • Restart Lirc
$ sudo /etc/init.d/lirc restart
  • Try your remote
$ irw

Press a few buttons, if everything is OK you will get for example:

0000000000010172 00 SUBTITLE linux-input-layer
0000000000010187 00 MP3 linux-input-layer
00000000000100d4 00 CAMERA linux-input-layer
0000000000010189 00 VIDEO linux-input-layer
000000000001008e 00 SLEEP linux-input-layer

Config XBMC for Remote actions

  • Edit the remote control button mapping file, ~/.xbmc/userdata/Lircmap.xml:

Mappings look like this:

<XBMC_COMMAND>YOUR_REMOTE_BUTTON</XBMC_COMMAND>
<lircmap>
	<remote device="linux-input-layer">
	<altname>cx23885_remote</altname>
	<altname>devinput</altname>
		<left>KEY_LEFT</left>
		<right>KEY_RIGHT</right>
		<up>KEY_UP</up>
		<down>KEY_DOWN</down>
		<select>KEY_ENTER</select>
		<start>MEDIA</start>
		<back>BACK</back>
		<record>RECORD</record>
		<play>PLAY</play>
		<pause>PAUSE</pause>
		<stop>STOPCD</stop>
		<forward>FASTFORWARD</forward>
		<reverse>REWIND</reverse>
		<volumeplus>VOLUMEUP</volumeplus>
		<volumeminus>VOLUMEDOWN</volumeminus>
		<channelplus>CHANNELUP</channelplus>
		<channelminus>CHANNELDOWN</channelminus>
		<skipplus>NEXTSONG</skipplus>
		<skipminus>PREVIOUSSONG</skipminus>
		<title>TEXT</title>
		<subtitle>SUBTITLE</subtitle>
		<language>LANGUAGE</language>
		<mute>MUTE</mute>
		<power>SLEEP</power>
		<myvideo>VIDEO</myvideo>
		<mymusic>MP3</mymusic>
		<mypictures>CAMERA</mypictures>
		<mytv>TV2</mytv>
		<info>PROPS</info>
		<display>ANGLE</display>
		<menu>MENU</menu>
	</remote>
</lircmap>
  • Edit XBMC remote actions: ~/.xbmc/userdata/keymaps/remote.xml, which should be a copy of the global file /usr/share/xbmc/system/keymaps/remote.xml but with the following difference:
diff .xbmc/userdata/keymaps/remote.xml /usr/share/xbmc/system/keymaps/remote.xml 
69c69
<       <mytv>XBMC.ActivateWindow(MyWeather)</mytv>
---
>       <mytv>XBMC.ActivateWindow(VideoLibrary,TvShows)</mytv>
148c148
<       <subtitle>NextSubtitle</subtitle>
---
>       <subtitle>ShowSubtitles</subtitle>
  • Test your XBMC config:
    • Press the coloured buttons in turn. They should get you to Music, Pictures, Videos etc.
    • Play a movie with subtitles. Press the "Subtitle" button. Subtitles should cycle.

Feel free to contribute

I had limited time to config this and test. If you have some improvements over the existing config (especially the Lircmap.xml stuff), feel free to edit it.

Cheers,

--Rumburake 22:08, 23 January 2011 (UTC)