Hi
I have just remembered how the later version keyboards worked.
It was still a counter sytem but the values where fully decoded.
It worked on a matrix system.
Each key on the keyboard sat across the junction of one of the matrix
points.
One of the oddest ones I've worked on was the HP98203 -- the little
keyboard used on the HP9816.
The interface has 2 signal lines, power and ground. One signal is a clock
line from the machine to the keyboard. The other is a bidirectional line,
from the machine to the keyboard it indicates the start
of a scan, from
the keyboard to the machine it indicates the state of a
'key'.
After the reset, the thing effectively sends 128 bits, clocked by the
clock line. These represent not only the states of all the keys, but also
the state of 8 internal configuration links, and 8 bits for the
twiddleknob counter and direction.
Now for the odd part. The keyboard swtiches are not wired as a matrix.
One side of each switch is grounded. The other side goes to an input on a
4051 mux. Scanning is done by a 7 bit counter (4024 IIRC) and a 1-16
decoder (4514) to select the individual 4051s.
No idea why they did it this way, but they did.
The other thing to watch for are keybaords that don't use contact closure
as a way of detecting a key is pressed. There have been inductive
keyboards (pressing a key completes a magnetic core, thus increading the
coupling between a couple of tracks/wires (e.g. the Termiprinter).
Balanced transformer keybaord, whenre presisgn a key damps one of a pair
of pulse transformers allowing a signal from the other one to get through
(e,g. HP9810). Saturated core keyboards, where 2 wires are linked by a
magnetic core, which is normally satureated by a permanent magnet.
Pressing a key moves the magnet away, increasding the coupling between
the wires (e,.g. Nascom, HP9845). Capactitive keyvoards (Keytronics) are
common, but HP used a capacitive membrane mechanism in the HP46021 IIRC.
-tony