HOW-TO setup a working configuration for the MS Xbox 360 Universal & Media Remote - FishOil - 2009-05-23
Edit: Update 5 Jan 2013
BASH script to automate the process
http://pastebin.com/TWuBCtJR (pastebin sitcks a bunch of carriage returns into the script and messed it up)
This should be better http://crunchbanglinux.org/pastebin/2230
This configuration will also work for the new Xbox-360 Media remote
-----------------------------------------------------------------------------------
Configuring this device was very difficult for me as I had no understanding of the particulars required. I hope this helps someone so they dont have to spend the many hours making these files. Why these type of things aren't made easier is beyond me. I had no desire to spend so much time to get a remote working to simply watch a movie.
Not EVERY button is used. I did not map the YXAB buttons for example (haven't decided what I want them to do yet.). Feel free to map them however you want.
Anyway, This is not a how to, its simply a way to get your remote working without knowing any of the details. I have done the work for you and all you will need to do is place these files in the correct place.
However there are a few things that are assumed.
1. You have a working install of lirc
2. You know how to navigate to hidden directories (.xbmc) in Linux.
3. You know how to make changes as root.
4. You may have to restart lirc to make the changes take affect (sudo /etc/init.d/lirc restart)
In some cases these files may not even exist, Simply create them if thats the case.
If these files are already on your system you can rename them to accommodate the new ones.
/etc/lirc/hardware.conf
Code: # /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Microsoft_Xbox360"
REMOTE_MODULES=""
REMOTE_DRIVER=""
REMOTE_DEVICE=""
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS=""
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
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=""
/etc/lirc/lircd.conf
Code: # TV button sends no signal and toggles Xbox 360/TV mode. TV mode can be
# signals for any device the remote supports. Volume Up, Volume Down and
# Mute always use the TV mode while the Xbox live guide button always sends
# to the xbox.
begin remote
name Microsoft_Xbox360
bits 13
flags RC6|CONST_LENGTH
eps 30
aeps 100
header 2682 906
one 438 451
zero 438 451
pre_data_bits 24
pre_data 0x1BFF80
gap 107066
toggle_bit_mask 0x8000
rc6_mask 0x100000000
begin codes
OpenClose 0x8BD7
XboxFancyButton 0x0B9B
OnOff 0x8BF3
Stop 0x0BE6
Pause 0x8BE7
Rewind 0x0BEA
FastForward 0x8BEB
Prev 0x0BE4
Next 0x8BE5
Play 0x0BE9
Display 0x8BB0
Title 0x0BAE
DVD_Menu 0x8BDB
Back 0x0BDC
Info 0x8BF0
UpArrow 0x0BE1
LeftArrow 0x8BDF
RightArrow 0x0BDE
DownArrow 0x8BE0
OK 0x0BDD
Y 0x8BD9
X 0x0B97
A 0x8B99
B 0x0BDA
PgDown 0x0B92
PgUp 0x0B93
VolDown 0x0bee
VolUp 0x0bef
Mute 0x0bf1
TV 0x0bb9
Start 0x0BF2
Play 0x8BE9
Enter 0x0BF4
Record 0x8BE8
Clear 0x0BF5
1 0x8BFE
2 0x0BFD
3 0x8BFC
4 0x0BFB
5 0x8BFA
6 0x0BF9
7 0x8BF8
8 0x0BF7
9 0x8BF6
100 0x0BE2
0 0x8BFF
Reload 0x8BE3
end codes
end remote
/home/USER/.xbmc/userdata/Keymap.xml
Code: <keymap>
<global>
<remote>
<left>Left</left>
<right>Right</right>
<up>Up</up>
<down>Down</down>
<select>Select</select>
<back>ParentDir</back>
<forward>FastForward</forward>
<reverse>Rewind</reverse>
<play>Play</play>
<pause>Pause</pause>
<stop>Stop</stop>
<mute>Mute</mute>
<pageplus>PageUp</pageplus>
<pageminus>PageDown</pageminus>
<volumeplus>VolumeUp</volumeplus>
<volumeminus>VolumeDown</volumeminus>
<zero>Number0</zero>
<one>Number1</one>
<two>Number2</two>
<three>Number3</three>
<four>Number4</four>
<five>Number5</five>
<six>Number6</six>
<seven>Number7</seven>
<eight>Number8</eight>
<nine>Number9</nine>
<power>XBMC.ShutDown()</power>
<skipplus>SkipNext</skipplus>
<skipminus>SkipPrevious</skipminus>
<display>FullScreen</display>
<record>Screenshot</record>
<start>XBMC.ActivateWindow(PlayerControls)</start>
<info>Info</info>
</remote>
</global>
</keymap>
home/USER/.xbmc/userdata/Lircmap.xml
Code: <lircmap>
<remote device="Microsoft_Xbox360">
<left>LeftArrow</left>
<right>RightArrow</right>
<up>UpArrow</up>
<down>DownArrow</down>
<select>OK</select>
<back>Back</back>
<forward>FastForward</forward>
<reverse>Rewind</reverse>
<play>Play</play>
<pause>Pause</pause>
<stop>Stop</stop>
<volumeplus>VolUp</volumeplus>
<volumeminus>VolDown</volumeminus>
<mute>Mute</mute>
<pageminus>PgDown</pageminus>
<pageplus>PgUp</pageplus>
<zero>0</zero>
<one>1</one>
<two>2</two>
<three>3</three>
<four>4</four>
<five>5</five>
<six>6</six>
<seven>7</seven>
<eight>8</eight>
<nine>9</nine>
<power>OnOff</power>
<skipplus>Next</skipplus>
<skipminus>Prev</skipminus>
<display>Display</display>
<record>Record</record>
<start>Start</start>
<info>Info</info>
</remote>
</lircmap>
This is the remote I have. It can be bought at Walmart or BestBuy for $20
- ScAndal - 2009-09-01
I have this remote and the settings in this file still don't work.
Does anyone know how I can further debug? Is there an lirc application that can monitor your calls to see what is coming across?
Some type of infrared sniffer?
ScAndal
- pko66 - 2009-09-02
ScAndal Wrote:I have this remote and the settings in this file still don't work.
Does anyone know how I can further debug? Is there an lirc application that can monitor your calls to see what is coming across?
Some type of infrared sniffer?
ScAndal yes, just execute "irw" while lircd is running (as a daemon or in another console)
- pumkinut - 2009-09-02
Just a quick question, does this come with a USB IR receiver, or would I need to find one of those as well as the remote?
- pencilhead - 2009-10-06
pumkinut Wrote:Just a quick question, does this come with a USB IR receiver, or would I need to find one of those as well as the remote?
No you need the IR reciever.
I'm no expert - but what i've read is this controller sends in IR Version6
and xbox1 is in version.
Feel free to correct me if im wrong. cause id love to get this remote working with xbox1
- dropsergodt - 2009-11-04
pumkinut Wrote:Just a quick question, does this come with a USB IR receiver, or would I need to find one of those as well as the remote?
I just bought the IR receiver IR605A and the Xbox 360 Universal Remote and got it working on my Asrock 330 ION with Ubuntu Jaunty after following these instructions https://help.ubuntu.com/community/InstallLirc/Hardy#Adding%20support%20for%20more%20remotes . To add the IR605A receiver add the follow lines in lirc_mceusb2.c befor rebuilding.
/* Formosa Industrial Computing / IR605A */
{ USB_DEVICE(VENDOR_FORMOSA, 0xe03c) },
PS! The device may have been added to later versions of LIRC. I'm using 0.8.4.
- FishOil - 2010-02-03
With the most recent LIVE version 9.11 I had to make a few adjustments.
Here are some updated files that work for me.
/etc/lirc/hardware.conf
Code: # /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Microsoft_Xbox360"
REMOTE_MODULES=""
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc0"
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS=""
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
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=""
/home/USER/.xbmc/userdata/Keymap.xml
Code: <keymap>
<global>
<remote>
<left>Left</left>
<right>Right</right>
<up>Up</up>
<down>Down</down>
<select>Select</select>
<back>ParentDir</back>
<forward>FastForward</forward>
<reverse>Rewind</reverse>
<play>Play</play>
<pause>Pause</pause>
<stop>Stop</stop>
<mute>Mute</mute>
<pageplus>PageUp</pageplus>
<pageminus>PageDown</pageminus>
<volumeplus>VolumeUp</volumeplus>
<volumeminus>VolumeDown</volumeminus>
<zero>Number0</zero>
<one>Number1</one>
<two>Number2</two>
<three>Number3</three>
<four>Number4</four>
<five>Number5</five>
<six>Number6</six>
<seven>Number7</seven>
<eight>Number8</eight>
<nine>Number9</nine>
<power>XBMC.ShutDown()</power>
<skipplus>SkipNext</skipplus>
<skipminus>SkipPrevious</skipminus>
<display>FullScreen</display>
<record>Screenshot</record>
<start>XBMC.ActivateWindow(PlayerControls)</start>
<info>Info</info>
<menu>ContextMenu</menu>
<myvideo>myvideo</myvideo>
<mymusic>mymusic</mymusic>
<mypictures>mypictures</mypictures>
<hash>AspectRatio</hash>
<clear>ZoomIn</clear>
<myTV>ZoomOut</myTV>
</remote>
</global>
</keymap>
/etc/lirc/lircd.conf
Code: # this config file was automatically generated
#
#
# contributed by Kyle at shadowmage.org
#
# brand: Microsoft
# model no. of remote control: Xbox 360 Universal Media Remote
# devices being controlled by this remote: Xbox 360
#
# This probably works for the normal Xbox 360 remote too.
#
# TV button sends no signal and toggles Xbox 360/TV mode. TV mode can be
# signals for any device the remote supports. Volume Up, Volume Down and
# Mute always use the TV mode while the Xbox live guide button always sends
# to the xbox.
begin remote
name Microsoft_Xbox360
bits 13
flags RC6|CONST_LENGTH
eps 30
aeps 100
header 2682 906
one 438 451
zero 438 451
pre_data_bits 24
pre_data 0x1BFF80
gap 107066
toggle_bit_mask 0x8000
rc6_mask 0x100000000
begin codes
OpenClose 0x8BD7
XboxFancyButton 0x0B9B
OnOff 0x8BF3
Stop 0x0BE6
Pause 0x8BE7
Rewind 0x0BEA
FastForward 0x8BEB
Prev 0x0BE4
Next 0x8BE5
Play 0x0BE9
Display 0x8BB0
Title 0x0BAE
DVD_Menu 0x8BDB
Back 0x0BDC
Info 0x8BF0
UpArrow 0x0BE1
LeftArrow 0x8BDF
RightArrow 0x0BDE
DownArrow 0x8BE0
OK 0x0BDD
Y 0x8BD9
X 0x0B97
A 0x8B99
B 0x0BDA
PgDown 0x0B92
PgUp 0x0B93
VolDown 0x0bee
VolUp 0x0bef
Mute 0x0bf1
TV 0x0bb9
Start 0x0BF2
Play 0x8BE9
Enter 0x0BF4
Record 0x8BE8
Clear 0x0BF5
1 0x8BFE
2 0x0BFD
3 0x8BFC
4 0x0BFB
5 0x8BFA
6 0x0BF9
7 0x8BF8
8 0x0BF7
9 0x8BF6
100 0x0BE2
0 0x8BFF
Reload 0x8BE3
end codes
end remote
home/USER/.xbmc/userdata/Lircmap.xml
Code: <lircmap>
<remote device="Microsoft_Xbox360">
<left>LeftArrow</left>
<right>RightArrow</right>
<up>UpArrow</up>
<down>DownArrow</down>
<select>OK</select>
<back>Back</back>
<forward>FastForward</forward>
<reverse>Rewind</reverse>
<play>Play</play>
<pause>Pause</pause>
<stop>Stop</stop>
<volumeplus>VolUp</volumeplus>
<volumeminus>VolDown</volumeminus>
<mute>Mute</mute>
<pageminus>PgDown</pageminus>
<pageplus>PgUp</pageplus>
<zero>0</zero>
<one>1</one>
<two>2</two>
<three>3</three>
<four>4</four>
<five>5</five>
<six>6</six>
<seven>7</seven>
<eight>8</eight>
<nine>9</nine>
<power>OnOff</power>
<skipplus>Next</skipplus>
<skipminus>Prev</skipminus>
<display>Display</display>
<record>Record</record>
<start>Start</start>
<info>Info</info>
<menu>DVD_Menu</menu>
<myvideo>Y</myvideo>
<mymusic>X</mymusic>
<mypictures>A</mypictures>
<hash>B</hash>
<clear>Clear</clear>
<myTV>Enter</myTV>
</remote>
</lircmap>
- Th3R00st3r - 2010-03-21
If I am using a XBOX 360 Universal Remote and USBUIRT(/dev/ttyUSB0) as the reciever is that all I have to change in the hardware.conf file?
so instead of Code: REMOTE_DEVICE="/dev/lirc0"
I use Code: REMOTE_DEVICE="/dev/ttyUSB0"
right?
Would there be any other changes to your conf files when using a USBUIRT as a reciever?
This is the last step before I am 100 % using this on my Acer Revo..
Thanks
- Th3R00st3r - 2010-03-23
Thanks.. i got it working using the Xbox360 remote and a Microsoft IR reviever using your conf. and xml files.. thanks!
- Capt.Insano - 2010-03-27
Great guide FishOil
Thanks A Million!
One question though, with this set-up what remote button opens the Context Menu?
I have looked though the files and thought it was going to be the "DVD Menu" button but that only returns me to the home screen. I am running XBMC-Live SVN March 1st on Ubuntu 9.10 64x Minimal Install.
- FishOil - 2010-03-27
Use the updated versions in this post. That should do it.
Its DVD Menu for context menu
- Capt.Insano - 2010-03-28
I had used the updated config already, I found the fix though:
I had to move Keymap.xml from
/home/USER/.xbmc/userdata/
to
/home/USER/.xbmc/userdata/keymaps/
Now Context Menu works as it is supposed to!!
Hopefully this will be helpful for others!
- stealthdave - 2010-04-22
I have serached but found no results.
Has anyone managed to get a xbox360 remote working in Windows XP?
- ElBarto - 2010-05-08
I have the "regular" Xbox 360 remote, but I can't get it to work. I don't see why it shouldn't. =/ I use the updated versions of the files in this topic.
I have an Acer MCE remote that's working fine (the only problem being that the build quality of the remote sucks, so I really want to use my Xbox 360 remote).
I run XBMC Live 9.11.
If i run the command "irw" i get this when I use the remote:
000000037ff00be1 00 UpArrow Microsoft_Xbox360
000000037ff00bde 00 RightArrow Microsoft_Xbox360
000000037ff00be9 00 Play Microsoft_Xbox360
000000037ff00be6 00 Stop Microsoft_Xbox360
But nothing happens in XBMC.
Does anyone have any idea why it won't work?
Edit:
It's working now. I just turned off and on the whole system, and then it suddenly worked. Apparently it wasn't enough to just restart the lirc.
- basti5000 - 2010-07-08
thx for the config-files from post#7, they helped me a lot.
I just wanted to add, that I had to follow this guide http://forum.xbmc.org/showpost.php?p=505280&postcount=2 to get the X,Y,B,A buttons on my small x360 remote to work.
|