Skip to main content

Fix Touchpad Scroll Area in Xubuntu 9.04

I have a 6 years old Compaq Presario X1000 that I use occasionally for web browsing and programming. I installed Xubuntu 9.04 on it the other day and found out that the scroll area is too wide for the touchpad.

As my usual trouble shooting procedure, I googled around for answers and I found pieces of information spread across several websites.

Step 1 - Enable SHMConfig

First of all, we need to enable the SHMConfig in order to determine the correct scroll area width with synclient. I am pretty sure I used to enable this from the X11 configuration file, however in Ubuntu 9.04 based distributions you are supposed to create a HAL fdi file for this.

sudo vi /etc/hal/fdi/policy/touchpad.fdi

Put this into the file

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="input.x11_driver" string="synaptics">
      <merge key="input.x11_options.SHMConfig" type="string">True</merge>
    </match>
  </device>
</deviceinfo>

Save and close the file then reboot the machine. You can read more about this topic on Ubuntu community wiki.

Step 2 - Determine the correct scroll area with synclient

synclient helps you to determine the correct scroll area offset and is pre-installed on my Xubuntu.

Run

synclient -m 1

Now if you try to touch the touchpad, you will be able to see the coordinate of your finger in following format

 time     x     y ...
0.000  5468  3475 ...

After you determined the correct boundary of the scroll area you can then test it with

synclient RightEdge=<your value>

On my laptop, when I move my finger to the right edge of the mouse movement area the x-coordinate is 5942 and it jumps to 8176 as soon as I touch the scroll area. So I tried:

synclient RightEdge=8175

but for some reason, it disabled the scroll area all together. After some head scratching, I found out that I had to use the x-coordinate right before the scroll area (i.e. 5942).

Final step

After figuring out your RightEdge value, you have to save it by adding it to the touchpad.fdi file created eariler. In my case:

<merge key="input.x11_options.RightEdge" type="string">5942</merge>

So the touchpad.fdi file now looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="input.x11_driver" string="synaptics">
      <merge key="input.x11_options.SHMConfig" type="string">True</merge>
      <merge key="input.x11_options.RightEdge" type="string">5942</merge>
    </match>
  </device>
</deviceinfo>

Save and close the file then reboot and your touchpad scroll should work correctly now.

Comments

Popular posts from this blog

Load Testing ASP.NET Sites with JMeter

Following my previous post about using JMeter to test MOSS, I tried to figure out what are the bare minimum requirements of using JMeter against a plain ASP.NET website. I wrote a very simple ASP.NET web application with just a button, a text fields and a static label. This application displays the content of a text file in the static label when it loads and write content of the text field back to the file when the button is clicked.I found all I need to do in order to script this using JMeter is to extract __VIEWSTATE and __EVENTVALIDATION fields then send them back in the update request. My JMeter test plain looks like this:

Load Testing SharePoint (MOSS) Sites with JMeter

I have used JMeter for load testing few non-ASP.NET web sites before, however I could not get it to work with ASP.NET web sites. This is mainly due to ASP.NET ViewState and event validations, which stops a recorded JMeter script from being played back.Recently I worked on a MOSS project and we were looking for tools to perform load testing on the server. Many people said the load testing tool in Microsoft Team System for Testers works well with MOSS. However, it is quite expensive so I decided to give JMeter another go. After several hours of hacking, I actually got it to work and here’s how I did it.My test page is the pretty standard MOSS edit document property screen with few extra text fields added and the goal here is to use a JMeter script to change the document properties. Once I have a working script, I can configure JMeter to fire hundreds of instances of this script simultaneously to simulate the user workload.As shown in the screenshot below, the test plan contains two HTTP…

Installing the WTL Application Wizard in Visual C++ 2008 Express Edition

I love Google Chrome, it is fast, elegant and beautiful. After I realized that it was written using WTL, I felt quite keen to learn about this library.I downloaded WTL 8.0 from SourceForge.net and Visual C++ 2008 Express Edition from Microsoft.com only to realise that there is no WTL Wizard support for Visual C++ 2008 Express Edition. WTL 8.0 ships with WTL/ATL application wizard but the setup script only supports the Visual C++ 2005 Express Edition (setup80x.js). However, the good news is that you can make it work with Visual C++ 2008 Express Edition in few simple steps:Make a copy of the setup80x.js and rename it to setup90x.js. Open setup90x.js up and do a global search and replace from “8.0” to “9.0”.
Save the file and execute it. If you are as lucky as I am, you should see a dialog that tells you that the wizard has been successfully installed.Now, when you run Visual C++ 2008 Express Edition and go File –> New –> Project… you should now see the new WTL/ATL Application…