geekhack Projects > DIY Discussions ARCHIVE
Converting a Toshiba T5200 laptop keyboard to USB
lowpoly:
I bought a Toshiba T5200 back in the day when it was new. Must have been around 1990. It's a 386/20 laptop without batteries, built in power supply, red plasma VGA screen and two ISA card slots, one full length, one half length. For a short time it was the fastest desktop computer in the world if you believe Byte magazine. It was astronomically expensive, around $16000 using today's conversion values. I worked for a Toshiba dealer at that time and got it for the reseller price. Still much, but it was fully tax deductable and that came handy at the end of the year.
After several years of use it had been replaced by a faster desktop. I had another look at it lately and discovered that the keyboard was made by Alps with mechanical switches and full size keycaps.
When you bought it you also got a keycap set for your language that contained a keycap puller and also a keycap inserter. And keycaps of course:
Keycaps are double injection molded. The keycap I pulled here looks like it's triple injection molded. Doesn't make any sense so it might be a production fault. Every oversize key except CapsLock has these wire supports, 12 in all. That switch has no Alps label, btw.
Keys are linear, no click, no tactile but very light action (except space which has a second spring).
The keyboard matrix is directly connected to the mainboard with a flat cable with 27 wires. Common for a 8 x 16 matrix. There is no logic on the keyboard itself beside a diode for each key.
So if I wanted to make the keyboard USB connectable I had to add a new controller which is shown here:
First step was to decipher the matrix. Which of the 27 connections were the rows, and which the columns? This was actually pretty easy and simplified by the fact that all keys had a number and the rows and columns sort of followed these numbers:
The yellow rectangle shows a 4 pin switch with its diode. the two pins in the middle are the switch, the two at the bottom act as a bridge, maybe to help with routing.
Not long and I had an Excel sheet of all characters with 8 rows and 12 columns. The rows and columns had to be translated to the controller connections, then a flat cable had to be made. The controller had a 2x16 connector using a 1.27mm grid (1/20"). Soldering the cable to the connector pins was the hardest part and I had to do it twice because I had misinterpreted the pin order.
A text file had to be modified to program the controller. Then the key matrix could be uploaded to the controller by connecting the keyboard to USB with the programmer software running.
A short test showed that some keys were missing. In the Excel sheet I could see that they all belonged to row 0 which turned out to be soldered to the wrong pin. Corrected that and everything works as expected.
The controller has another port for ps/2 connection. The 'board should have full nkey rollover with that considering that each key is in line with a diode.
The diodes were the breaking point of the whole project. If they had been put in backwards there would have been no way to make this work beside de-soldering and re-soldering all the diodes.
aon:
Nice project. I had a T2000 as a kid, and IIRC it had a pretty nice keyboard, too (although probably not alps switches, since it's considerably smaller).
Chloe:
Hi lowpoly, I've been thinking about trying the KC8000 controller. I assume this will work with any keyboard. Is it simply plug and play once you've worked out the matrix and soldered the pins?
lowpoly:
Basically yes. You will also have to 'program' the matrix by typing key values into a text file. These are not the standard keycodes but internal controller codes you take from a supplied table. Start the software, load the text file, connect the controller to usb and the download will happen automatically. I don't remember if the programming can be done with ps/2 only, I only had the usb cable.
The controller is supposed to work for membrane, short travel, rubber, long travel and other keyboards (citing from the description).
If you order it try to arrange some sort of pre-payment. The cable, shipping, and the cash on delivery charge really added up. Maybe this doesn't apply for intl. shipping.
I ended up de-soldering the cable connectors from the pcb for my current project so I could have done without the cable. Made things easier though.
lowpoly:
Basically yes. You will also have to 'program' the matrix by typing key values into a text file. These are not the standard keycodes but internal controller codes you take from a supplied table. Start the software, load the text file, connect the controller to usb and the download will happen automatically. I don't remember if the programming can be done if you only have the ps/2 cable.
Citing from the description, the controller is supposed to work for membrane, short travel, rubber, long travel and other keyboards.
If you order it try to arrange some sort of pre-payment. The cable, shipping, and the cash on delivery charge really added up. Maybe this doesn't apply for intl. shipping.
I ended up de-soldering the cable connectors from the pcb for my current project so I could have done without the cable. Made things easier though.
Navigation
[0] Message Index
[#] Next page
Go to full version