Ubuntu Volume Wheel Problem [ Fix ]
I have a toshiba u305-s5077 laptop.It had a problem with volume wheel like when i tried to use volume wheel it makes the volume iteratively maximize or minimize(And it has no end).While it is happening i cant write anything or i cant click something.That’s why i had to restart X screen with CTRL+ALT+BACKSPACE.
I search the internet and i found a solution for it.
At first if it won’t work if you don’t want to kill X screen at least you can use this;
Change your status to text mode via using CTRL+ALT+ {F1-F2-F3-F4-F5-F6}.Then turn back X Screen with ALT+F7.
Lets make it works:
Firstly lets create a backup if it wont work or if something goes wrong we can handle it.
-
cp /usr/lib/xorg/modules/input/evdev_drv.so ~/
Download my edited version of xf86-input-evdev {meanwhile Im using Ubuntu 9.04}
http://www.tsenyurt.com/down/xf86-input-evdev-2.1.1_fixed.tar.gz
If your ubuntu version is different then the 9.04 ( jaunty ) you have to download your version of xf86-input-endev packet from Ubuntu Package Repository.Then extract the tar.gz file and jump into the src directory and open endev.c file with your editor then search
-
/* filter repeat events for chording keys */
-
if (value == 2 &&
-
(ev->code == KEY_LEFTCTRL || ev->code == KEY_RIGHTCTRL ||
-
ev->code == KEY_LEFTSHIFT || ev->code == KEY_RIGHTSHIFT ||
-
ev->code == KEY_LEFTALT || ev->code == KEY_RIGHTALT ||
-
ev->code == KEY_LEFTMETA || ev->code == KEY_RIGHTMETA ||
-
ev->code == KEY_CAPSLOCK || ev->code == KEY_NUMLOCK ||
-
ev->code == KEY_SCROLLLOCK)) /* XXX windows keys? */
-
return;
After this code block add that code under it;
-
/* fix events for volume keys */
-
if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP) //MODIFY THIS LINE
-
{
-
//post a keydown and then a keyup, as media keys have no automatic key-up
-
xf86PostKeyboardEvent(pInfo->dev, code, 1);
-
xf86PostKeyboardEvent(pInfo->dev, code, 0);
-
return;
-
}
if you downloaded changed version or downloaded it and changed by yourself, lets compile then.
-
sudo apt-get install build-essential libtool automake gcc xorg-dev xutils-dev
After that we gonna create our “Makefile”.This tells the computer how to compile.
-
./autogen.sh
then if didnt get any error write
-
make
and then lets install it with writing ;
-
sudo make install
After at all we should copy the correct location.This will cause to restart your X season that’s why i strongly advise you to save all of your work.After the restart volume keys should work.
-
sudo cp /usr/local/lib/xorg/modules/input/evdev_drv.so /usr/lib/xorg/modules/input/
If it wont restart then try CTRL+ALT+Backspace for restart.
It is done.If it wont worked for you just copy the backup file .If we want to get back our backup just write to console;
-
sudo cp ~/evdev_drv.so /usr/lib/xorg/modules/input/
It will restore your original driver. After that, restart the computer with the following commands;
-
sudo shutdown -r 0
It worked for me i hope it will work for you too…
Dude thanks for saving me from a headache!!!!
u rock dude