IBM PS/2 Keyboard Modification
These old IBM PS/2 keyboards have been a long-time favourite 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.
The one which I am using was manufactured in 1990 (and (c)1984, according to the label on its base) and is still reliable in daily use. These keyboards are broadly known as the 'IBM Model M' and more specifically the one which I am using is 'Part No 1391401'.
Its probably the only computer component from that era which is still useable with PC systems today; long after the 16MHz processors, 20Mb hard disks and EGA monitors have been sent to landfill.
When I recently upgraded my motherboard to a new ASUS P4T-E, I was disappointed to find that this motherboard was unable to detect my old keyboard. So after using a $10 plastic keyboard for a few weeks (and cursing it numerous times), I decided to investigate the IBM keyboard compatibility issue.
The solution turned out to be far simpler than I had first expected
PC keyboards use a bi-directional clocked serial interface to communicate with the motherboard. There are four conductors used (+5v, 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 112mA from the interface, whilst a modern keyboard draws 1.2mA. 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 +5v 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.
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 behaviour 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
Figures 3a, 3b: Alternate controller PCB
An Alternative - Make an Adapter Cable
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 +5v and Data wires, the other goes between the +5v 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?
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.
This motherboard was found to work with the Model-M keyboard (without the modification) if the keyboard was plugged into the PS/2 mouse socket, and the mouse was plugged into the PS/2 keyboard socket! Some motherboards have both functions present on both PS/2 sockets. (Further details to follow in a future update).
The modification described on this page will not affect the behaviour 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
Another company that's selling some used Model M Keyboards
Model M has its own node on everything2
Belarc Advisor: Helps you to determine your motherboard type
By John Szybowski. Sydney, Australia. First created 2nd March, 2002.
Last updated 17th March, 2007.
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