Fix inspiron N7110 ALPS Touchpad in Ubuntu

I recently purchased a new dell inspiron N7110. The laptop is great and Ubuntu 11.04 works quite well but there is one important problem.

The problem with most touchpads on laptops is that you'll often touch them accidentally while typing, this gets recorded as a tap/click and the typing cursor might move to another location and thus you might and up tying to a whole different place.

With synaptics touchpads or ALPS touchpads ( this is what N7110 has - ALPS Glidepoint) you can use syndaemon, a program that would run in background, monitor the keyboard and disable the touchpad while you type. But this program only works for touchpads which are being recognized as synaptics or ALPS touchpads. The touchpad on N7110 was recognized as a simple mouse, Xorg loaded the evdev driver instead of synaptics.

So I thought that maybe I can modify syndaemon to make it work with mice too. And I did. I noticed a lot of other people have the same problem so this could be useful even if you have a different touchpad that's also recognized as a mouse.
Download the patch for syndaemon here:
syndaemon mouse support patch- (1.95 kB)

To apply the patch:

  1.  
  2. apt-get install xorg-dev
  3. mkdir synaptics && cd synaptics
  4.  
  5. #install the synaptics driver source package
  6. apt-get source xserver-xorg-input-synaptics
  7.  
  8. # cd to the code directory , your version might be different depending on when you do this
  9. cd xserver-xorg-input-synaptics-1.3.99+git20110116.0e27ce3abe/tools
  10.  
  11. # apply the patch
  12. patch < syndaemon-mouse.diff
  13.  
  14. # go to source main folder
  15. cd ..
  16.  
  17. # configure, compile and install, by default in /usr/local so it will not override the system installed syndaemon
  18. ./configure && make && make install
  19.  

The patch adds a new option to syndaemon to tell it to disable the mouse instead of a touchpad, without this the program will just exit when it can't find the touchpad.

  1.  
  2. # run syndaemon with the -s option this enables mouse support
  3. /usr/local/bin/syndaemon -i 1 -K -d -s
  4.  

Don't forget to start it every time you start X.

Of course this is more like a quick hack then a real fix. A real fix would make Xorg or the kernel ( not sure exactly where the problem really is ) recognize this touchpad as a touchpad not as a mouse.

15 thoughts on “Fix inspiron N7110 ALPS Touchpad in Ubuntu

  1. Well, this has been something I was looking for for loooong time, since there is no “official” solution available as of now. However, the patch command didn’t work, I guess due to change in the syndaemon.c. I had to manually apply the patch by copy pasting line by line from patch file, but at the end of it, the effort was worth. It started working. Now tap to click is disabled on typing on my Dell inspiron N5030.

    God Bless You!

    1. Sorry about the hard work you had to do :) and thanks for letting me know.
      I have updated the patch and the instructions so it will work now.
      The idea is you should download the new diff file, put it in the tools folder, apply the patch, go up one dir then run configure && make && make install

      1. :) Sorry didn’t mean to highlight my “hard” work. Probably the sound of my comment is not right – just wanted to say the patch was out of sync with current code.

        Thanks again for the patch.

  2. This worked on my Dell E6320 as well, was about to go mad with my thumbs hitting the touchpad all the causing hell. Thanks a lot!

    1. I didn’t really need it, I was on Ubuntu 11.04 and that version already has the configure script built. I think the macros are in the xutils-dev package.

  3. Man thanx a million!!! This really helped me out big time. I was so damn frustrated almost to the point of returning back this laptop. It’s funny how this dell model, Inspiron N7110 doesn’t have a button on the touchpad like most other laptops to enable/disable touchpad. But at any rate, thanks much. Oh by the way, I install Ubuntu 11.10 Alternate version with encryption of my entire disk. I had to do some extra downloading of programs, but other than than, you scored.
    Thanx million

  4. DUDE you ROCK. You are blessed with skillZ. Thank you, thank you, thank you, thank your
    Man this mouse pad on my Dell 1545 (ALPS) was driving me BONKERS. Absolutely bonkers.

    Praise God’s gift of talent that made Google, which let me find your patch man. Awesomeness.

    /etc/lsb-release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=11.04
    DISTRIB_CODENAME=natty
    DISTRIB_DESCRIPTION=”Ubuntu 11.04″

    uname -a
    Linux donatello 2.6.38-13-generic #56-Ubuntu SMP Tue Feb 14 12:39:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

    /var/log/Xorg.0.log
    [ 15.940] (II) config/udev: Adding input device ImPS/2 ALPS GlidePoint (/dev/input/event5)
    [ 15.940] (**) ImPS/2 ALPS GlidePoint: Applying InputClass “evdev pointer catchall”
    [ 15.940] (II) Using input driver ‘evdev’ for ‘ImPS/2 ALPS GlidePoint’
    [ 15.940] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
    [ 15.941] (**) ImPS/2 ALPS GlidePoint: always reports core events
    [ 15.941] (**) ImPS/2 ALPS GlidePoint: Device: “/dev/input/event5″
    [ 15.980] (–) ImPS/2 ALPS GlidePoint: Found 3 mouse buttons
    [ 15.980] (–) ImPS/2 ALPS GlidePoint: Found scroll wheel(s)
    [ 15.980] (–) ImPS/2 ALPS GlidePoint: Found relative axes
    [ 15.980] (–) ImPS/2 ALPS GlidePoint: Found x and y relative axes
    [ 15.980] (II) ImPS/2 ALPS GlidePoint: Configuring as mouse
    [ 15.980] (II) ImPS/2 ALPS GlidePoint: Adding scrollwheel support
    [ 15.980] (**) ImPS/2 ALPS GlidePoint: YAxisMapping: buttons 4 and 5
    [ 15.980] (**) ImPS/2 ALPS GlidePoint: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
    [ 15.980] (**) Option “config_info” “udev:/sys/devices/platform/i8042/serio2/input/input6/event5″
    [ 15.980] (II) XINPUT: Adding extended input device “ImPS/2 ALPS GlidePoint” (type: MOUSE)
    [ 15.980] (II) ImPS/2 ALPS GlidePoint: initialized for relative axes.
    [ 15.980] (**) ImPS/2 ALPS GlidePoint: (accel) keeping acceleration scheme 1
    [ 15.980] (**) ImPS/2 ALPS GlidePoint: (accel) acceleration profile 0
    [ 15.980] (**) ImPS/2 ALPS GlidePoint: (accel) acceleration factor: 2.000
    [ 15.980] (**) ImPS/2 ALPS GlidePoint: (accel) acceleration threshold: 4
    [ 15.980] (II) config/udev: Adding input device ImPS/2 ALPS GlidePoint (/dev/input/mouse0)

  5. Thank you! I have not installed your fix yet, but I have a hunch that it could be a great solution for the people who are using Linux (Ubuntu in my case) running inside a virtual machine (VirtualBox) under Windows, as the touchpad is most likely going to be remapped to a standard PS/2 mouse by the VM hypervisor. Please keep it around.

Leave a Reply