TrackPoint

From Deskthority wiki
Jump to navigation Jump to search
Template icon--Illustration.png This article requires photographic illustration

The TrackPoint is IBM's implementation of a pointing stick, a small isometric joystick mounted in the centre of a keyboard and used as a pointing device. The TrackPoint name was originally used for a pointing device that could be converted between use as a trackball and a mouse.

TrackPoints are typically found in ThinkPads, as well as some Toshiba laptops (in which it is branded as AccuPoint), but there are also desktop keyboards with them. The IBM Model M13 was a version of the IBM Enhanced Keyboard (AKA Model M) with a TrackPoint.

Versions

Major TrackPoint versions
Version Year introduced Number of buttons Note
- 1991 2 Not a pointing stick. The original Trackpoint was a combo trackball and mouse for the IBM PS/2 L40 SX laptop.[1]
II 1992[2] 2 First TrackPoint that was a pointing stick
III 1994[3] 2 Added negative inertia feature[4]
IV 1997[3] 3 Added middle-button scroll and press-to-select (PtS) features[4]

Negative Inertia

TrackPoint modules (version III and later) employ what IBM calls "negative inertia". To avoid having the pointer feeling sluggish (having inertia), the pointer is accelerated when the joystick moves, in order to make it feel more responsive.

It is implemented in the TrackPoint module's firmware by adding scaled joystick-acceleration to the linear joystick magnitude before further processing. Acceleration can also be negative. The default scaling factor is 6 when processing is performed every 10 ms.

This simple formula was covered by US Patent US5570111A which expired in 2014.

Hardware and software development

Technical documentation of the TrackPoint device is available, which can be useful for keyboard modding and firmware development. Philips' TPM749 Microcontroller with TrackPoint microcode from IBM Product Specification / Data Handbook describes the TrackPoint hardware circuitry and electrical characteristics. IBM's TrackPoint System Version 4.0 Engineering Specification describes how to communicate with and program the TrackPoint device via the PS/2 bus.

There are a few open source keyboard firmwares with TrackPoint support listed below. These firmwares act as TrackPoint PS/2-to-USB converters, by communicating with the TrackPoint as a PS/2 host and then presenting the TrackPoint data to the USB host as a generic mouse HID device.

  1. hasu's tmk_keyboard firmware
    • Supports middle-button scroll
  2. frobiac's adnw firmware
  3. mtl'l MX13 code
    • An extension of hasu's tmk_keyboard firmware
    • Supports many TrackPoint configuration options

Various modules' pinouts are listed on the TrackPoint Hardware page.

References

See also