Disclaimer: The links and information are
provided on an "as-is" basis. I am not responsible if you try a modification
and burn out your keyboard controller. For depot level service, I recommend
Hardware Interface Technical Reference, Keyboard 101- and 102-Key
US4118611 BUCKLING SPRING TORSIONAL SNAP ACTUATOR
Keying On A Standard by Bob Smith
25 Years of the Model M (by Chris McDonough)
Modify Model M PCB ("Modern" Systems, KVM switches, others) by John Szybowski
Model M page "Type Hard or Go Home" Dead Available on Internet Archive
Buckling Spring Page (by Sandy)
ClickyKeyboard Restoration and collection, Sells KBs, cables, and parts.
Model M Buyer's Guide by ClickyKeyboards (We're Not Worthy!)
Convert your Model M Keyboard to Bluetooth with Bluefruit EZ-Key HID
AMP 1-520424-2 Product Page
PLUG SUB-ASSY, ROUND CABLE, 50 SERIES, SDL
Buckling Switch (The REAL clicky keyboard)
PS/2 Model M PCBs
Pinout for J8 (LED Tape Socket)
RS/6000 Model M PCBs
Terminal Model M PCBs
AT Keyboard and SDL Pinouts
PS/2 Keyboard and SDL Pinouts
RS/6000 Keyboard and SDL Pinouts
Keyboard Keyclicks Without Keyboard Speaker? Model M Without Speaker on RS6000
Optional Keyboard Cable with Speaker
M$ Elite Keyboard (Don't use it!)
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
Fixing the detached plastic base (no need for screw and nut mod)
Keyboard Error Codes
Scan Code Followed by 301 Error
Model M parts from Unicomp - SDL cables, springs, matrix, key caps...
Present Model M Manufacturer
General Keyboard Maintenance
Location of Keyboard Connector
On PS/2s, the keyboard port is the one closest to the power
Buckling Spring illustrations are from Wikipedia
Model M keyboard, Design
Buckling Key Switch
Buckling spring key on key press and release.
Graph of key force over key travel for a buckling spring
key. Visible in graph position 1C the fast force drop when
the spring buckles.
Source: U.S. Patent 4,118,611
(Google Patents), issued to IBM in 1978
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
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
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.
Peter Wendt 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
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
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 underside of 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
This allows programmers to define own
keyboard "Symbols" and have appropriate lettering on them
during the development phase. I must have a set of these
caps around anywhere - along with a "letter mat" for ALGOL
or APL-2 programming language symbols.
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
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
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
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
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
(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.
PS/2 Model M PCBs
DOB is 01SEP88 PN 1393291 PCB is 170mm x 50mm
PCB from 08SEP89 is similar, the outline for J2 is gone,
Y1 is now a little poly coated three pin package.
|U1 NS 239 2161 SA A60425
|J5 lower left 1/4" QD tab.
Y1 4000.0 xtal
DOB is 19NOV91 PN 1395601 PCB is 150mm x 38mm
|U1 TI 2392161-60425 137 3 Q CK
||U2 ST EF6805U3P-B
PCB is 91-ish PCB is PN 1395604
U2 Motorola 1394079 (possibly IBM house #)
DOB 31JAN92 PN 1397553 PCB is 150mm x 38mm
This is a simper design. J3 and J8 have been
combined into a 12 pin header, J3.
DOB 20MAR93 PN is 1398012 PCB is 162mm x 50mm
|U1 TI SN7406N
||U2 ST EF6805U3P-B
CP1 and CP2 (B9HC0114 102MX8) are now
back. See the outline for J2 ( four pin header) right
below the SDL port?
This little dapper devil switches orientation
between horizontal and vertical. The LED tape has to
bend on the vertical.
The Ground trace is almost twice as wide
as the other three. The ground trace is always towards
RS/6000 Model M PCBs
DOB of 05-31-91 PCB is 1394596, whole KB is 1394540 (ID#
2392161 (IBM part number for a standard 7406 TTL chip)
1394599 HD6805V1RN18P CPU with embedded code
B9HC0114 102M x 8 capacitor packs
Rick Ekblaw sent me the original image and said-
You will notice that this scan is most
similar to your P/N 1393291 scan. It is also 170mm
x 50mm in size, and the connector layouts are basically
the same. There are some minor layout differences,
and the second 7406 open-collector hex inverter and the
J10 speaker connector are the obvious additions.
One side of J10 goes directly to pin 6 on the SDL
connector, which is why the RS/6000 keyboard cable can
not have the "missing pin" found on some PS/2 keyboard
The speaker is a little 8 ohm, 0.2W
job, IBM part number 1392326. (Ed.
I have got to get me an RS/6000 keyboard!!!)
PCB is 1394596
From Gereon Wenzel
Terminal Model M PCBs
From Gereon Wenzel
J7 (three pin header, upper left) KB cable connector (?).
Why is the upper right tape receptacle of the
Terminal keyboard shorted with a sheet of alloy?
U2 Motorola 1387587 (possibly IBM house #)
U1, U4, U5 SN7406N (?)
(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
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
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) <--
3) Fixed cable, non-click squishy feel (horrible) <--
All of the Win95 style 104's I've seen sucked.
The keyboard and auxiliary device signals are driven by
open-collector drivers pulled to 5Vdc through a pull-up
|Sink current Max
|Hi-level output V Min
||5.0 Vdc minus pull-up
|Low-level Output v Max
|High-level input v Min
|Low-level input v Max
AT Style 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
SH - Shield
PS/2 Style Pinout for Keyboard Connector and SDL
SH - Shield
RS/6000 Style Pinout for Keyboard Connector and SDL
SH - Shield
Note that the RS/6000 Keyboard port has the speaker signal
and speaker ground signals that the PS/2 keyboard port
Keyclicks Without Keyboard Speaker?
Some systems were shipped without a speaker in the
keyboard or system unit (specifically, the "Quiet Touch").
The following shows the keyboard attached to a speaker box
with a 3 ft. cable which attaches to the standard I/O port
K. The speaker box has a keyboard connector to pass the
keyboard signals through to the keyboard. The keyboard
cable is supplied with the keyboard.
Keyboard Cable with Speaker (FC #6599
or FRU 93H8878)
PS/2 Keyboard on RS6000 Keyboard
Gathering data, but maybe cobble together a small
enclosure with a fully wired RS6000 Keyboard port, pull
out the two connectors needed for a speaker mounted in the
enclosure, and pass just the keyboard signals to a
normally wired KB port to feed a Model M.
Note: I am totally
unsure of trying to run a RS6000 Model M with speaker or
the Optional Keyboard Cable with Speaker off of a Personal
System/2 Keyboard port. IBM refers to Pins 2 and 6 as
"Reserved" on a PS/2. If you are lucky, they are Non
Connect (N/C). What happens if you plug a fully wired
RS6000 keyboard cable into a PS/2 keyboard port is
UPDATE: Older RS6000
probably need a keyboard with an RS6000 compatible
uProcessor. Later systems could use a PS/2 keyboard, IIRC.
So using the optional KB cable w/speaker and a Model M
with PS/2 compatible uProcessor might not work on an
earlier RS6000. An RS6000 KB might not work on a PS/2, due
to a different KB uProcessor.
M$ Elite Keyboard
Hi John !
>I bought a micro soft elite keyboard plugged it into
the keyboard port , fired up the ole 9577 Lacuna and the
screen locks at the IBM screen.
From Peter Wendt
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
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
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
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/Ss 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.x, Win9x and possibly Win2K
Impact of Cutting Data and
Don Hills hanging on to the underside of the earth
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
Hold That Thought!
Dr. Jim Shorney 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 keyboard while the
other is switched through, and vice versa.
Keyboard Emulator Hack
(Dr. Jim Wayne Bobbitt style)
Wild Bill clears leather with:
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
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
Belkin OmniView SE Incompatible
From Tim Clarke
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
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
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
> 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). Take the keytop shells off to clean,
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
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.
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 - (5.5mm metric size
is) a nutdriver or a deep socket. The important thing is
something deep enough to fit in the well that most of
the screws are in.
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 ...)
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,
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 now agree after opening up three Model Ms with the
detached plastic base
I was delving deeply into the azure realm, when I
noticed my Industrial Model M keys were "flexing" before
they would do a left Shift-(letter). This was odd, at
the time I swapped out the keyboard and thought nothing
of it. I finally opened up the case, only to find a
goodly number of the melted plastic studs had snapped
off, hence the flexing when the key forced the plastic
frame down close enough to the curved metal base to
create a closed switch...
Searching the web brought up many mods using either
wood screws, metal screws, or the omega device, nut and
bolt. Being the lazy kind, I asked on the PS/2 Hardware
forum for advice. As usual, it came from a man used to
the glare of camera strobes and the sighs of starlets
that can't catch his attention...
Dr. Jim Shorney takes time from filming infomercials
and gives us a prescription:
"Diamond Jim" to his clique, otherwise known as "The
Solder God to the Stars" let slip his new Hollywood
method of re-attaching the plastic base to the curved
"The guys that write these nice tutorials don't know
about plastite screws. I found a size that works well
from McMaster-Carr. Worship me some more and I may
"From the Holy Coffee Can of M-bits...
x 1/4 TX PLUS HF PT 48 TORXPLUS — T6 Drive
McMaster-Carr SKU 95893A153 50-pack
Also bought #48 and #49 drill bits via ePay to cover all
"Material locks against the triangular (tri-lobular)
shank to ensure a vibration-resistant connection. Also
known as Plastite screws, they have coarse, sharply
angled threads and a blunt tip. They provide maximum
holding strength with minimal stress in formable
plastics such as polypropylene and polycarbonate. Length
is measured from under the head for pan head screws and
from the top of the head for flat head screws."
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
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.
||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 cable error
||KB LED card or cable failure
||KB LED card or cable failure
||KB interface cable failure
||KB LED card or cable failure
Code Followed by 301 Error
This error is from a problem with a specific key, in
this case the Left-Alt key, scancode 11.
The error list above is correct, but confusing.
301 KB reset or stuck-key failure (XX 301 XX =
scan code in hex)
would result in "Scan Code" "301" or in this case "11" "301"
If E0 or E1 is displayed, one of the "special keys" is
sending the first half of their 2-byte code to the system.
Just try it out on a running system - reboot and hold one key
until the system restarts.
You will end up in the exact error like described.
And find the value before 301 in the
To test, which of the keys is malfunctioning, press any key
after the other, beginning left / top row down to the
right lower key.
Any key must act as normal, make an audible "click" when
pressed and also immediately after being released again.
The feel while pressing must be exactly and not sticky at all.
If one key causes no reaction or appears as already pressed
suspect it to be the -or one of the- defective.
Error code 305 at power-up means "+5 VDC on keyboard missing".
This might indicate a broken cable, but also a blown
keyboard/auxiliary device-fuse. On many boards this fuse
is not replaceable!
Or at least will require a lot work to a) locate and
b) replace it.
>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
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
Model M Parts
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.
Looks grim to find the long PS/2 to SDL cable, you will
probably have to get a male/female PS/2 cable...
Model M Cables (Looks
like they are 5' long)
Detachable Y Cable
Detachable Y Cable - Black
Detachable PS2 Cable - Pearl
Model M Parts
Pivot Plate & Spring Assembly
Stabilizer Insert (Enter key, Black - Vertical Keys, White
- Horizontal Keys)
Membrane assembly (Enter membrane assembly P/N you wish to
Replacement Pointing Stick Caps
LED Overlay - Num / Caps / Scroll Lock (Model Ms used
"Pebble - LEDs on bottom")
Buttons, printed, unprinted, sets, singles...
Present Model M Manufacturer
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 (Ed. almost the same).
Note the manufacture date on my Model M.
(Ed. Image edited for size)
IBM 101 key buckling-spring KB. Reg $79 Sale $49.00
IBM "SpaceSaver", heavy-duty 84 key KB Reg $79 Sale $69.
IBM PS/2 Enhanced Quiet Touch KB with 2 Button Mouse
General Keyboard Maintenance
Most of the original IBM-keyboards have separate keycaps, which
can be removed very easy. Under this cap sits the key-'corpus'
and underneath a small spring. This spring is fixed with
a contact-plate inside the keyboard.
It is very easy to bend, deform or pull out this spring...
but very hard to get one back onto the contact-plate to make
the key work properly again. Take care!
In case you accidently removed the key-button entirely from the
- make sure, that the spring isn't off from the contact-plate
by gently touching it. If it returns to vertical position it is
- separate the keycap and the lower button part
- look inside the button: there's a small plastic nose to set
the spring into.
The U-shaped cutout must be positioned to the rear of the
- lift up the keyboard at the frontside
- make sure that the spring falls to the rear of the
- slide the button inside the collar and gently press it
down until you hear the button snap in and contact-plate clicking
Watch out not to bend or damage the spring during this process !
- check the function of the key
Clicking must be audible and the tactile 'feel' must be as usual.
- Now install the keycap again
You will have to remove the keytop in case some dirt
(mainly coffee or Coca-Cola) sits between keybutton and the
collar. Keys then tend to stick, the feeling while pressing
the key is somewhat soft and sticky and the 'click' after
releasing the key is somewhat delayed. Cleaning inside of
the button (...not the cap !) and the key-collar with alcohol
will mostly solve these problems.
It is a good idea to maintain the keyboard frequently.
Remove all keycaps except the space-bar and probably the two
larger keys on the right side ([+] and [ENTER] from the
numeric keypad). These keys have additional metal guides
at the underside and are hard to re-assemble.
Use a small screwdriver or the special IBM
'Keycaps Puller Tool' to remove the caps. If you are
not concerned ... well ... remove all caps.
Use a longhaired, harder brush to clean the areas around
the keys from dirt. In most cases this is just dust, but
sometimes there are hair-needles, nails, screws, clamps and
other stuff. Turn the keyboard upside down and shake it...!
It would have been a good idea having tried this over
a waste-bin, right?
Better next time.
Cleaning the dirty, sticky keycaps is easy if you have
a washing-machine or a dishwasher. I prefer dish-washers.
Fill all the keycaps in one of these plastic nets which
are used to pack oranges. Use a piece of wire or a nylon
strap to have the net securely closed. Then put it in
the dish-washer. Use some cleaner on it - as if you wanted
to clean your dishes like usual.
After this they look like new.
I use the same procedure on the entire keyboard housing
by the way. It is quite easy to disassemble. 3 hex-screws
from the underside, remove keyboard assembly and internal
circuit board and put the two housing halves in the
Now, this is much harder if you have only a washing-machine.
It is Not recommended to treat the keyboard housings
this way - they will break in pieces. The keycaps can be
washed as well. But not too hot. I had good results in
pre-washing with 30° C and put them inside of one old nylon
stocking. Basically the same procedure as with the