Skip to main content

ThinkPad Keyboard Mod

The ThinkPad Keyboard Mod is a collaborative community project to adapt Lenovo ThinkPad keyboards with TrackPoint pointing sticks for use in Framework laptops. Initiated by Harley Godfrey in October 2023 for the Framework Laptop 13 using a ThinkPad T480s keyboard, the project expanded significantly when C. Scott Ananian began a parallel effort targeting the Framework Laptop 16 with a ThinkPad X1 Carbon Gen 10 keyboard, producing working hardware prototypes and open-source firmware1.

The project addresses one of the most frequently requested features in the Framework community — a TrackPoint-style pointing stick — which Framework has acknowledged is challenging due to the thickness constraints of the laptop chassis1.

Background

Framework laptops use a flat keyboard design without a TrackPoint pointing stick. The long-running community feature request thread for TrackPoint support (thread #1026) accumulated over 300 replies and 68,000 views, making it one of the most popular feature requests2. Framework co-founder Nrp confirmed the company wanted TrackPoint support but noted the thickness constraints were a significant challenge1.

The TrackPoint communicates over PS/2 protocol with IBM-specific extensions for negative inertia and sensitivity settings, which provide the distinctive TrackPoint "feel" compared to generic pointing sticks1.

Harley Godfrey's T480s Mod (Framework 13)

Harley Godfrey began the project in October 2023, targeting the ThinkPad T480s keyboard for the Framework Laptop 13. Key design choices included1:

  • RP2040 microcontroller running KMK firmware for keyboard matrix scanning
  • USB keyboard interface — the ThinkPad keyboard is presented as a USB HID device
  • TrackPoint via RP2040 — the TrackPoint is processed on the RP2040 and translated to USB HID rather than attempting to use the Framework's I2C touchpad interface
  • Nano SIM card slot — a USB 2.0 hub was planned internally to retain fingerprint scanner functionality
  • USB-based replacement touchpad — since the PS/2 connection would be consumed by the keyboard interface

Thickness Challenge

The T480s keyboard is approximately 4 mm thick, while the Framework 13 has only 3.8 mm of space available for the keyboard. Harley planned to add spacers between the hinges to gain extra clearance, along with a custom or modified bezel1.

C. Scott Ananian's X1 Carbon Gen 10 Mod (Framework 16)

C. Scott Ananian began a parallel effort in late 2023 targeting the Framework Laptop 16 with a ThinkPad X1 Carbon Gen 10 keyboard. This became the most advanced iteration of the project, with working hardware and firmware1.

Hardware

ComponentDetails
KeyboardThinkPad X1 Carbon Gen 10 (45-pin FPC, 0.3 mm pitch)
MicrocontrollerRP2040
I/O expanderMicrochip MCP23S17 (for the 16 keyboard drive lines)
PCB0.8 mm, based on Framework Microcontroller Input Module reference design
Design toolKiCad
LicenseCC BY 4.0
FirmwareKMK and QMK
Repositorycscott/X1CarbonGen10

The X1 Carbon Gen 10 keyboard was chosen because it was the most recent ThinkPad keyboard with integral TrackPoint buttons, likely to remain available longer and be thinner than older models. It measures 277 mm wide × 135 mm high (to the bottom of the mouse buttons), and is approximately 4.6 mm thick overall1.

Firmware Progress

C. Scott Ananian developed both KMK and QMK firmware for the adapter board1:

  • KMK firmware — basic keyboard matrix working with I/O expander support
  • QMK firmware — full keyboard matrix plus TrackPoint support via PS/2 mouse driver
    • All keys functional except "microphone mute" button (nonstandard)
    • TrackPoint works but needs tuning for proper "feel" — the QMK PS/2 mouse driver lacks the TrackPoint-specific register initialization present in the Linux kernel driver (trackpoint.c)

Boot mode is entered by holding the "Fn" key during power application3.

Keyboard Pinout Reverse Engineering

C. Scott Ananian reverse-engineered the X1 Carbon Gen 10 keyboard pinout, documenting 8 sense lines, 16 drive lines, LED control lines (FnLk, Mute, MicMute, CapsLock — active low with a required 3.3V power connection), and 10 TrackPoint signals (T1–T10) on an internal flex cable. The full pinout is published in a Google Sheets document1.

Keyboard Test Fitting (Framework 16)

After receiving the Framework 16, C. Scott Ananian test-fitted multiple ThinkPad keyboards against the chassis1:

KeyboardFit Assessment
X1 Carbon Gen 10Good fit; needs ~2 mm hinge shim; adapter PCB needs L-shape respin; 3 metal standoffs must be clipped
X280Compact; integrated plastic cover; two protruding screws under TrackPoint must be filed; standard FPC connectors
E14 Gen 1 / E480Too wide — exceeds Framework 16 keyboard width by several mm; would require omitting a side input module

Hinge Modification

The primary mechanical challenge is the keyboard thickness. C. Scott Ananian determined that a ~2 mm shim placed under the screen-side hinge brackets would provide sufficient clearance. The hinges are accessible under the ventilation plate, held by T5 M2.5×3 mm screws. Longer screws and the shim would be needed. A 3D-printable shim was designed. For the Framework 13, the geometry is more complex — the hinge sits behind the screen, requiring a modified hinge piece rather than a simple spacer1.

Framework publishes CAD files for the Framework 13 hinges on GitHub, which C. Scott Ananian used to get quotes for modified 3D-printed stainless steel or CNC-machined aluminum hinge parts at approximately $20 for both sides14.

TrackPoint Thickness Analysis

Community member C_Scott_Ananian sourced and measured multiple TrackPoint modules with involvement from Framework co-founder Nrp1:

ModuleSensor HeightWith Rubber DomeNotes
X1 Tablet Gen 1/2~2.8 mm~3.8 mmThinnest known; slightly taller than keyboard keys
Sprintek SK8707 (latest)3.775 mm (without dome)N/A2.4×2.4×2.4 mm stud for rubber dome
Sprintek SK8702 (previous gen)~4.7 mm (without dome)N/AUsed in UHK Trackpoint module

Nrp measured the X1 Tablet Gen 1/2 TrackPoint at approximately 2.8 mm sensor + ~1 mm rubber dome = ~3.8 mm total — just slightly higher than the keyboard keys, posing a risk of screen damage. A thinner rubber nub could make it viable1.

Pylon's T410 Mod (Framework 13)

Community member Pylon started a separate effort using the classic ThinkPad T410 keyboard (7-row, non-chiclet — widely considered one of the best ThinkPad keyboards ever made). This keyboard uses a JAE AA01B-S040VA1-R3000 connector (out of production), but Pylon found the Molex SlimStack 0543630489 as a compatible substitute. An STM32F072 or RP2040 running QMK was planned. The T410 keyboard is thicker, requiring a custom CNC lower chassis for the Framework 131.

WorkBook Project

A separate but related project, ForWorkBook by Peter Mac (Kartoffelstolz) on Hackaday.io, aims to create a full custom chassis around a Framework mainboard with a mechanical re-implementation of the 7-row ThinkPad keyboard using Kailh Choc switches and a TrackPoint module harvested from a T440–T480 keyboard. Initially targeting the Framework 16, the project pivoted to the Framework 13 in December 2024 due to concerns about the final product's bulk (estimated at least 3.5 cm thick for the FW16 variant). The project requires a fully custom lower chassis. As of January 2026, a Framework 13 mainboard had been acquired for development56.

Technical Challenges

ChallengeDetails
Keyboard thicknessThinkPad keyboards are 4–4.6 mm; Framework has 3.65–3.8 mm clearance
TrackPoint heightEven the thinnest TrackPoint modules are ~3.8 mm with rubber dome, risking screen contact
Hinge modificationRequired to gain 1–2 mm of clearance; feasible but involves custom parts
TrackPoint feel tuningQMK's PS/2 mouse driver lacks TrackPoint-specific register initialization (negative inertia, sensitivity) present in Linux kernel driver
GPIO pin countX1 Carbon Gen 10 has 45 pins; RP2040 has only 29 GPIO — requires I/O expander (MCP23S17) or dual-RP2040 split design
EMI/RFI complianceCustom keyboard boards may require testing ($$$) if sold commercially; DIY use falls under exemptions1
FPC connector sourcingSome ThinkPad keyboards use unusual connectors; X1 Carbon Gen 10's 45-pin 0.3 mm FPC is available on JLCPCB

Footnotes

  1. Thinkpad keyboard mod (super early stages)! — Framework Community (Harley_Godfrey, C_Scott_Ananian, Pylon, et al., October 2023 – June 2024) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

  2. [RESPONDED] Any chance of trackpoint? — Framework Community (Feature Request thread) 2

  3. cscott/X1CarbonGen10 — GitHub (C. Scott Ananian, January 2024) 2

  4. FrameworkComputer/Framework-Laptop-13 — Hinges — GitHub 2

  5. ForWorkBook (Framework 16 w/ ThinkPad style Keyboard) — Hackaday.io (Peter Mac / Kartoffelstolz, June 2023) 2

  6. ForWorkBook — Fundamental changes to the project — Hackaday.io (December 2024)

  7. Gestalt Input — Santoku Keyboard — Gestalt Input (Beanstalk pointing stick design)

  8. SK8707 Pointing Stick Module Datasheet — Sprintek