These old IBM PS/2 keyboards have been a long-time favorite of mine. I
really like the positive, mechanical feel of their keys and find that I make
fewer typing mistakes than with the cheap, plastic and rubber membrane ones
which are commonly available today.
PC keyboards use a bi-directional clocked serial interface to communicate with the motherboard. There are four conductors used (+5 V, Ground, Clock and Data). The Clock and Data lines are open-collector logic with pull-up resistors so that either end of the circuit can pull the lines low. (See links below for further information).
After looking at the clock and data lines with a scope and comparing to a newer keyboard, it seemed that the 'logic high' state on both Clock and Data lines was fractionally lower when the IBM keyboard was connected.
Another relevant factor is that the older technology used on the IBM keyboard's controller PCB requires more power to operate than newer keyboards. The IBM draws around 112 mA from the interface, whilst a modern keyboard draws 1.2 mA. These figures are with the 3 status LEDs (NumLock, CapsLock, ScrollLock) off. Each of these draw around 12mA when lit on both keyboards.
The problem was cured by installing two 4.7k pull-up resistors (1/4 W, 5%); one each on the Clock and Data lines. The resistors were installed directly onto the keyboard's controller PCB. The modification was easier than expected as there were three convenient 'vias' (plated holes through the board) which were on the correct signal traces and could be used to mount the resistors.
Figure 1: IBM PS/2 Keyboard controller PCB (Modified)
Figure 2: Controller PCB (modified) close-up view
As there was only one hole available for the +5 V connection to both resistors (just below pin 1 of the resistor network RN2), the first resistor was inserted through the holes, with the right-hand end of the second resistor being trimmed and soldered directly to the lead of the first one.
My modified keyboard has been working well with the P4T-E motherboard to this day.
I have also seen slightly different symptoms of incompatibility when used with a particular Toshiba laptop. The keyboard works initially, but after some time (minutes or hours) it will lock up, or appear to have a stuck key (Ctrl in my case). This modification also appears to fix these problems. Additionally, the same symptoms have also been reported when using the keyboard with a Belkin KVM switch (and others). Once again, the modification produced a satisfactory result.
If you have a PS/2 keyboard which needs this modification to work with a new motherboard, then please send me an e-mail and tell me the make/model of the motherboard. I will include it in my compatibility table on this site.
I have also had a report that another keyboard has exhibited the same behavior as the trusty old IBMs. It is the Northgate Omnikey Ultra keyboard, and appears to be from around the same period (Mid 1980's). I haven't seen one of these myself, but it seems that they use the same 'mechanical keyswitch' technology as the IBM. If you have one of these and you're having problems, then the 'Interface Cable' solution below may help.
Other Versions of the IBM Keyboard
Note: I have seen some keyboards of this type which have a different PCB. These can be distinguished by the connection between the PCB and the 3 LEDs (Num, Caps and Scroll lock). On the PCB described above, the connection consists of flexible PCB traces the same as for the key matrix. On the alternate PCBs, the connections are made using wires with headers at either end. A similar modification may be performed to the alternate PCBs, but you will have to identify the +5 V, Clock and Data lines as they are located differently. A reader has kindly send me two photos of his modification to one of these alternate PCBs.
Figures 3a, 3b: Alternate controller PCB
An Alternative - Make an Adapter Cable
There is another solution to the problem if you have a different type of keyboard to the one which I modified, or if you don't wish to tamper with its internal workings. It involves making an adapter cable which plugs between the keyboard and the motherboard's keyboard connector. The adapter cable contains the same modification (electrically) as the one which I applied to the keyboard.
To make the adapter cable, it is best to buy a straight keyboard extension cable - the type with a male plug at one end and a female socket at the other. This cable can be cut in half and the wires bared so that the two 4.7k resistors can be connected appropriately. (And these cables are much cheaper and easier than buying the individual plugs and wire).
All wires should be re-connected straight-through and then the two resistors can be added. One resistor connects between the +5 V and Data wires, the other goes between the +5 V and Clock wires. Take care not to short any of the wires together and finally ensure that everything is well insulated with heat shrink tubing or electrical tape.
** NEW ** One of our readers, Ron Bean, has designed and built a small adapter box. It functions in the same way as the adapter cable, and is easier to put together. It is connected to the PC with a male-male PS/2 cable (like the ones used to connect most KVMs to a PC). He has kindly documented the entire process (with pics). I have posted his description here so that anyone wishing to build one can do so. The step-by-step procedure is easy to follow.
Another Alternative - Get a USB to PS/2 Adapter
A USB to PS/2 adapter can solve the problem by providing an alternative electrical interface to the keyboard, in place of the usual one on the motherboard. However, as the adapter is now at the other end of the keyboard cable, it can potentially have the same problems communicating with the keyboard as many of the new motherboards.
In reports from readers, I have found that about half of these adapters work well and the others don't at all. So if you're thinking of this approach, check the table below to make sure that you get one that has been used successfully by others.
Update Jan-Feb 2005: A reader has reported success in using this USB to PS2 Adapter (pictured left, attached to the end of a Model M cable). It is available from www.clickykeyboards.com, for around USD$12. Their web site says that they have performed a lot of testing with this unit and it has worked in all cases.
I've recently acquired one of these adapters and put it through its paces. I've tried it with my ASUS P4T-E, as well as a Toshiba Tecra 9000 and Satellite 4030 notebooks. It worked well in all cases. I was also impressed by the fact that the adapter is directly supported by my motherboard's BIOS, so it can be used to enter the BIOS settings screens during the boot process (before any part of the operating system has even loaded).
The USB to PS/2 adapter pictured at left has been found to work in most, but not all, cases. It costs around USD$10. Some readers have told me that this is sometimes branded as 'CP Technologies'. I have seen it on sale at a large Australian electronics company (Jaycar) for AUD$19.95.
Update: I've had two e-mails from readers recently saying that the adapter on the left didn't solve their problem, whilst others have had success. I've also had other emails telling of mixed results with various other adapters. Many of these adapters were unbranded, so the only way to identify them would be with a picture.
To sum up, there many other USB to PS/2 adapters out there, some are branded while others are generic. Some will work and some will not, so its wise to ask if a refund (or exchange for another brand) will be available if the adapter doesn't solve your problem.
Is your IBM keyboard missing its cable?
A few people have asked me for the wiring connections of the standard IBM keyboard cable. This information wasn't easily found on the net, so I took one of my cables and checked it with a multimeter. If you have a keyboard but no cable, then don't throw it away! Look here for some information on how to make yourself a cable. I have also included the wiring details of a standard IBM cable here for reference.
Which motherboards and laptops are affected?
If an item listed below has 'No' in the right-hand column, then this means that the above modification is not required, as the item should work directly with the Model M keyboard as-is.
The modification described on this page will not affect the behavior of the individual keys. It only modifies the electrical signal levels on the interface and not the way in which the keystrokes are treated.
PC Keyboard FAQ
Help with IBM-PC keyboard interfacing
An article on the IBM keyboards mentioned on this page
The IBM Model M Keyboard
Another site devoted to Model M Keyboards
Another page with loads of good info on these keyboards
A site on keyboard repairing & modding
Here's a place to buy Model M keyboards, as well as USB adapters
Another company that's selling some used Model M Keyboards
Model M has its own node on everything
Belarc Advisor: Helps you to determine your motherboard type
The modifications described here are a record of those which I performed on my keyboard. If you choose to modify your keyboard in a similar manner, then you accept all responsibility for any possible damage to your keyboard and/or other computer system components.
IBM is a registered trademark of International Business Machines.