TrackPoint
![]() |
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[edit | edit source]
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.<ref>IBM – PS/2 L40 SX Press Release</ref> |
II | 1992<ref>Laptop Magazine – Landmark laptops: The most important notebooks in computing history</ref> | 2 | First TrackPoint that was a pointing stick |
III | 1994<ref name="almaden-history">IBM – History of IBM Research - Almaden</ref> | 2 | Added negative inertia feature<ref name="tp-iii-iv">Scott Mueller – Upgrading and Repairing Laptops p. 627</ref> |
IV | 1997<ref name="almaden-history" /> | 3 | Added middle-button scroll and press-to-select (PtS) features<ref name="tp-iii-iv" /> |
Negative Inertia[edit | edit source]
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[edit | edit source]
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.
- hasu's tmk_keyboard firmware
- Supports middle-button scroll
- frobiac's adnw firmware
- 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[edit | edit source]
<references />