WARNING WORK IN PROGRESS
Emit-Tainment Center When Michael was about 4 he couldn’t say entertainment center. It came out as Emit-Tainment and that was in its self was entertaining. So this tutorial is a tribute to the entertainment of children.
Check List
Xbox DVD Remote
FreeVO (tuner card and lirc config)
Youtube (how to search with remote and no keyboard?)
xbmc
hulu desktop app
Games djl, local installs (with djl launch)
launch bar for all above with easy access by remote
Step 1 – Remote
The Xbox DVD Remote & Dongle
Basically, if I couldn’t sit on the couch and do all the things that I need to do, This project was going to be a failure. I needed a remote controller for my computer. I have an old black xbox (running xbmc) that had a bad DVD-ROM, but a good remote. A little googling showed, why yes, this can be used as a PC remote.
Some Good reading on the project
http://forum.xbmc.org/showthread.php?t=54393
http://www.xbox-linux.org/wiki/LIRC
http://forum.xbmc.org/showpost.php?p=257590&postcount=28
The first hurdle is to get it physically connected. The black xbox devices are basically USB devices. So with a little googling and some soldering, one can create some USB adapters. Or ebay sells them pre-made. I bought mine for about 7 bucks shipping included. Just be certain you get the correct male to female ends.
The second hurdle is the hardest; that is the software.
sudo apt-get install gnome-lirc-properties lirc
sudo modprobe lirc_atiusb
sudo services lirc restart
sudo nano /etc/modprobe.d/blacklist.conf
add blacklist xpad
I then had to restart the computer with the remote eye in the USB socket so that the /dev was populated with the lirc devices.
sudo cp -R /etc/lirc /etc/lirc.original
sudo rm /etc/lirc/*.conf
sudo nano /etc/lirc/lircd.conf
paste following
begin remote
name XboxDVDDongle
bits 8
begin codes
SELECT 0x0b
UP 0xa6
DOWN 0xa7
RIGHT 0xa8
LEFT 0xa9
INFO 0xc3
9 0xc6
8 0xc7
7 0xc8
6 0xc9
5 0xca
4 0xcb
3 0xcc
2 0xcd
1 0xce
0 0xcf
DISPLAY 0xd5
BACK 0xd8
SKIP+ 0xdd
SKIP- 0xdf
STOP 0xe0
REVERSE 0xe2
FORWARD 0xe3
TITLE 0xe5
PAUSE 0xe6
PLAY 0xea
MENU 0xf7
end codes
end remote
(Do I need these links?)
sudo nano /etc/lircmd.conf
past in the following
PROTOCOL IntelliMouse
# ACCELERATOR start max multiplier
ACCELERATOR 2 30 5
ACTIVATE * MENU
MOVE_N XboxDVDDongle UP
MOVE_S XboxDVDDongle DOWN
MOVE_E XboxDVDDongle RIGHT
MOVE_W XboxDVDDongle LEFT
BUTTON1_CLICK XboxDVDDongle REVERSE
BUTTON2_CLICK XboxDVDDongle FORWARD
sudo nano /etc/lirc/hardware.conf
paste in the following
REMOTE="XBOX DVD PLayback Kit"
REMOTE_MODULES="lirc_dev lirc_atiusb"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/lirc1"
REMOTE_LIRCD_CONF="/etc/lirc/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"
#Enable irexec
START_IREXEC="true"
#Don't start lircmd even if there seems to be a good config file
START_LIRCMD="true"
#Try to load appropriate kernel modules
LOAD_MODULES="true"
# Default configuration files for your hardware if any
LIRCMD_CONF="/etc/lirc/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=""
REMOTE_SOCKET=""
TRANSMITTER_SOCKET=""
I read some place that the distro supplied lirc program looks for the conf files in the wrong location. Just to cover the bases, I aded these links. The hardware.conf file includes the line REMOTE_LIRCD_CONF=”/etc/lirc/lircd.conf” which should be enough. But just to cover all bases I did a…
sudo ln -s /etc/lirc/lircmd.conf /etc/lircmd.conf
sudo ln -s /etc/lirc/lircd.conf /etc/lircd.conf
sudo update-rc.d -f lirc remove
sudo update-rc.d lirc start 50 S .
Dont forget that period after the S.
ls -l /etc/rcS.d | grep lirc
should so something like
S50lirc -> ../init.d/lirc
The xorg.conf
Here is where you can hose your gui. First make a backup of the xorg.conf file.
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.prelircd
So if something goes wrong you can jump to a virtual terminal (by pressing Alt+F1 and restore the xorg.conf. If this is beyond your skills, I’m sorry, but I warned you.
in “Section ServerLayout”
I ended up adding the following line
InputDevice "Remote"
and possibly the following 2 lines (see below)
Option "AllowEmptyInput" "False"
Option "AutoAddDevices" "False"
Then somewhere near your other InputDevice mouse section, add
Section "InputDevice"
Identifier "Remote"
Driver "mouse"
Option "Device" "/dev/lircm"
Option "Protocol" "IntelliMouse"
Option "SendCoreEvents"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection
Before I added the AllowEmptyInput and AllowAddDevices I as getting errors in my xorg log files.
cat /var/log/Xorg.0.log | grep Remote
displayed
(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
(WW) Disabling Remote
The fix was to add these 2 lines (also shown above) to Section “ServerLayout” in /etc/X11/xorg.conf
Option "AllowEmptyInput" "False"
Option "AutoAddDevices" "False"
Then
cat /var/log/Xorg.0.log | grep Remote
showed
(**) |-->Input Device "Remote"
(**) Remote: Device: "/dev/lircm"
(**) Remote: Protocol: "IntelliMouse"
(**) Remote: always reports core events
(==) Remote: Emulate3Buttons, Emulate3Timeout: 50
(**) Remote: ZAxisMapping: buttons 4 and 5
(**) Remote: Buttons: 9
(**) Remote: Sensitivity: 1
(**) Remote: BaudRate: 1200
(II) XINPUT: Adding extended input device "Remote" (type: MOUSE)
(**) Remote: (accel) keeping acceleration scheme 1
(**) Remote: (accel) filter chain progression: 2.00
(**) Remote: (accel) filter stage 0: 20.00 ms
(**) Remote: (accel) set acceleration profile 0
Which looked a lot more promising!
restart the computer and…

If you found this information helpful and saved you time or energy how about you buy me a beer by clicking the donate button below!