Emailed the info to myself as website down last night.[Correction seems to be Tiscali/talktalk dns issues with this site]
This process is not for beginners to linux. You should be able to ssh into your HTPC, have the ability to transfer files using scp, and a basic knowledge of the command line.
I as I mentioned before I've created a patched kernel that will give more buttons on the emprex remote. I am currently using karmic 9.10 so its a 2.6.31 kernel subversion -51 i believe.
http://www.mediafire.com/file/muaymemquj...atched.rar
This rar file contains two debian packages one is the kernel/modules the other is the headers which some programs need to compile.
I suggest you install the headers first as when you install the kernel the nvidia driver will compile(?) against it and may require the headers.
So unrar and transfer the packages to the PC.
then
Code:
sudo dpkg --install linux-headers-2.6.31.12-emprex3009urf_v1_i386.deb
sudo dpkg --install linux-image-2.6.31.12-emprex3009urf_v1_i386.deb
Now you need to make the system boot the new kernel. I am afraid I don't use grub2 personally but all you need to do is copy the existing kernel boot line and modify the kernel version number and the initrd number.
Its possible grub2 may auto update as well, if not google 'updating grub2'
For grub 1 users it will look something like this (DO NOT COPY THIS)
You can find the file containing this in /boot/grub/menu.lst
Copy the similar lines in your file and change the bold items to match the new kernel files (which are now in /boot, so just 'ls /boot' for reference:
title Ubuntu, kernel 2.6.31
-10-generic
root (hd0,4)
kernel /boot/vmlinuz-2.6.31-
10-generic root=/dev/sda5 ro single
initrd /boot/initrd.img-2.6.31
-10-generic
boot
Alternately you can just type:
Last step we need to stop ubuntu updating the kernel and overwriting ours.
You can do this two ways,
1: (I've not tested this)
sudo aptitude hold linux-image-2.6.31.12-emprex3009urf_v1_i386
2: Holding grub by dependacy will not update the kernel.
if for that and downgrading grub2 if you desire is here
http://fordflux.com/blog/linux/downgrade-grub-2/
Once done reboot, and the kernel should now understand a few more buttons but not all sadely.
Mapping the buttons in xwindows.
Several people mentioned how to do this but here is a full list with the new buttons. There are also existing understood buttons such as I as you can use this method to remap remote buttons rather than making lots of changes in xbmc's keymaps.
so edit your ~/.xsessionrc file with your favourite editor (I'm a vi person myself) and add/replace the following (Comments should make them obvious):
Code:
# Pause Button
xmodmap -display :0 -e "keycode 127 = F11"
# Back Button
xmodmap -display :0 -e "keycode 166 = BackSpace"
# Record - Escape
xmodmap -display :0 -e "keycode 175 = Escape"
# Power - Power!
xmodmap -display :0 -e "keycode 150 = s"
# Green Button - gui toggle
xmodmap -display :0 -e "keycode 234 = Tab"
# I Button, map to context menu
xmodmap -display :0 -e "keycode 138 = c"
# DVD Menu, map to info
xmodmap -display :0 -e "keycode 147 = i"
# Pictures, map to codec info
xmodmap -display :0 -e "keycode 220 = o"
I do not recommend using the back button as escape as certain menus it does not work well. You may notice I've mapped pause to F11. Hang on, that key does not do anything in xbmc .... well at least not yet.
you need to add the following to your ~/.xbmc/userdata/keymaps/keyboard.xml
Code:
<keymap>
<global>
<keyboard>
[b]<F11>XBMC.ActivateWindow(Home)</F11>[/b]
</keyboard>
</global>
</keymap>
This will now allow you to quick jump to the main menu with the pause button.
Also under system in xbmc's menu (input?) there is an option to treat a keyboard like a remote called "Remote control sends keyboard presses". Which is exactly how the emprex appears.
This option will allow you access to the onscreen keyboard etc.
Reboot and enjoy.
####################
For those people who want to compile their own kernel for whatever reason I have this advice:
I have been compiling kernels for many years (too many
) but not recently so I was used to using the good old method old along lines of 'make modules, make modules_install' etc.
This was interesting to learn the new methods which you can google but pitfalls to avoid....
Three methods of getting the kernel source: 1; good old ftp kernel.org 2; apt-get the source (older source code) 3; GITS
When you use the generic config as a base found in /boot something
they have left kernel debugging switched on which will cause your kernel/modules to be around 1GB and compiling process will require close to 5 GB.
Switch off CONFIG_DEBUG_KERNEL, and CONFIG_DEBUG_INFO to make them a nice size ~100MB
when compiling remember to add option to use the number of cpu threads you have.
e.g. a dual core intel system would have 4.
This increases speed alot as you can imagine.
Emprex patch can be found here:
https://patchwork.kernel.org/patch/70351/
Good luck.