2009-05-23, 18:50
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
/etc/lirc/lircd.conf
/home/USER/.xbmc/userdata/Keymap.xml
home/USER/.xbmc/userdata/Lircmap.xml
This is the remote I have. It can be bought at Walmart or BestBuy for $20
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