PS/2 Encoder Board for ThinkPad Keyboards

I am currently building an encoder board for ThinkPad laptop keyboards to make it possible to use them as external keyboard as well. I own a few ThinkPads and I find them very pleasant to write on and I want to use them when I’m not using a ThinkPad or then the laptop is in the docking station. When you read this, you might think: “Why not just buy one of the USB keyboards from Lenovo instead?”. The quick answer is that I think it will be a fun project. The longer answer is; the more recent USB keyboards from Lenovo has the island style keys, which I don’t like, while the older ones are very difficult to find on eBay etc.


I am not the first person to accept this challenge, there are a couple of others that have done this and more or less succeeded. The best one, according to me, is this guy, which created a fully functional USB encoder board, but the project is discontinued and the source code is not available as it is closed source and wont be released. A PCB and connector could be bought here, but isn’t available any longer. He also wrote an Instructable for an early version of the board as well as one for a more recent version.

So, with this being said, if you want to have a ThinkPad USB keyboard, you have to do the encoder yourself. And that is exactly what I will do. But I will do it a bit different. First, I will try to find an existing keyboard encoder which is cheap and works for the ThinkPad keyboard and TrackPoint. If that turns out to be unpractical, I will use a plain Z80. The advantage of the Z80 is that I get a linear device address space which, with a bit of address decoding, can be used to scan the entire keyboard matrix without the need of a shipload of GPIO pins on the MCU. I don’t have any special requirement regarding power consumption or interfacing except for the following:

  • Should work as a normal keyboard with all non printable keys etc.
  • Should work with the TrackPoint as well.
  • Should have PS/2 interface.
  • Should not use any hard to get exotic MCU which requires expensive programmers etc.

Regarding the PS/2 requirement, yes it is old but it is much more simple to interface with a Z80 than USB. An adapter could be used to convert it to a USB keyboard and costs $0.99 on eBay. It works for both the keyboard and TrackPoint and could be hidden in the keyboard case or similar.

Please, type a comment about what you think 🙂

More posts

Comments (7)

  1. Very excited to find this blog! I have often thought about using a real thinkpad as an external keyboard. For now I use the pre-chicklet USB keyboard and love it, but a real X40 or T60 keyboard half sitting on my desk would be even cooler and cause more coworker double takes than I get now!

    I will follow along with the blog. Any chance you can open a Twitter account or etc. so that the blog is easier to follow?

    I’d love to reserve several of the boards if they will be available for sale.

    1. I do have connectors left but not boards, but I can order more and maybe improve the design a bit. However, I have problem with the SMD soldering so it will be hard to make a final product. For the moment I only have my hand soldered board for prototyping.

      Regarding the twitter account: I don’t know if there are enough interested people to open a twitter account, but if you want, I can send you an email when I post something new 🙂 Next up is “How to melt a PCB” and “Evaluating a Holtek Keyboard Encoder” 😀

      1. I got my used Lenovo! Picked up a T43 for $27. Works and holds a charge, too. Now to disassemble. If it turns out to use the same connector as your project, could you point me in the direction of your connector supplier?

Comments are closed.