Jon Atkinson

Replacing a Thinkpad X230 keyboard with an X220 keyboard

* In progress *

I recently replaced the keyboard in my Thankpad X230 with the keyboard from and X220. There are a few reasons for this; while the chiclet keyboard on the X230 is decent (I've used it for about a year without any real complaints), the keyboard from the X220 is a much more typist-friendly layout, with a huge Return key, a more sensible layout for Home/End/PgUp/PgDown, and a huge Escape key which is wonderful for Vim users. There's also more key travel and a very nice aubible feedback with this keyboard, which appealy to my preferences. The Thinkpad keyboard part also includes the trackpoint, and the mouse buttons (the touchpad is part of the 'chin' section, but I have it disabled in favour of the trackpoint anyway). I think that the trackpoint sits slightly higher and is more pronounced, and that the mouse buttons have slightly more travel and click to them; this could also all be just becuase I'm using a new part without the curulative wear my old one had.

Hardware

The process for swapping the keyboard is fairly simple. First, you need to remove the existing keyboard:

1) Begin by removing the battery. 2) On the underside of the laptop, there are two screws which hold the keyboard in place; they're marked below:

< image >

3) Remove these screws, then turn the laptop back over, and open the lid. 4) Gently pry the keyboard up from it's front edge. There are four retaining tabs on the X230's keyboard, one on each side of the keyboard near the left Control key, and below the arrow keys, and one each side of the space bar. 5) Once the keyboard has popped up, slide it forward gently to expose the ribbon cable. 6) Gently pry the ribbon connector upwards from it's seat.

Now you have the keyboard removed, you need to slightly modify the X220 keyboard to fit.

1) You'll notice that while the old keyboard had four retaining tabs on it's front edge, the X220 keyboard has five, larger tabs. From left to right, we'll number them 1, 2, 3, 4 and 5. 2) You need to entirely remove tab 3 (which is adjacent to the middle trackpad button). You can do a neat job of this with a file and a sharp knife. I didn't have these tools handy, however, so I used a set of fingernail clippers (I know, I'm ashamed). The tabs are made of a sandwich of soft metal and plastic, so very little force was needed. 3) You need to re-shape tabs 1, 2, 4 and 5 to flatten them. Again, I used the clippers which I had to hand, and snipped the edges of the tabs, then bent the metal to shape and trimmed it as necessary to remove the bezel and create flat metal tabs.

At this point, you're ready to reconnect the keyboard:

  • Connect the ribbon cable, slide the keyboard backwards into the tray, and then gently push down on the front of the keyboard. The modified retaining tabs will pop into place with a little push. The keyboard I had was an excellent fit, and even before tightening the screws it felt solid.
  • Flip the laptop over, and replace the two screws. Be careful with these screws, they're very soft metal and easy to strip.
  • Replace the battery, and power on the laptop.

Software

After you reboot, most of the keys will work as you expect. You'll notice that just enough don't work correctly that it becomes slightly annoying; PgUp/PgDown, various Fn+FX keys.

You could remap these in software with xev and setxkbmap, but that would take a while. Instead, I preferred to just update the keyboard firmware. This is made simple by Hamish Coleman's excellent BIOS hacks.

The repository contains a detailed README, but it assumes Linux. Follow the README where you can, or if you're using FreeBSD:

$ sudo pkg install gmake # you need GNU Make for this
$ sudo pkg install wget # ... and wget.
$ sudo pkg install mtools # ... and mtools.
$ git clone git@github.com:hamishcoleman/thinkpad-ec.git
$ cd thinkpad-ec
$ gmake