Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message

T61 Laptop Keyboard USB Controller

If you can't find it here, tell us and we'll publish whatever you need
Post Reply
Posts: 4
Joined: Fri Nov 02, 2018 1:02 am
Location: Tacoma, Wa

T61 Laptop Keyboard USB Controller

#1 Post by thedalles77 » Sun Nov 25, 2018 5:05 pm

I created an “Instructable” and YouTube video that provides step by step instructions for converting a typical laptop keyboard to USB. The Lenovo T61 keyboard was 1 of the 12 keyboards I converted and it was by far the most complicated. The T61 needed a special circuit board that routes the signals from its 44 pin keyboard connector to a Teensy microcontroller. I have designed two different solutions for making a T61 keyboard controller. One design uses the Teensy 3.2 and the other design uses the Teensy LC. The T61 discussion is near the end of both the video and the Instructable. If you have good software skills, you can download and modify the TMK keyboard controller routine to work with the T61 key matrix. As a TMK alternative, I have provided a simple Arduino keyboard and trackpoint routine for both boards.
The Instructable is at https://www.instructables.com/id/How-to ... ontroller/
The YouTube video is at https://www.youtube.com/watch?v=Z1PheqSNNP8
My GitHub repository is at https://github.com/thedalles77/USB_Lapt ... Controller

I hope you find this information useful.
Frank Adams

Posts: 4
Joined: Fri Nov 02, 2018 1:02 am
Location: Tacoma, Wa

Re: T61 Laptop Keyboard USB Controller

#2 Post by thedalles77 » Tue Dec 04, 2018 10:46 pm

The folks over at Hackaday had a lot to say about my DIY Thinkpad keyboard project. It seems there's a lot of people that love the feel of the old Thinkpad keyboards.
Of course the people on this forum are already big fans. Here's the Hackaday link https://hackaday.com/2018/12/04/teensy- ... ore-335250

Posts: 1998
Joined: Mon May 28, 2012 5:49 am
Location: Metro Manila, Philippines

Re: T61 Laptop Keyboard USB Controller

#3 Post by axur-delmeria » Wed Dec 05, 2018 2:32 am

Great work! :bow:

I'd like to ask: how easy/difficult would it be to adapt the Teensy code to support other Thinkpad keyboards that use the same connector? I have an X60 and X220 (along with a few spare keyboards).
Daily driver: X220 4291-C91 i7-2620M

Backup: X220 4291-P79 i5-2520M
Toy: X60F Core Solo U1300
In pieces: two retired but working X61Ts
RIP: 760XD 9546-U9E; X61 7676-A24; and a BOE-Hydis HV121P01-100 in failed SXGA+ mod

Posts: 1975
Joined: Sun Aug 09, 2015 9:25 am
Location: N. Bellmore, ny

Re: T61 Laptop Keyboard USB Controller

#4 Post by Thinkpad4by3 » Wed Dec 05, 2018 8:04 am

Great work.
I think I might make my own USB laptop keyboard now
Thinkpad4by3's Law of the Universe.

The efficiency of two screens equally sized with equal numbers if pixels are equal. The time spent by a 4:3 user complaining about 16:9 is proportional to the inefficiency working with a 16:9 display, therefore the amount of useful work extracted is equal.

Posts: 4
Joined: Fri Nov 02, 2018 1:02 am
Location: Tacoma, Wa

Re: T61 Laptop Keyboard USB Controller

#5 Post by thedalles77 » Wed Dec 05, 2018 9:22 pm

To adapt the Teensy code for a different Thinkpad keyboard would be easy as long as the signal pins on the connector are the same as the T61. I checked the schematics and confirmed the connector pin-outs for the X60 and X220 are the same as the T61. You'll have to check the schematics for the other keyboards you want to try. Follow the steps outlined in the "Instructable" but use this Lenovo_Thinkpad_T61 link to select the Teensy 3.2 or LC folders from my repo. https://github.com/thedalles77/USB_Lapt ... inkPad_T61
There are PDF files in the LC and 3.2 folders that you should read. Among other things, they describe how the Digikey connector has issues that force you to plug and unplug the connector until you get the pins aligned. Once aligned, they work fine. I wish there was a source for the original connectors so I wouldn't have this issue.
The steps to modify the code are:
Create a key matrix table by running the 3.2 or LC Matrix_Decoder_T61 code.
Modify the 3.2 or LC Lenovo_T61_KBandTP code by adjusting the key names in the arrays to match the new matrix. If you have any problems, I can help you once you've run the Matrix_Decoder code.

If you or anyone else decodes other Thinkpad keyboards, I'll be curious to hear how the matrix is different. There are 3 keyboard ID pins on the connector that tell the motherboard controller which keyboard is connected. I didn't bother to bring those 3 ID signals into the Teensy because I wanted to save I/O pins.

I've got an extra LC and 3.2 board for the Lenovo controller so send me an email if you're interested.

Post Reply
  • Similar Topics
    Last post

Return to “** HOW TOs & FAQs **”

Who is online

Users browsing this forum: No registered users and 1 guest