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

NOTE: 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 Unicomp, who actually built them for IBM.

US Patent 4118611 BUCKLING SPRING TORSIONAL SNAP ACTUATOR
 
Model M page "Type Hard or Go Home" Dead Available on Internet Archive
Buckling Spring Page (by Sandy Tatsuo - finally found it again))
25 Years of the Model M Non www address. I might suck this up.
   Nice clip of a buckling spring in action!
Modify Model M PCB  (Pentium 4 Systems, KVM switches, others) by John Szybowski
    Retrieved via the Internet Archive. Links to external adapter and cable.
ClickyKeyboard Restoration and collection  Sells KBs, cables, and parts.
Convert your Model M Keyboard to Bluetooth with Bluefruit EZ-Key HID


Model M parts from Unicomp - SDL cables, springs, matrix, key caps...

AMP 1-520424-2 Product Page 
   PLUG SUB-ASSY, ROUND CABLE, 50 SERIES, SDL
   Application Specifications:
  
Instruction Sheets

Hardware Interface Technical Reference, Keyboard 101- and 102-Key

Key Switches
   Buckling Switch (The REAL clicky keyboard)
   Capacitive switch  
Keyboard Evolution
Keyboard Trivia 
   Keyboard Mechanics
   International Keyboards
   Programming Consations
   Model M PCB
      Pinout for J8 (LED Tape Socket)
   RS/6000 KB PCBs
   Terminal KB PCB
Signal Voltages
AT Keyboard and SDL Pinouts
PS/2 Keyboard and SDL Pinouts
RS/6000 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
Fixing the detached plastic base (no need for screw and nut mod)
Keyboard Error Codes
   Scan Code Followed by 301 Error
Speaker Grille
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 Keys

Buckling Spring illustrations are from Wikipedia Model M keyboard, Design

Buckling Key Switch

Buckling spring key on key press and release. U.S. Patent 4,118,611, issued to IBM in 1978



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. U.S. Patent 4,118,611, issued to IBM in 1978

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 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 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 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 cap. 
   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.

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.



Model M PCB
DOB is 01SEP88 PN 1393291 PCB is 170mm x 50mm
U1 NS (239 2161  SA A60425
U2 HD6805V1N13P
J5 lower left   1/4" QD tab.
Y1 4000.0 xtal
PCB from 08SEP89 is similar, the outline for J2 is gone, Y1 is now a little poly coated three pin package.

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 is a 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?

Pinout for J8
  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 Pin 1. 

 



RS6000 M Keyboard PCBs
DOB of 05-31-91 PCB is 1394596, whole KB is 1394540 (ID# 4023580)

Major Components:
U1, U3          2392161 (IBM part number for a standard 7406 TTL chip)
U2              1394599 HD6805V1RN18P CPU with embedded code
J10             Speaker connector
CP1, CP2        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 PN 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 cables. 
    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 Keyboard PCB

From Gereon Wenzel
J7 (three pin header, upper left) KB cable connector (?).
U2 is a Motorola 1387587 (possibly IBM house #)
Smaller ICs appear to be SN7406Ns.
   Why is the upper right tape receptacle of the Terminal keyboard shorted with a sheet of alloy?


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
20mA 
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 


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 cables 

DIN
Signal
KB
+ DCv
1
+KBD DATA
B
4.8-5.5
2
Reserved
F

3
Ground
C

4
+5.0 Vdc
E
2.0-5.5
5
+KBD CLK
D
2.0-5.5
6
Reserved
A

Shield
Frame Gnd
Shield


PS/2 Style Pinout for Keyboard Connector and SDL

PS/2
Signal
SDL
+ DCv
1
+KBD DATA
B
4.8-5.5
2
Reserved
F

3
Ground
C

4
+5.0 Vdc
E
2.0-5.5
5
+KBD CLK
D
2.0-5.5
6
Reserved
A

Shield
Frame Gnd
Shield



RS/6000 Style Pinout for Keyboard Connector and SDL

RS6K
Signal
SDL
+ DCv
1
+KBD DATA
B
4.8-5.5
2
Spkr Signal
F

3
Ground
C

4
+5.0 Vdc
E
2.0-5.5
5
+KBD CLK
D
2.0-5.5
6
Spkr Gnd
A

Shield
Frame Gnd
Shield



Note that the RS/6000 Keyboard port has the speaker signal and speaker ground signals that the PS/2 keyboard port lacks.


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 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 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/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 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 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 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). 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 - (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. 

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 now agree after opening up three Model Ms with the socket alone) 


Fixing 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 metal base:

"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 enlighten you.

"From the Holy Coffee Can of M-bits...

2-28 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 bases."

"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 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
Error
Code Description
3xx
KB errors
301
KB reset or stuck-key failure (XX 301 XX = scan code in hex)
302
System unit keylock switch is locked
302
User-indicated KB test error
303
KB or system-board error KB controller failure
304
KB or system-board error KB clock high
305
KB +5v error  PS/2 KB fuse (on motherboard) blown
341
KB error
342
KB cable error
343
KB LED card or cable failure
365
KB LED card or cable failure
366
KB interface cable failure
367
KB LED card or cable failure

Scan 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"

Speaker Grille 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. 


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)
1398094 Detachable Y Cable
1379947 Detachable Y Cable - Black
1395110 Detachable PS2 Cable - Pearl

Model M Parts
PVPLASM Pivot Plate & Spring Assembly
INSERT Stabilizer Insert (Enter key, Black - Vertical Keys, White - Horizontal Keys)
MEM Membrane assembly (Enter membrane assembly P/N you wish to purchase)
49G2224 Replacement Pointing Stick Caps
LED LED Overlay - Num / Caps / Scroll Lock (Model Ms used "Pebble - LEDs on bottom")
BUTTONS Buttons, printed, unprinted, sets, singles...




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