Taner Şenyurt

Kişisel gelişim sitesi…

Ubuntu Volume Wheel Problem [ Fix ]

March29

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.

  1. 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

  1. /* filter repeat events for chording keys */
  2.     if (value == 2 &&
  3.         (ev->code == KEY_LEFTCTRL || ev->code == KEY_RIGHTCTRL ||
  4.          ev->code == KEY_LEFTSHIFT || ev->code == KEY_RIGHTSHIFT ||
  5.          ev->code == KEY_LEFTALT || ev->code == KEY_RIGHTALT ||
  6.          ev->code == KEY_LEFTMETA || ev->code == KEY_RIGHTMETA ||
  7.          ev->code == KEY_CAPSLOCK || ev->code == KEY_NUMLOCK ||
  8.          ev->code == KEY_SCROLLLOCK)) /* XXX windows keys? */
  9.         return;

After this code block add that code under it;

  1. /* fix events for volume keys */
  2.     if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP) //MODIFY THIS LINE
  3.     {
  4.     //post a keydown and then a keyup, as media keys have no automatic key-up
  5.     xf86PostKeyboardEvent(pInfo->dev, code, 1);
  6.     xf86PostKeyboardEvent(pInfo->dev, code, 0);
  7.     return;
  8.     }

if you downloaded changed version or downloaded it and changed by yourself, lets compile then.

  1. 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.

  1. ./autogen.sh

then if didnt get any error write

  1. make

and then lets install it with writing ;

  1. 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.

  1. 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;

  1. 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;

  1. sudo shutdown -r 0

It worked for me i hope it will work for you too…

2 Comments to

“Ubuntu Volume Wheel Problem [ Fix ]”

  1. On June 1st, 2009 at 3:34 pm AL Says:

    Dude thanks for saving me from a headache!!!!

  2. On June 4th, 2009 at 3:18 am ~ Says:

    u rock dude