I hav a set of old IBM Model-M keyboards that I really love for heavy duty typing.
One in daily use and a 2nd one as spare.

Unfortunately the one I used daily broke.
(Don't ask... They are build like a tank, but I managed anyway...)

I got the replacement keyboard from storage and found it has a very weird problem that makes it really awkward to use.

The V-key doesn't work when pressed normally. However when used in combination with Shift, Ctrl or Alt it works just fine.
All other keys on the keyboard work normally.

The hardware switch under the V-key is fine. (Else it wouldn't have worked with Shift/Ctrl/Alt either.) The tactile feel of the key and the click-action is normal too.
It can't be a software issue on the computer side as this problem occurs regardless of which computer and OS I'm using the keyboard. (Several versions of Windows and Linux on 3 different PC's and it happens on the iMac in macOS too.)
Problem is present when using the keyboard with its PS/2 connector directly or via a PS/2 to USB converter hooked up to the iMac which doesn't have PS/2. (So the PS/2 to USB converter isn't at fault either.)

I'm guessing this is a hardware problem or a firmware issue inside the keyboard.

If all else fails I can get another one, but good quality ones are becoming difficult to find and are getting expensive.

Can anyone recommend a way to fix (or at least further troubleshoot) this problem?

  • Can you open the unit up and inspect the board? the only thing I can think of is that one of the tracks on the PCB is cracked, which is dropping the circuit. When another key is pressed, it's either causing the crack to reconnect, or provide another route for the voltage to run. – Stese Apr 13 '17 at 11:51
  • @StevenDavison I was already thinking along the same lines. But I figured it couldn't hurt to get a 2nd opinion. – Tonny Apr 13 '17 at 11:54
  • Fair enough. I upvoted the question, to hopefully attract more knowledgeable people. – Stese Apr 13 '17 at 11:55
  • Can you type a 'v' by using Alt+118 (from numpad) ? – Overmind Apr 13 '17 at 12:00
  • @Overmind Yes. It is just "v" (lowercase) and CAPS+"v" that don't work. Alt+118 is something Windows handles. Not the keyboard itself. – Tonny Apr 13 '17 at 12:02

I quite sure it's a bad connection to the 'v' key (bad circuit line).

We can have a keyboard that uses a system like this:

Keys can have a null line and 2 specific ones (null, Xnormal, XCAPSED/secondary - where X is the kb letter; physically, Xn and Xc are actually one switched by CAPS key line - they are not active in the same time ever).

Taking the example of 'v'. Just pressing it would connect Vnormal line to a null (mass line and therefore register a press). CAPSing it would do the same by connecting Vsecondary to null.

Using shift, alt or ctrl (let's say lines 1,2,3) could work with a 'v' that has a broken null connection because they could connect like 1/2/3-Vnormal or 1/2/3-Vsecondary, therefore not using the broken null. Transmission would work, because there are contacts between 2 different lines detected.

If this seems unclear, I think I could make a basic drawing.


A quick representation here It's a basic key pad. I only represented the alt, shift and ctrl contacts for one key (the low left corner). As you can see, pressing the key itself will make the R and C lines in contact. Now if either R or C link is broken, the key press will fail to register. But if at least one contact is working, that one will complete a circuit if you press Alt, Shift or Ctrl (green, yellow and red).

enter image description here

  • I don't need a drawing. I'm familiar enough with classic keyboard-matrix design to understand this. But adding the picture would be really nice for other people that read your answer. – Tonny Apr 13 '17 at 12:26
  • I make small addition to a keypad schematic to represent our case. – Overmind Apr 13 '17 at 12:50
  • But if the 'R' or 'C' lines are broken, wouldn't it affect other keys as well? I am assuming that a full keyboard per-key connections (i.e., not a matrix) is extremely rare, and certainly was not built in the Model-M keyboard. The only way I can see your suggestion working just on the 'V' key, is if that key is the last one on the 'R' or 'C' lines. – ysap Apr 22 '17 at 13:50
  • No, it would not affect them if the disconnect is near the contact, not on the main lines. And good keyboards use separate lanes for each key. – Overmind Apr 24 '17 at 6:56

I have accepted Overminds's answer as that was exactly the problem I found.

Just to clarify what was going on:

Seems the previous owner (I got the keyboard second hand) had at some point opened it up to replace the PS/2 cable. (There was very sloppy soldering done on the attachment points of the cable to the micro-controller PCB.)
I also noticed that the 2 capacitors on that micro-controller PCB had burst. So I started out with soldering 2 new capacitors on the PCB and re-soldered the cable.

The previous owner, while working on it, must have put the actual keyboard-assembly (a sandwich of PCB, mount-plate for the buckling spring-switches and a covering membrane) aside, placing it on a sharp object.
The PCB had several severe scratches, some of which scratched through the protective clear lacquer and exposed the PCB traces.
There was a scratch going across 1 of the lines just a few millimeter from the contact points of the v-key switch. Looking at it closely I could tell that the copper trace underneath had a small spot of noticeable discoloration, probably oxidized.
I carefully scratched through the discolored spot with a very sharp knife to expose the bare trace and then filled the gap with a very small dot of electrically conductive paint.
Keyboard is back in working order. In fact I typed this post on it :-)

PS. If anybody needs to open one of these: You need a 5.5 mm screwdriver for hexagonal screw-caps. Very unusual size, can be hard to find.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.