Patch to enable advanced trackpoint configuration

From ThinkWiki

Jump to: navigation, search

Contents

IBM TrackPoint Linux kernel driver

This is a driver Stephen Evanchik wrote for the 2.6.x series kernels for his TrackPoint.

The patch enhances the psmouse driver's handling of the PS/2 protocol which allows many settings of the TrackPoint to be configured.
You can modify the device's settings via special files.

NOTE!
  • Disable the touchpad in bios, if you don't use it. Else it will take >5 seconds till the trackpoint works after loading the psmouse module. (When suspending to ram psmouse should be unloaded.)
  • Starting from 2.6.13 config files for this driver are located in /sys/devices/platform/i8042/serio0/serio2. (This document uses the new locations.) If you disabled the touchpad in bios, however, they are located in /sys/devices/platform/i8042/serio0.
  • From 2.6.11 on, they are in /sys/devices/platform/i8042/serio0.
  • Prior to kernel 2.6.11, these files were located in /proc/trackpoint.
  • Prior to kernel 2.6.9, these files were not files at all, but were command-line options to the psmouse module. (Note this means you must compile psmouse as a module!) See http://stephen.evanchik.com/node/16.
NOTE!

At least with the T43 and kernel 2.6.12 you have to build the psmouse driver as module. Otherwise the kseriod task cannot be stopped on resume and resume will be aborted.

NOTE!

In Slackware 12, the psmouse driver is blacklisted (/etc/modprobe.d/blacklist), comment the corresponding line to allow advanced trackpoint configuration.

Hint:
  • Current xorg packages should have this already in, so no need for patching.
  • Concerning Dapper: xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore. (Dapper was broken here at first.)
  • And if you only look for configuration, go here: How to configure the TrackPoint and/or see below.

Features

...as reflected by the files in /sys/devices/platform/i8042/serio0/serio2:

  • sensitivity (trackpoint sensitivity - values between 0 and 255)
  • speed (pointer speed - values between 0 and 255)
  • inertia
  • reach (backup range)
  • draghys (resistance to dragging - values between 0 and 255)
  • mindrag (drag threshold - values between 0 and 255)
  • thresh (force necessary to trigger press/release)
  • upthresh (force necessary to trigger click)
  • ztime (determines how "sharp" a press is)
  • jenks (double click sensitivity)
  • press_to_select (enable/disable Press to Select)
  • skipback
  • ext_dev
  • transparent (enable/disable soft transparent mode)

Caveats

  • If you want to use an external PS/2 mouse with a scroll wheel then you must disable (or "auto-disable") the TrackPoint. If the TrackPoint is enabled then external PS/2 events are presented to the operating system as TrackPoint events and scroll-wheel motion events are not among these. If you want to use a scroll-wheel mouse at the same time as the TrackPoint (which is quite possible using contemporary X servers) then get an USB mouse instead of a PS/2 mouse.

Project Homepage

Availability

Configuration

Drift Correction

The trackpoint performs drift correction. Sometimes however (when resuming from a software suspend), the pointer might drift uncontrollably pushing the pointer out of the screen. The hardware provides a few options for controlling the drift correction algorithm, but they are not exported from the driver.

The following patch adds 3 options for controlling the drift correction:

  • skipdrift is a flag for disabling drift correction.
  • rstdrift is a value that controls the frequency of triggering the drift correction algorithm.
  • recalibrate is a command that forces recalibration of the trackpoint.

You can get the patch here:

The patch applies on top of the trackpoint driver.

Personal tools
Our sponsor
Get Coupons for Lenovo Thinkpad
Get Coupons for Thinkpads
Advertisements
eBay