How To Disable Your Laptop's Touchpad, Trackpoint

Steve Thompson
Originally written: 19 Aug 2006
Last updated: 21 Aug 2006

back


touch

Dell laptops have problems with mouse drift—a nasty infliction whereby the cursor arrow wildly jumps, uncontrollably, around the display. Doing a little research on the web, it seems this problem is caused by the “pencil eraser” pointing device located in the middle of the keyboard. Some people have solved this problem by physically disabling this so-called trackpoint by cutting the wire that attaches it to the motherboard. A simpler approach is to disable the software controlling it.

In GNU/Linux, this task involves configuring X windows. Since I'm running Ubuntu Linux, I'll describe what I've learned in that environment. Other distributions require similar steps, I'm sure.

The Dell laptop I'm dealing with is an Inspiron 4000. Ubuntu sees the touchpad and the trackpoint as separate mice. In /etc/X11/xorg.conf, there will be an entry like:

Section "InputDevice"
  Identifier  "Configured Mouse"
  Driver    "mouse"
  Option    "CorePointer"
  Option    "Device"    "/dev/input/mice"
  Option    "Protocol"    "ImPS/2"
  Option    "Emulate3Buttons" "true"
  Option    "ZAxisMapping"    "4 5"
EndSection
Ubuntu applies the above configuration to all mice: the touchpad and trackpoint both. To active one or the other, change
Option    "Device" "/dev/input/mice"
to
Option    "Device" "/dev/input/mouse0"
or
Option    "Device" "/dev/input/mouse2"
On my computer, Ubuntu associates the touchpad with /dev/input/mouse0 and the trackpoint with /dev/input/mouse2. How about /dev/input/mouse1, you ask? That file is associated with the external USB mouse. [see update below]

You can therefore disable the trackpoint, and (hopefully) solve the mouse drift problem, by activating the touchpad only:

Section "InputDevice"
  Identifier  "Configured Mouse"
  Driver    "mouse"
  Option    "CorePointer"
  Option    "Device"    "/dev/input/mouse0"
  Option    "Protocol"    "ImPS/2"
  Option    "Emulate3Buttons" "true"
  Option    "ZAxisMapping"    "4 5"
EndSection

If you want to use the external USB mouse and disable the other two mice:

Section "InputDevice"
  Identifier  "Configured Mouse"
  Driver    "mouse"
  Option    "CorePointer"
  Option    "Device"    "/dev/input/mouse1"
  Option    "Protocol"    "ImPS/2"
  Option    "Emulate3Buttons" "true"
  Option    "ZAxisMapping"    "4 5"
EndSection

Each time /etc/X11/xorg.conf is edited, you must restart X windows. This can be done with Ctrl-Alt-Delete. Good luck.


Update 2006-08-21

The above tweak works, kind of. Activating only /dev/input/mouse1, which I think should activate the USB mouse only, works, kind of.

The next morning, none of the mice worked. 0 for 3. Since I think that the trackpoint is the mouse to be avoided, and since I think that it's associated with /dev/input/mouse2, I activate /dev/input/mouse0 and /dev/input/mouse1 only, attempting to turn on the touchpad and USB mouse:

Section "InputDevice"
  Identifier  "Mouse0"
  Driver    "mouse"
  Option    "CorePointer"
  Option    "Device"    "/dev/input/mouse0"
  Option    "Protocol"    "ImPS/2"
  Option    "Emulate3Buttons" "true"
  Option    "ZAxisMapping"    "4 5"
EndSection

Section "InputDevice"
  Identifier  "Mouse1"
  Driver    "mouse"
  Option    "CorePointer"
  Option    "Device"    "/dev/input/mouse1"
  Option    "Protocol"    "ImPS/2"
  Option    "Emulate3Buttons" "true"
  Option    "ZAxisMapping"    "4 5"
EndSection

 ...

Section "ServerLayout"
    ...
  InputDevice "Mouse0"
  InputDevice "Mouse1"
    ...
EndSection

This remedy seems to work. I'm not sure how the operating system chooses to map the mouse devices to /dev/input/mouse*, however. If you know more about this, please contact me (sct at ucsd dot edu).


Valid HTML