Tuesday, August 15, 2017

Coming Full Circle : Comparing the IBM Model F and M Keyboards

When I started this blog in 2010, the first thing that came to my mind to write about was my love of the IBM Model M keyboard.  http://nerdlypleasures.blogspot.com/2010/01/his-my-views-on-overall-best-pc.html  From those humble beginnings I then decided to talk about other retro computer and video game topics.  But before there was the IBM Model M keyboard, there was the IBM Model F keyboard.  Back in 2010, I did not have a full appreciation of the many advantages of the Model F.  Now I have acquired both of the major models and would like to talk about them here.  Given that this is officially my 360th blog entry, I would say that I have come full circle.

Model Fs vs. Model Ms Generally

The Model F keyboards use a capacitive buckling spring technology, giving it true n-key rollover (NKRO).   This allows you to press as many keys on the keyboard as you can at the same time and be assured that the keyboard will send them to the PC. Unlike the Model M, each key on a Model F has its own barrel in which the spring is placed.  The spring connects to a black landing hammer which acts as a polarizer.  When the key is pressed down, the polarizing hammer bridges two capacitive landings on a printed circuit board together, causing a shift in the polarization of the pads.  The keyboard controller can sense the change in polarity of each switch individually.  The change in the capacitance of one set of keypads does not affect the capacitance of other keypads, so the keyboard can detect every key pressed.

The barrels, springs, hammer and PCB are held together on a Model F by a pair of metal plates. The whole assembly can be separated by sliding the rear metal plate from the front metal plate, which are held together by tabs.  Shorts are prevented by use of non-conductive foam.

The Model M uses buckling springs over a membrane assembly.  Unfortunately, due to the lack of any diodes on the membrane, the Model M can only guarantee 2-key rollover (2KRO).  If you press too many keys at once, your PC will not register all the keys.  In the Model M, a plastic piece containing all the barrels lays on top of three sheets of plastic mylar.  When the hammer presses on the mylar sheets, contact is made between conductive points on the upper and lower mylar sheets. The hammers on the Model M are much less wide than on the F and not conductive.  The plastic top is secured to a metal plate on the back by melted plastic rivets.  They have a tendency to break off when the keyboard is dropped or misused.  If too many in a given area break off, the keyboard will start to no longer register keypresses.  With a drill and screws, the plastic plate can be more securely fixed to the metal plate, the so-called "rivet mod".

The switches on any IBM buckling spring keyboard are tactile and clicky.  They have a noticeable bump when the spring compresses enough to shift the hammer.  The use of springs and hammers makes them somewhat noisy.  The keys on a Model F require slightly less force (60-65g) to actuate than a Model M (70-75g).  The Model F keys make a more metallic sound, especially the XT keyboard.  The Model Fs weigh more than the Model Ms even though they are smaller and have fewer keys.  The XT Model F weighs in at 5.6lbs, the AT Model F at 5.3lbs and the Model Ms come in at 4.8lbs.  Both Model Fs and Model Ms have terminal keyboards with more keys (122 typically) but you will need converters to use those keyboards in just about any system (see below).  The switches in an Model F are rated to last for 100 million keystrokes compared to 25 million keystrokes for a Model M.

Model Fs have their keycap and keystem in one plastic piece, Model Ms usually have detachable keycaps.  The Model M keycaps are easy to pull off and used keyboards often come with a few missing.  Because Model M keycaps use thinner plastic, they are much easier to crack than Model F keycaps.

Model F and M keystems are compatible, so if your F is missing a key you can often use a keycap and stem from a more common M as a replacement.  Model F and M keys use PBT plastic with dye-sublimated key legends, so they won't yellow from UV light, the legends will not wear off easily and the key surface will maintain a consistent finish instead developing shiny and smooth areas that ABS keys may develop after extended use.  The dye-sublimated lettering can fade or bleach out somewhat by exposure to UV light.  The darker keys' color is called pebble when ordering replacements from a company like Unicomp.  Model F keyboards always have some keys other than the Ctrl or Caps Lock key that have raised areas (stepped keys) for pressing whereas regular Model M keys have a uniform surface height across the keys.

The 83 PC/XT Keyboard

When IBM released the PC in August of 1981, it came with its own keyboard.  Unlike other personal computers, which incorporated the keyboard into an all-in-one unit, IBM made a detached keyboard for the PC.  This is the famous 83-key keyboard, and its construction is truly awe-inspiring.  The top enclosure is made of very thick PBT plastic.  The bottom half of the enclosure is a steel plate. The keyboard has four cork feet on the bottom a pair of folding keyboard supports on the side that support two angle positions in addition to lying flat.  These supports have thinner plastic tabs on the sides that can break off if the keyboard is dropped on its side.  However, even with the tabs broken off the supports can still be adjusted by pressing in the larger circular remnant of the tab and rotating it with your thumb.

The IBM XT keyboard uses a long coiled cord ending in a 5-pin male DIN plug.  Converters exist to change this into a 6-pin mini-DIN plug suitable for use in a PS/2 keyboard port.  However, the XT keyboard has a huge drawback in that its communications protocol is incompatible with true AT systems.  You cannot use them in most 286 systems (Tandy 1000s excluded) and all 386 and better systems.  The reason for this lies in the serial communications protocol used by the XT keyboards.  XT keyboards use 10-bits, AT keyboards use 11-bits.  Moreover, XT keyboards are unidirectional in that they can only send data to the computer, AT keyboards are bidirectional because the computer can send data to the keyboard as well.  Usually the data sent is to turn the LEDs on or off or to set the key repeat rate.

The other IBM XT keyboard drawback is that its keyboard layout is rather odd and not very friendly to people who use modern keyboards.  The vertical Enter key (the ISO style) is better suited for European users than American users.  American home computer users are more accustomed to using a horizontal ANSI style Enter key.  Then you have the short left Shift key and the extra key to the left of the Enter key, more ISO standards.  But ISO compliance ends there with the larger keys with the raised middle and lack of any demarcation between the typewriter area and the number pad.  It is an odd layout and rather difficult for a US keyboard user to get used to.  On the plus side, there are no stabilizer bars underneath any key except the spacebar.  The stiffness of the stabilizer bar underneath the spacebar makes it harder to press than what most people are used to, but some careful bending of the stabilizer bar into slightly less of a V-shape can make it easier to activate the spacebar key.  There are French, German, Italian, Spanish and U.K. versions of the XT keyboard, but the key positions are the same.  They are far less common than the U.S. version because IBM PCs were more out of reach, economically speaking, to European businesses and consumers than U.S. businesses and consumers.

Unfortunately, the XT keyboard is very quirky and not friendly to keyboard rearrangement.  The layout was previously used in the IBM System/23 Datamaster, released in June of 1981.  Many of the keys are oddly shaped and there are no extra barrels for stabilization or contact pads.  However, the 83-key XT keyboard is much more common than the 84-key AT keyboard because the IBM PC and PC/XT were always cheaper than the IBM PC AT and and many more PC and XT systems were sold.  The IBM PC Portable has the 83-key keyboard but the rear enclosure plate is plastic (to lessen the weight for the portable machine) and it uses an RJ-11 jack (the reverse of the PCjr. cable, which uses an RJ-11 to connect to the keyboard) to connect to the Portable.  The wiring can be converted to an AT or PS/2 plug but the included cable is rather short.

Even though the modern keyboard user may rebel against the XT's layout, it can be very useful for DOS and DOS games.  A few early games were designed where they expect the ~ key to be next to Enter, not Tab.  The \ key is on the opposite of the keyboard to the / key, and in DOS the \ key was often used.  You could hit the \ without having to take your hands too far away from the home row.    Perhaps most convenient is the ability to do *.* on the XT keyboard, the * key and the . key are on the same row three keys away from each other.  Games like Digger use F1 to shoot, which does not make much sense on a Model M keyboard but is a far more defensible decision on a Model F.

The 84-Key AT Keyboard

Next we come to the Model F AT keyboard, originally released alongside the IBM PC AT in August of 1984.  This keyboard will work with all true AT systems and is compatible with modern motherboards.  I would suggest that for the latest motherboards that you use a PS/2 to USB adapter.  The reason for this is not the protocol but the scan set.  XT keyboards like the Model F support Scan Set 1, the AT Model F supports Scan Set 2 and the Model M and other PS/2 keyboards translate Scan Set 2 to Scan Set 1 in its keyboard controller.  Here it is not the communications protocol but the Scan Set support that the modern motherboard is lacking.

The Model F AT keyboard has 84-keys, the addition being the seldom used SysReq key.  In construction quality it is similar to the Model F XT, but it has a plastic rear enclosure plate instead of a metal plate.  The rear plastic plate is coated in a gray insulating material to reduce RF emissions, probably the same of substance IBM used in the PCjr's case.  Instead of the large cork feet you get on an XT's keyboard, you get small rubber feet on the AT's keyboard.  The plastic of the top part of the enclosure is not quite as thick as the Model F XT.  Although other people may claim that the AT keypress sound is less pingier than the XT keypress sound, I cannot hear much of a difference between my two pre-Model M keyboards.

The coiled cable is much longer on the AT than the XT Model F.  All double-length keys have a stabilizer bar as well as the L-shaped Enter key.  The Enter key also has a stabilizing plastic "stake" like the Model M double length keys to go into a third barrel hole.  In that hole is a black plastic piece that fits into the hole only one way.  Do not try to force it in if it does not seem to go all the way around, flip it around.

The stabilized keys of the AT keyboard have a pair of tabs that hold the ends of the stabilizer bar. These tabs enclose the circle for the metal bar completely.  Model Ms do not have stabilizer bars on most of their keys.  Of the three Model Ms I have, my 1986 and 1987 models have stabilizers on the number pad + and Enter keys but my 1990 model does not have the stabilizers on these keys.  The lack of a stabilizer on Model Ms is not a real issue except for the right shift key.  The right shift key can be hard to register if pressed on the left edge, which is odd because the spring is on the left side of the key.  The Model F AT's right shift key does not have this issue.  The stabilizer holders on the Model M keys do not have fully formed plastic, so they are easier to break.

The AT keyboard's layout is much friendlier to US users, but it does take some getting used to from a 101 or 104-keyboard user.  The AT keyboard's Ctrl and Alt keys are where the Caps Lock key is and the Ctrl key is on a Model M.  Function keys are on the side as opposed to the top, and the Esc key is on the numberpad.  There is no numberpad enter key and the backspace key is only one key length. DOS programs rarely required F11 and F12, but Windows assumes those keys are present.

You can improve your AT keyboard's layout with the help of some Model M keys.  You can take a backspace, enter and \ keys from a Model M and put them on a Model F.  You should also take a pair of the plastic barrel stabilizers (using a cotton swab is best to remove them) to help stabilize the keys.  You will need to move the backspace spring to the barrel just above the Enter key.  This will change the scancode the keyboard will report for the \ key, so you will need to reassign that key in software.  More information is available here : https://geekhack.org/index.php?topic=8893.0  You can also use a vertical Enter key from a non-US Model M keyboard.  While the AT keyboard did come in layouts for German, French, Spanish, Italian and U.K. users, they all used the L-shaped Enter key.  In fact, the metal plate that holds the stabilizer bar down has tabs for a vertical as well as a horizontal Enter key.  There are extra barrels with contact pads under the Enter (2 pads), Left and Right Shift keys and the numberpad + key.

Conversion to Other Systems

My Model F AT works just fine on my 486DX2/66 DOS PC and my Windows 98SE P3/600 PC (using the Intel i440BX based ASUS P3B-F).  The former has an AT connector and the latter has a PS/2 connector, but a AT to PS/2 adapter is all that is required.  My modern Core i7 Windows 10 machine will not recognize the AT keyboard connected via its PS/2 port, but this inexpensive adapter from StarTech makes it work : https://www.amazon.com/StarTech-USB-PS-Adapter-Keyboard/dp/B00028OP2Y  I typed about half this blog entry with the Model F AT keyboard.  The adapter also makes Model Ms work if you lack a PS/2 connector or your PS/2 connector provides insufficient current for a Model M.

The Model F XT keyboard requires an active adapter with circuitry inside it if you want to use it with a more modern PC.  Soarer's XT/AT to USB converter will allow you to use a Model F keyboard, whether XT or AT, with a computer that supports a USB keyboard.  It will preserve the n-key rollover (NKRO) of the Model F keyboards whereas more inexpensive adapters like the StarTech will limit you to the standard 6-key rollover that the USB keyboard protocol natively supports.  Model M's can guarantee no more than 2-key rollover, but there is PS/2 version that will ensure that the Model Ms will work in your modern PC.  These devices cost $39.99.  They will work with the terminal Model Fs and Ms, but do not expect that all the keys will work.

If you want to use a Model F AT keyboard in an XT, then you will need to construct a device that can translate keyboard scancodes and protocols.  Project information about the AT2XT converter can be found here : http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter

This may be a slightly easier way to construct the adapter : http://tech.mattmillman.com/building-an-at2xtkb-at-to-xt-keyboard-adapter-on-prototype-board/

An alternative to using a PIC is to use an Arduino with some extra circuitry, as shown here : http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter

If you wish to use an XT keyboard in an AT machine that does not support a USB keyboard (essentially everything from an IBM AT keyboard until the Intel i440BX chipset), then this is the closest thing to a working solution : http://www.kbdbabel.org/  You can use an IBM manufactured Model M in late model XTs and later Tandy 1000s.  Some may work in an IBM PC or XT, but you will have better luck with a Northgate Omnikey or Tandy Enhanced keyboard (which uses switches that are not as good as an IBM Model M, nevermind a Model F).

Opening and Cleaning

In order to open up a Model F keyboard to clean it, you will need a 1/4" hex nut driver, a flat-head screwdriver and a pair of pliers or a small wrench.  The AT keyboard requires a long barrel hex nut driver to reach the recessed screws, not unlike a Model M (which requires a 7/32" long barrel driver).  Unlike the Model M, the AT's external screws are slotted, so you can use a flat-head screwdriver as an alternate means of opening up the keyboard shell.  The XT's keyboard rear practically drops off once you have unscrewed the two screws, but the AT's keyboard requires you to keep pulling the two halves apart until the plastic tabs on the front of the keyboard disengage.  This may make you feel like you are about to break something, but you have to get the halves separated to get rid of all the crud that tends to find its way to the bottom of the keyboard.

The Model F XT keyboard had feet that would extend in two positions, but the Model F AT removed the half-extension position.  If the Model F has a flaw it is these keyboard feet.  Not only are they aesthetically unpleasing, they are not as sturdy as the rest of the keyboard.  The plastic tabs on the end cannot withstand the weight of a keyboard drop and frequently break off.  The middle position of the XT feet can also become non functional if a plastic bit breaks off.  Model F XT and Model F AT keyboard feet are not interchangeable.

You can clean the keyboard keys of a Model F keyboard by popping each one off with a flat bladed instrument with one important exception.  You cannot pop off the spacebar.  In order to clean underneath the spacebar you must disassemble the keyboard entirely because its stabilizer bar is located underneath the top metal plate.  If you try to pry up the spacebar you will break the plastic that connects the spacebar to the stabilizer, leaving you with a floppy spacebar that will only register a hit in the middle.  The top metal plate will typically have some form of corrosion from years of neglect, but ultimately these keyboards are very durable.

If you have to separate the halves of a Model F's keyboard assembly, you must remember to keep track of all 83 or 84 key springs and hammers and all barrels.  You cannot use Model M hammers with a Model F keyboard and vice versa.  When you are finished, you must replace all of them and make sure they are flush before putting the plates back together.  You can thread a string or a wire to keep the spacebar's spring and hammer flush until the halves are back together.  Do not put any keys on the keyboard at this time except the spacebar.  When the two halves have slid back into place, then you put the rest of the keys back.  Here is a visual guide on how to open a Model F XT keyboard : https://geekhack.org/index.php?topic=5492.0

The Model F XT keyboard's assembly is very simple when it comes to wires, the single connector going to the keyboard wire has a nub to prevent improper insertion.  Just remember to thread the appropriate screw through the plate and the separate wire to ensure the keyboard is properly grounded.  This ensures that the keyboard is connected to chassis ground and prevents ground loops.  The Model F AT has two connectors that go to the main controller PCB, but the connectors are keyed and are connected on the ends of the pin strip.   The keyboard controller is on the same PCB as the keyboard switches in the XT and connected by a stiff, soldered ribbon cable in the AT, so take care not to drop the keyboard or short out the controller chip when cleaning.

If you need to replace a spring or a barrel in a Model F, you can find them from the same ebay seller, Orihalcon, that sells the XT to USB converters.  Note that while the spring and hammers are compatible between the XT and the AT Model Fs, the barrels are not quite compatible.  Unicomp does the same for Model M springs.  This is a good method if you just need to replace a stretched spring : http://imgur.com/a/6bnzW

Modern Successors

The successor to IBM's Model M line is Unicomp, which bought the tooling to make the Model Ms.  They still make Model M keyboards with buckling springs over membrane contacts, but the quality of a Unicomp keyboard is not quite as good as an IBM original.  I used to own one, but when the small plastic tab holding the controller PCB to the membrane contacts broke, the keyboard was unusable.  (This was before I discovered the easy availability of epoxy glue).

Until recently, no one was willing to try to replicate an IBM Model F.  There is a company called Model F Labs which is offering two new keyboards built according to Model F specifications.  The first keyboard has 62 keys (the Kishaver) and the second keyboard has 77 keys.  They come in regular and ultra-compact layouts.  The layout is the familiar Model M US layout with extra single-width keys in between the Ctrl and Alt keys.  There are no separate function keys and a numberpad or cursor key area (but not both) is present only on the 77 key keyboard.  These keyboards start at $325, but a really usable keyboard with printed keys will run you $359.  The site lets you customize your keyboard, but the options can be bewildering because they are not followed by visual cues.  The keyboards are USB only.


  1. I believe you reversed the photos of 83 PC/XT & 84 AT Keyboards :)

  2. I had a Model F in use with a Tandy 1000 TL/2 (might have been a TX). The Model F weighed a LOT more than its size would suggest.

  3. I did reverse the photos, fixed.

    Railfield, if you find the Model F XT is heavy, the 122-key Model Fs with their metal bottoms are truly monstrous.

  4. Ah, I must have had a 122-key Model F, I distinctly remember the metal plate in the back. A good swing with that thing could have killed a man.

  5. Until now, I was sure that meek f at and xt and at barrels were identical. What's the difference exactly?

  6. Would you kindly share details of the stabilisers on at and xt? Thanks

  7. The barrels of the XT and AT differ in where the plastic nub is that provides correct orientation to the barrel when inserted into the metal plate. On the XT, the barrel nub is at 6 o'clock and there is a short distance between the barrel and the nub. On the AT, the barrel nub is at 5 o'clock and is attached to the barrel.

    Here is the information about the spacebar mod : https://deskthority.net/workshop-f7/model-f-improvement-dis-assembly-tips-and-space-bar-mod-t6982.html