This is about the Model "M" keyboard. The heavy, clicky monster I love. 

Keyboard Key (Capacitive switch, get some!) 
Keyboard Evolution
Keyboard Trivia 
   Keyboard Mechanics
   International Keyboards
   Programming Considerations
Signal Voltages
Keyboard and SDL Pinouts
M$ Elite Keyboard (Don't use it!) 
Keyboard Emulator
   Dr. Jim Wayne Bobbitt Style Hack
   Running Without a Keyboard (or mouse!)
Belkin OmniView SE Incompatible
Cleaning the Keyboard   (How to Open the KB) 
   Socket Sizes Needed
Keyboard Error Codes
Speaker Grill
Sources for SDL to PS/2 Cables
Present Model M Manufacturer

Location of Keyboard Connector
From Peter
   On PS/2s, the keyboard port is the one closest to the power supply.

Keyboard Key

Capacitive Switches
   A capacitive switch works when two plates (usually made of plastic) are connected in a switch matrix designed to detect changes in the capacitance of the circuit. 
   When the key is pressed, the plunger moves the top plate relative to the fixed bottom plate. Usually a mechanism provides for a distinct over-center tactile feedback with a resounding “click.” As the top plate moves, the capacitance between the two plates changes and is detected by the comparator circuitry in the keyboard. 
   This type of switch is nearly immune to corrosion and dirt. These switches are very resistant to key bounce problems that result in multiple characters appearing from a single strike. They are also the most durable in the industry—rated for 25 million or more keystrokes, as opposed to 10 to 20 million for other designs. The tactile feedback is unsurpassed because a relatively loud click and strong over-center feel normally are provided. The only drawback to this design is the cost. 
    Capacitive switch keyboards are among the most expensive designs, but the quality of the feel and their durability are worth it. 

Keyboard Evolution
Peter wrote:
   The "M"-keyboard "as we know it" with the 101/102 keys design and the LEDs for NumLock, CapsLock and ScrollLock has been introduced along with the PS/2 in 1987.
   The "MF-II Text/Data Keyboard" was available earlier as "MF-1" for XT, XT-286 and AT and seemed to have a dual-mode interface, since it had no LEDs and worked along with the slower PC/XT keyboard interface (non-bidirectional).
   The MF-1 keyboard had been introduced in 1985 for the PC/XT/AT line to allow people to use F-keys, cursor control and separate number pad - particularly for use with a 3270 / 5250 host emulation (introduced the separate Print / SysReq, Scroll and Pause/Break keys along with the sixtett of keys between cursor and Print / SysReq used mainly for the IBM Assistant software series). Therefore you will find a line with "(C) 1985 IBM Corp." on the decal undersided the M-keyboard. This is the year where the original (non-LED) design had been patented.
   The oldest "MF-II" keyboards (with LEDs) you may find will be those produced by IBM for the launch of the PS/2 in early 1987. They presented the family as a whole new product line - new designs, new keyboard, new monitors, new formats and new expansion bus. Before that the old "clickety-click" keyboard with 10 F-Keys to the left ruled. And before that the PC and XT 88-key with no F-Keys at all.
   The "new" design of the MF-II was primarily made by moving the F-Keys above the text- /datakeys like the PF-Keys (programmable function keys) on the3270 Terminals of that time - however only 12 of them, not 24. "No one ever needs 24 function keys ..." (No one ever needs more than 640KB RAM ...)
   This keyboard made it over the whole world. Even most nowadays keyboards copy the same basic layout. No matter if they split the keyboard into halves or half-round layout - the basic arrangement is the same as on the keyboard IBM *designed* in around 1980 for the 3278 / 79 graphic terminal and later altered the same design for the PS/2 family.
   Also a very unique feature of the "M" keyboard -not copied by the cloners- is the two-parts keycap. The most intriguing version is the "transparent keycaps" version sold for host programmers. The "letter" keycaps can be taken off and were replaced by transparent keycaps - with small pieces of paper between key body and cap. 
   This allowes programmers to define own keyboard "Symbols" and have 
appropriate lettering on them during the developement phase. I must have a set of these caps around anywhere - along with a "letter mat" for ALGOL or APL-2 programming language symbols.

Keyboard Trivia 
IBM PS/2 A Reference Guide, TJ Byers, Intertext Publications, McGraw-Hill Book Company, 1221 Avenue of the Americas, NY, NY 10020, 1989  ISBN: 0-07-009527-2

Keyboard Mechanics (Page 162 - 164)
   The keyboard is actually a small computer in itself. The keyboard system consists of a Motorola 6805 microprocessor within the keyboard and an Intel 8042 controller on the PS/2’s planar board. The 8042 keyboard controller directs communications traffic between the computer and the keyboard. The controller communicates with the keyboard via a serial link that supports an 11-bit protocol with parity checking.
   The microprocessor detects depressed keys by scanning the keyboard in logical order and analyzing each key’s status. All keys are classified as being in one of two states: make or break. When a key is pressed, the 6805 microprocessor recognizes the condition and reports it to the PS/2 computer as a key make. It does this by generating an interrupt signal and displaying the scan line number of the key detected. When the key is released, it’s break code is sent to the PS/2.
   The keyboard processor also contains a 16-byte character buffer that allows the keyboard to store up to 16 keystrokes. Should the PS/2 be busy and unable to acknowledge an interrupt, the keyboard buffer safely s remembers the keystroke until the PS/2 has time to assimilate the input. Should you exceed the 16-character limit, the seventeenth keystroke is simply discarded.
   Whenever a keyboard interrupt is generated, the BIOS program queries the keyboard computer for the keystroke number. In order to successfully execute the exchange, bi-directional communications must exist between the two units. Communications between the PS/2 and keyboard are carried out through I/O ports 60h and 64h, input and output, respectively. For every keyboard interrupt, the PS/2 responds with a keyboard query. Data transmissions to and from the keyboard consist of an 11-bit word that is sent asynchronously over the serial data port.
   The keyboard and computer communicate over a pair of clock and data lines. At the end of these lines is an open collector transistor that allows either the keyboard or computer to force the line low. When a keystroke is detected, the keyboard checks the status of the clock line. If the line is low, the keystroke is stored in the buffer and transmission is deferred until a later time. If, on the other hand, it finds the clock line high, the keyboard does a similar check on the status of the data line. When both lines are high, it means the computer is ready to accept data from the keyboard, and the keyboard proceeds to send out it’s 11-bit code. The code begins with a 0 start bit, followed by 8 data bits, a parity bit, and a stop bit. For each bit transmitted over the data line, a coincidence bit is transmitted on the clock line. This clock bit is used by the computer to decode the data bits. Please note that the decoding process can only take place when the keylock on the front panel is on. Keystrokes entered while the keylock is off (keyboard receiver inhibited) will be lost.
   During transmission, the keyboard checks the clock line for a high level at least every 60mS. If the computer lowers the clock line after the keyboard starts sending data, it signifies that the computer is unable to accept any more data from the keyboard. Consequently, the keystroke is returned to the buffer and communications halted until the clock line goes high again.
   Instructions can also be sent from the computer to the keyboard. When the computer wishes to communicate with the keyboard, the PS/2 forces the clock line low for more than 60mS while it prepares it’s message. This action alerts the keyboard that an incoming message is pending. When the computer is ready, it allows the clock line to go high while pulling the data line low. The data is then sent over the data line, which by now has assumed a high-impedance value.
   While all this is going on, the keyboard constantly checks the status of the clock. As soon as the clock line goes high, it begins counting the computer input bits. After the tenth bit, the keyboard forces the data line low. This action signals the computer that the data was received. Each system command or data transmission to the keyboard requires a response from the keyboard before the system send it’s next output. Typically, the keyboard responds within 20mS. If the keyboard response is invalid or has a parity error, the computer sends the command or data again.
   By knowing the timing sequence, it is possible to make modifications to the keyboard through software. This two-way link is vital to the PS/2’s performance. The two-way communications channel is also used to evaluate the well-being of the keyboard’s microprocessor when the computer is first turned on and after each reset operation. (Ed. This is the BAT - Basic Assurance Test).
   When passing data from the keyboard to the PS/2, though, you must be aware that the keyboard’s microprocessor has no idea as to the significance of the keys it is reporting. As far as it’s concerned, the keys have no meaning whatsoever. Each key is assigned a unique 8-bit code which is transmitted to the computer following a make. It is up to the BIOS program inside the PS/2 to decide how the keystroke should be interpreted. The 8042 translates the scan codes it receives from the 6805 to those recognized by the BIOS. The translation table is stored in ROM on the 8042 chip and is not accessible to programs. However, the PS/2 keyboard has the capability of switching scan code sets. In fact, the keyboard offers a choice of three scan code sets. 

International Keyboards (Pages 167 - 168)
   An interesting feature of the IBM PS/2 is it’s international keyboard design. IBM no doubt had it’s eye on a very large market when it conceived the PS/2, and the keyboard reflects this attitude. In fact, the international version of the PS/2 actually has a slightly different keyboard than the US version. Instead of 101 keys, the international keyboard supports 102 keys. This keyboard, which is referred to as the WT (World Trade) keyboard in IBM documentation, is available only outside the US. It differs only slightly from the US version in that it has an additional alphabetical key nestled in the crook of the entry key, which is a larger, hook-shaped key rather than the slim Entry key of the US keyboard. The backslash (\) is located between the Z and the left shift key (as it was on the original IBM PC keyboard). Because the PS/2 cannot distinguish between the two keyboards , the setup software asks the user to identify the keyboard by indicating the shape of the Enter key.
   The reason the PS/2 can support two different types of keyboards is the way the BIOS handles keyboard inputs. As you recall, the keyboard is unaware of the keystrokes it inputs to the system. It simply cites the number of downed key when queried by the 8042 controller chip. It is the responsibility of the BIOS chip to convert the key depressions into ASCII codes and symbols. In the normal default mode, this translates into the US English set of ASCII alphanumeric characters. In the international PS/2 models, another set of scan codes is used to interpret keyboard input.

Programming Considerations (Pages 173 - 176)
   Since the introduction of the IBM Personal Computer line in 1980, IBM has changed the keyboard twice. The first change came with the release of the IBM AT. The 84-key keyboard that accompanied the first model of the AT has a different key layout and produces scan codes distinct from those of the original 83-key PC keyboard. The scan code sets on the two keyboards are different because, for reasons of physical circuit design, it is most efficient to assign scan codes by key location. To maintain software application compatibility with the two keyboards, IBM added a scan code translator to the 8042 controller. After translation, the controller’s  output for a given key is the same as that key’s output for the PC keyboard controller.
   The 101-key enhanced keyboard used for the PS/2 introduced yet another keyboard layout. However, instead of coming up with a new set of scan codes for the new layout, IBM devised three. The Select Scan Code command (followed by an option byte of 1, 2, or 3) activates the scan code set of that number. An option byte of zero causes the keyboard to respond with the number of the currently active scan code set. The code sets differ in the values generated for the press and release of each key. 
   By default, the PS/2 keyboard boots to the 84-key set (set 2) used by the original AT keyboard and does not recognize the presence of the new keys. For most keys, it sends a single-byte press code and a two-byte release code consisting of F0H followed by the press code. These codes need to be translated by the BIOS interrupt 09H routine. For example, the “B” key sends scan code 32H to the BIOS, which interprets it as an “M”. However, with code translation enabled, the 8042 controller translates the scan code to 30H, which is properly interpreted by the BIOS as a “B”. The translation process also converts each two-byte release code to a one-byte code that is the same as the press code with the high bit turned on.
   When scan code set 1 is activated, the keyboard produces codes that match the result of translating scan code 2. For the keys common to the enhanced and original PC keyboards, this code set produces the same press and release codes as the original keyboard. In effect, this code set moves the translation from the 8042 to the 6805, thus disabling scan code translation at the 8042 level. Support for the 17 enhanced keys is available through the second scan code set. However, only DOS 4.0 (Ed. and above) can access these extended keys from the keyboard without special programming practices. When using DOS 3.3, you must use the extended interrupt 16H BIOS functions, AH=10H and AH=11H.
   Scan code set 3 is similar to scan code set 1 in that it produces the same scan codes for the majority of the ASCII keys and uses the same press/release coding convention. However, some keys are curiously reassigned. For example, with the scan code set 3 activated and 8042 translation enabled, the CapsLock key behaves like the left Ctrl key, and the NumLock key acts like Esc. In fact, if the keyboard were to be relabeled, it would look exactly like the 84-key layout of the original AT keyboard. The support for this scan code set is not yet complete, and using it’s features may result in programming errors.

From Tony 
I've encountered 3 different quality levels of the IBM 101's so far. 
1) Removable cable, heavy, clicky feel (the best) 
2) Fixed cable, but same weight and click feel (OK) <-- Lexmark built
3) Fixed cable, non-click squishy feel (horrible) <-- Lexmark built 
All of the Win95 style 104's I've seen sucked. 

Signal Voltages
The keyboard and auxiliary device signals are driven by open-collector drivers pulled to 5Vdc through a pull-up resistor. 
Sink current Max
Hi-level output V Min
5.0 Vdc minus pull-up 
Low-level Output v Max
0.5 Vdc
High-level input v Min
2.0 Vdc 
Low-level input v Max
0.8 Vdc 

Pinout for Keyboard Connector and SDL

SDL = Shielded Data Link, a type of shielded connector created by AMP and used by IBM and others for keyboard cables 

+ DCv
+5.0 Vdc
Frame Gnd

M$ Elite Keyboard
Hi John ! 
>I bought a micro soft elite keyboard pluged it into the keyboard port , fired up the ole 9577 Launa and the screen lacks at the IBM screen. 

From Peter
   Uh ... that's normal. System self-protection you know ... :-) The Elite Keyboard has a different keyboard ID than "normal" keyboards have - and it is intended for "ATX" machines AFAIK and behaves different after a power on. 
   Most likely the 77 Lacuna keyboard controller gets a bit confused by all of that - and hangs the system.  Had that with several Cherry "space saving" keyboards with integrated trackball as well. 

Keyboard emulator
   The Guardian for PS/2 -- APKME (thanks for the link, Brian Sammon)

From Jim Shorney
> I was wondering if anyone could help me with finding an inexpensive (i.e. >$20 or less) source for keyboard/mouse emulators. 

   Get a cheap keyboard, take the microcontroller circuit board out, whack the cable to 6 inches or so, and reconnect the microcontroller board. Do the same with a cheap mouse.  Wrap in tape or put it in a small plastic 'project box' to insulate things. 
   The extent of my idea was to provide a small widget that will allow a
turnkey system to come up and perform its designated task without
needing to have a real keyboard connected, or requiring any operator
intervention.  No provision is provided, or needed, to connect a real
keyboard in this scenario.
   You might investigate Radio Shack's free cuecat.  It has a keyboard
passthrough, and although the barcode reader puts out garbage on a model
95, the hardware may prove useful for your need.

Fools Rush in Where Angels Fear to Tread 
   Is there a way to perform the Dr. Jim Bobbitt method of constructing a 
emulator that will allow for one to plug in a keyboard, run up the
system, do whatever, then unplug the keyboard and walk away?

Holy BAT, Batman!
Tim Clarke scrawled:
> What would the results of plugging a second keyboard into the hacked
 emulator? Would the real KB run a BAT as soon as it got power?

   A keyboard *always* sends in a BAT message after power-up, provided that it can control the clock and data lines to it's satisfaction.
   Both the Keyboard and Mouse can be disconnected and reconnected to an IBM PS/2 *after* POST and O/S boot has completed. The (A)BIOS "sees" the BAT message from whichever device and re-establishes current state (as kept in the (A)BIOS data area(s)).
   This is effectively what happens when using a manual KVM. The biggest bugaboo is that there mustn't be a mouse message "in-flight" at the exact
instant of disconnection as the PS/2 mouse protocol doesn't have the "start
bit" in the first byte of the message, allowing resync if a message is
partially incomplete and a new BAT message comes in. Also, the way in which the physical contacts are broken can cause problems whereby spurious message bytes are "seen"/sent. This is mainly a problem with the mouse, due to the multi-byte messages without sync-bit and usually causes the mouse to freeze or, worse yet, leap about the place and cause the buttons to operate incorrectly.
   The above is the situation with direct physical connection (or via a "dumb" manual switch) *and* with O/Ses which correctly use the (A)BIOS to drive the devices at the physical level. WinBlowsHard drivers *don't* do this. Nor do Linux ones, it would seem, although I have no direct experience of this. So the above doesn't apply to Win 3.n, Win9n and possibly Win2K and NT.

Impact of Cutting Data and Clock Lines
Don Hills hanging on to the underside of the earth wrote:
Now, a reading from the Good Book(*)...
   Traffic on data and clock lines is asynchronous- no keyboard pressing or
mouse moving, no traffic. Both lines are high when no traffic, and are
standard TTL type open collector at each end. So you can break and reconnect the clock and data lines without problems. Just maintain power to the keyboard and mouse at all times- a weakness of manual switch-boxes, especially if you switch slowly or an intermediate position is not used or has a powered-down system on it. If you're building a smart switch box, design it to not switch until the clock and data lines have been idle for half a second or so to make sure you don't switch in the middle of a transmission.
(*)The IBM PS/2 Hardware Interface Technical Reference Manual.

Hold That Thought!
Dr. Jim has the prescription-
> Could a flip-flop or other IC catch the current state of the data/clock and hold it for the new kb? The idea is to keep the system from detecting the loss of data/clock during the insertion of the new KB.

One thought: grab some 4066 CMOS quad analog switch chips and wire them to tri-state one kyboard while the other is switched through, and vice

Keyboard Emulator Hack (Dr. Jim Wayne Bobbitt style)
   >I want you to show your keyboard emulator "guts" and explain how you did it.

   Well, it wasn't hard. The first thing I needed was a busted keyboard. My dad found one alongside the highway that had blown off of a truck. It was all broken, so I opened it up and pulled the controller board inside...after
disconnecting all the connections on the board that went to the keys. I left
the keyboard cable attached to the controller. To make it look cleaner, I also desoldered the Num, Caps, and Scroll lock LEDs.

   I went to RadioShack and got the casing, as well as a 5 volt blue LED.
Forget exactly which one it was--but it is black plastic and the package
said something about an RS232 port space.

To mount the keyboard controller inside the casing, I ran a screw through
part of the casing and a hole in the controller circuit board.

  As for the blue LED, that was easy. The LED is 5 volts and so is the
keyboard supply voltage. So I looked at your keyboard page to get the
pinouts, tested with a DMM, and when I found where +5V and a ground came in, I simply spliced in the LED's wires. (Ed. upper two wires, white and yellow)

Then just put the whole mess into the casing, after making place for the LED and cable to come out of.

Running without a Keyboard (or mouse)
   Is there a way to get a 95A to boot without a keyboard attached ?  I want it to boot to NT4 as a file and printer server with no keyboard, mouse, or monitor attached.

Helmut P. Einfalt wins for the simplest suggestion:
   Change the <Set configuration>--<Bypass System Programs on Error> to <Enable>. This will give you an error code on the front panel if no
keyboard is plugged into the machine, but it will skip over that error
and continue booting NT.
   I'm not sure what the system does when you try to plug in a keyboard
once it's running... but you might test its reaction to that.

Ed. Not sure what systems have "Bypass System Programs on Error" or similar. I do know some systems have a "Network Server Mode" though.

Belkin OmniView SE Incompatible
From Tim Clarke
Hi All,
    Just suffered a severe disappointment with these (F1D104u - UK PSU). They *Do Not* work with PS/2 BIOSes, as PS/2s run the keyboard in Scan Code Set 2. The only "workaround" is to disconnect and reconnect the keyboard from/to the KVM after switching to another port. Similarly, when the keyboard is correctly in Scan Code Set 2 the "hot-key" sequence is not recognised. Lastly, although the mouse does continue to work, the "sensitivity" is set to default after a switch. 

Al Savage Responds 
   I'm running two OmniViews: one's a four-port SE (I think it's an F1D104, but it's 300 miles away on my server farm right now, running three 8590s and a clone) and a two-port F1D064 here at home.  Both work with 8580s and 8590s routinely with no problem.  I use the hot key sequence on the four-port most often (<Ctrl-Alt-LShift-n>), and the button select on the two-port mostly.  Both methods work. 
   Now, ask me about OS/2, scrollms.exe wheel driver, and the OmniView, and you'll get a different story.  W95 works fine with Intellimouse/Logitech wheel mouse, but not OS/2 w/the OmniView. 

Tim Clarke salvos back 
Hi Al, 
    from the claimed O/S compatibility list for the F1D104 and the problems I've experienced (in both DOS and OS/2) I assume that Win xxx, Linux and Netware all use keyboard drivers that reprogram the keyboard to run in the non-default Scan Code Set 1. If your OmniView "hot-key sequence" is as described, it sounds like you have an F1D074 or earlier firmware. 

Cleaning the Keyboard
> Can I safely open the keyboard or will all the springs, keys, etc. jump out  and land on the floor? 

From Bob Eager
   Remove the four hex head screws underneath (one needs a long thin hex socket). Detach the cable too. 
   Turn the keyboard the right way up, and remove the top half of the casing. All should be OK. 
   I use a pastry brush to clean it. You can remove most of the keys (except for some of the 'long' ones which are best left alone). Be very careful not to squash the spring when putting the key assembly back. Best to tilt the keyboard, and let the spring 'fall' into the slot in the key as it is pushed in (try it and all will be clear).And take the keytop shells off to clean, of course 

From Helmut P. Einfalt
   And after you've done that, put all keycaps into an old stocking (ask your better half if she has one with a ladder for you...), knot it so as to keep the contents as loose as possible, and take that bag as well both halves of the keyboard shell to the dishwasher. 
   Wash it with a standard dishwasher program -- you'll not recognize your keyboard afterwards anymore... (And yes, you must take out the electronic innards before washing). If you don't believe me, go ask Don Peter....    Did that on the original PS/2 mouse, too.... Works like a charm. 

From Peter
   Do *not* remove the lower part of the keycaps - only the upper part with the "lettering". The keycaps are a two-part assembly: the "pushrod" and the keycap itself. Remove all keycaps - be careful with the spacebar and the "bigger ones". 

Socket Sizes Needed
From Myself, god-Emperor of Microchannel 
   I used a 7/32 socket- dunno what the metric size is. A Nutdriver or a deep socket.  I used an  Ace 1/4" Drive - 6 Pt. 7/32", 2021947. The important thing is something deep enogh to fut in the well that most of the screws are in. 

From Peter 
   I got a SKG (Made in Germany) No. 493, 5.5mm Chrome Vanadium. From the "tool wall" of our local super-market for about 3US$. Looks like a long screwdriver with a thin walled socket as tip. Works perfectly well since 1987 ...) 

Dr. Jim 
   Speaking of Snap-on, they do carry a nice long socket that works for these.  We bought one for our shop; not cheap, but worth it.  5.5mm, IIRC. 

Allthumbs sez 
   I'm in Canada so the part number may not be applicable south of the border, but this will do the trick. Go to Sears and buy a 7/32" Craftsman deep socket, part number 0942771. You don't even have to buy the 1/4" wrench to fit the socket onto, you can just use the little plastic holder that the socket comes with, because there usually isn't much torque on the screws that hold the IBM keyboards together. Just apply even steady force and you can solve this little problem for about three dollars. (Ed. I disagree with the torque, but the size is right) 

Incompatible IBM Keyboard
From Charles Lasitter 
   Part 84G2524 / FRU 84G2529, mfg date 09/28/99, vendor: Unicomp; IBM has managed to do the unthinkable.  It now makes PS/2 input devices that can't stand the sight of real PS/2 equipment. 
   Specifically, keyboards made by this vendor for IBM work great in crAptivas, but don't like Model 77s, 95s, and so on.  Generates the "301" keyboard error right away in the Model 95 computers, and generates nonsense keyboard output attached to a Model 77. 
   I had several TrackPoint keyboards with sticky / weak left mouse button bars, and I submitted them for service.  The failure was really one of annoyance / hindrance, as opposed to just plain broken keyboards. 
   Well, these keyboards were returned in their place, and the manufacturer was a new one.  I can't remember the first manufacturer, but I'd advise you to try FIND OUT before you go buying or giving up any currently working trackpoint keyboard of this type. 

Keyboard Errors
Code Description
KB errors
KB reset or stuck-key failure (XX 301 XX = scan code in hex)
System unit keylock switch is locked
User-indicated KB test error
KB or system-board error KB controller failure
KB or system-board error KB clock high
KB +5v error  PS/2 KB fuse (on motherboard) blown
KB error
KB cable error
KB LED card or cable failure
KB LED card or cable failure
KB interface cable failure
KB LED card or cable failure

Speaker Grill on Keyboard
>Well I know this has nothing to do with cleaning but... what is that hole on the bottom of PS/2 keyboard. It looks like a mounting place for some kind of a speaker or what?! 

   The first series of the MF-keyboard called MF-1 which lacked the 3 status LEDs had in fact a speaker. It was designed for the XT family of IBM PCs and was intended to be used for "professional typists", which prefered to have a "click" in addition to the mechanical "keyclick" itself. There was a software available, which enables / disables the speaker click ... standard was "On" AFAIK. Worked with that thing for some time back in 1987 ... 
   The MF-II design 101/102 keys *with* the 3 status LEDs inherited the entire case - and the speaker "grille" was left as an artifact and no longer used or needed. Guess it was cheaper for IBM keeping the old molding forms - and produce two keyboards on the same machinery. 

SDL to PS/2 Cables
    If you have a desktop, the 5' cable might work for you. But for myself, I prefer the 10' cable. If you have a 80/85/95, you have to go to the floor and behind the system. If you have a desktop, you usually have to run the cable behind the system. This way you can sit away from the monitor. 

One place that still carries them is Jameco 
1334026   IBM PS/2 5' Coiled Keyboard Cable 2.95 (closeout) 
1393120   IBM PS/2 10' Coiled Keyboard Cable  3.95 

Model M Maker
   Unicomp bought the buckling spring technology from Lexmark.

Ian Warford wrote:
  They most certainly are still manufacturing them.  They even (according to the sales guy I talked with) plan on making some black buckling spring 101's next year. Oh, they also make 104 key windows keyboards that feel the same as the old IBM ones :)

Note the manufacture date on my Model M. (Ed. Image edited for size)

42H1292   IBM 101 key buckling-spring KB.   Reg  $79 Sale $49.00 
1393278   IBM "SpaceSaver", heavy-duty 84 key KB Reg $79 Sale $69. 
71G5794  IBM PS/2 Enhanced Quiet Touch KB with 2 Button Mouse

9595 Main Page