Okey, Dokey, fellow 5920(G) owners!
Here's some tips that may help to make your Karmic experience a little better. Most of the methods described are as per those that worked for Jaunty (see thread here, but there are a few new issues that we need to take a look at. Conversely, on my system, the brightness control now works correctly, so I have omitted the steps for fixing this. If it's an issue for anyone else, please let us know.
All the guidance below is what works for me. I am not an expert, and all advice comes with the usual disclaimers!
Part 1: Media Keys
OK, we'll start off with the most complicated bit. We need to patch xserver-xorg-input-synaptics to cope with the media keys.
- Get the sourcecode of syndaemon and build dependencies
Code:
apt-get source xserver-xorg-input-synaptics
sudo apt-get build-dep xserver-xorg-input-synaptics
- Patch syndaemon
Code:
cd xserver-xorg-input-synaptics-1.1.2
wget "http://bugs.gentoo.org/attachment.cgi?id=202431&action=view" -O tools/syndaemon.patch
patch tools/syndaemon.c tools/syndaemon.patch
- Configure and make
Now, we'll make 2 fdi files- one for the media keys, and one for the touchpad proper.
Code:
gksu gedit /etc/hal/fdi/policy/touchpad.fdi
Put this in the file, then save:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.udi" string="/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX3_port_logicaldev_input">
<merge key="info.product" type="string">Touchpad</merge>
<merge key="input.x11_options.AlwaysCore" type="string">true</merge>
<merge key="input.x11_options.RTCornerButton" type="string">2</merge>
<merge key="input.x11_options.RBCornerButton" type="string">3</merge>
<merge key="input.x11_options.LTCornerButton" type="string">4</merge>
<merge key="input.x11_options.LBCornerButton" type="string">5</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">1</merge>
<merge key="input.x11_options.TapButton3" type="string">1</merge>
<merge key="input.x11_options.PalmDetect" type="string">0</merge>
<merge key="input.x11_options.PalmMinWidth" type="string">0</merge>
<merge key="input.x11_options.PalmMinZ" type="string">0</merge>
</match>
</device>
</deviceinfo>
Now for the mediakeys:
Code:
gksu gedit /etc/hal/fdi/policy/mediakeys.fdi
Code:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.udi" string="/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX2_port_logicaldev_input">
<merge key="info.product" type="string">Mediakeys</merge>
<merge key="input.x11_options.AlwaysCore" type="string">true</merge>
</match>
</device>
</deviceinfo>
And save again.
Now, we need to make sure that we're using our newly patched version of Syndaemon, not the old one. So go to System > Prefs > Startup Apps, and find the Syndaemon entry. If you don't have one, you can create a new one.
Replace the command with:
Code:
/home/<username>/xserver-xorg-input-synaptics-1.1.2/tools/syndaemon -t -n Touchpad
Note the '-n Touchpad' bit. The other switches are up to you.
Now we need to remap the media key 'buttons', so add another command to your startup apps (or replace the previous equivalent):
Code:
xinput set-button-map "Mediakeys" 1 2 3 17 18 19 20 8 9 10 11 12 13 14 15 16
You can call it what you like.
If you have not yet done so, install xbindkeys and xvkbd, and open the configuration file for editing:
Code:
sudo apt-get install xbindkeys
sudo apt-get install xvkbd
gedit .xbindkeysrc
Copy this text into the file:
#Mutlimedia control keys:
Code:
"xvkbd -text "\[XF86AudioPlay]""
b:17
"xvkbd -text "\[XF86AudioStop]""
b:18:
"xvkbd -text "\[XF86AudioPrev]""
b:19
"xvkbd -text "\[XF86AudioNext]""
b:20
This works perfectly with all the Gnome music players that I have tried. While you're here, you can map your blue 'e' key to run Exaile, or whatever else you want:
Code:
#Map 'e' key to launch exaile
"exaile %f"
c:219
It turns out that Karmic has integrated syndaemon, so to prevent two instances of the process starting, go to System > Prefs > Mouse > Touchpad, untick 'Disable touchpad when typing'.
And you're done. Restart for the changes to take effect. **NOTE: THE BLUE E-KEY WILL ONLY WORK AFTER YOU HAVE COMPLETED PART 3 BELOW**
Part 2: The Hotkeys
If your hotkeys (the fn keys for suspend, etc) aren't working right, you can follow this section. With thanks to Alkis and Percy for the work on this bug.
Download a new fdi file from here. Now you need to replace your old /usr/share/hal/fdi/information/10freedesktop/30-keymap-acer.fdi file with the one you just downloaded. The steps below assume that you have downloaded the file to your home folder.
**THIS IS RISKY. PLEASE ONLY FOLLOW THESE STEPS IF YOU UNDERSTAND THEM, AND ARE ABLE TO UNDO THEM. DO THIS AT YOUR OWN RISK!**
Code:
sudo mv /usr/share/hal/fdi/information/10freedesktop/30-keymap-acer.fdi /home/<yourusername>/30-keymap-acer-old.fdi
sudo cp 30-keymap-acer.fdi /usr/share/hal/fdi/information/10freedesktop/
Note that the first command may generate a 'file not found' error. If so, don't worry, just carry on. That should fix any issues with your fn keys. It also sets us up for part 3.
Part 3: Enable the € and $ keys
We need to make a script that will run every time you log in. In this example, I will make a hidden folder in your home folder and put it in there.
Open a terminal, and type:
Code:
cd .startscripts
gedit eurodollar.sh
And paste this code:
Code:
#!/bin/sh
echo 'keycode 186 = dollar dollar dollar dollar dollar' | xmodmap -
echo 'keycode 185 = EuroSign EuroSign EuroSign EuroSign EuroSign' | xmodmap -
Now, to set this script to run on every login, go to System > Prefs > Sessions, and under Startup Programs, add again:
Name: EuroDollar
Command: sh /home/<username>/.startscripts/eurodollar.sh
Description: Enables € and $ keys.
And close. You should see this come into effect when you next restart X, or log out/in.
Please note that if you have multiple users on your system, you will need to follow parts 1 and 3 for each user.
Part 4: Fix the glitchy sound.
You may have noticed some pops from the speakers from time to time. It seems that this is an issue with power-saving. To fix:
open a terminal and type:
Code:
/etc/modprobe.d/alsa-base.conf
At the start of the last line, insert: #
You will probably have to re-start for this change to take effect.
-------------------
OK, that's it. Let us know by posting on the thread how you have got on with the fixes above. If there's anything missing or incorrect, please do post so that your corrections can help others.
Thanks to everyone who has contributed to the solutions posted above, including on the Intrepid / Jaunty thread, and a special shout to Mohr Tutchy who keeps coming up with the goods regarding xinput.
Cheerio!
Charlie
Bookmarks