Tony wrote:
Is there ever a time when you press 2 keys
simultaneously on an HP85
(other than shift or control along with another key).
Yes. n-key rollover.
Image you are typing "hello". A very large proportion of the time
a typist will still be pressing 'e' by the time their finger starts
pressing 'l'. 2-key rollover allows for two such keypresses, as is
the maximum that most keyboard input drivers deal with.
No, that';s no what I meant.
If you are emulating the keyboard by a circuit that can only effectively
'press' one key at once, it won't affect this. WEhen you press the 'E'
key, the interface simulates the appopriate key contact closure. When you
press the 'L' key (with the 'E' key still down), the interface can then
simualate the 'L' key contact closure. Of course at this point it can no
longer have the 'E' contact closes from the point of view of the host
machine, but that don't matter. The host sees an 'E' keypress followed by
a 'L' keypress, which is what you want.
Also, it's electrically not possible to do 4-key rollover with a
matrix keyboard, as as soon as three keys are pressed the four
For a simple matrix of swithces, sure. But if you add a diode in series
with each key you can have full n-key rollover (this is one reason why
such diodes are present on some keyboards (like the HP46020 IIRC). Such
diodes eliminate the 'sneak paths', if you close 3 key contacts, there is
no electrical path when the one at the 4th corner of the rectangle is
scanned (one diode is reverse-biased).
A related problem affects passive matrix LCDs. The LCD pixel/segment is
electrically a capacitor, and thus unpolarised -- in fact you energise an
LD with an AC signal to prevent electrolysis of the liquid crystal
material. For this reason, if you have the pixels in an electrical
matrix, you will get sneak paths when you turn on one particualr pixel.
This is one reason why the rivers for such displays are not simple, and
why there are mutliple drive voltages fed ot the display segments. It
also is the explanation fro a rule-of-thumb noticeed by an HPCC member --
'The cheaper a calculator, the clearer the display'. Point being that a
cheap clacualtor probably has a direct-drive 7-segment dispaly (no
multiplexing), a high-end graphing calculator is probably multiplexed
with 32 backplanes or soemthing. The former will have better contrast
than the latter.
A simple n-to-2^b multiplexer to select a column and a
2^n-to-n
demultiplexer to sample the rows is sufficient on the hardware
side. It's better to have the modifier keys (Shift, Ctrl, etc)
as a seperate row so they can be sampled seperately from the
other keys.
I am doing the reverse. I want to simulare the matrix keyboard, not scan one.
On the HP9915, as I mentioend,the shift, control, and caps-lock keys are
not part of the matrix. They are on their own. One side of each of those
is groudned, the other sides goes to a dedicateds input line (buffered
and then fed to the keybaord interface IC). All other keys are in an 10*8
matrix.
-tony