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.
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
key on the other corner of the "square" formed by the three
keys being pressed is seen as being pressed. There is nothing
software can do about this, it's an electrical function of
matrix keyboard.
For those who don't know how to suck eggs, imagine the following
matrix keyboard:
| |
---A----B----
| |
---C----D----2
| |
1
If A, B and C are pressed, if the software looks to see if D is
pressed (by looking at lines 1 and 2) the electricity can flow
through C, A and B, making it appear that D is pressed.
The reason I ask is that I can't think of one, and
if such a case
doesn't
have to be considered there's a very simnple interface (a mutlipezer
to
sleect a scan line drivign the enable input of a demultiplexer to
select
an input line) that could be used. It'd be 2 or 3 cheap TTL ICs.
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.
This is how the BBC does it:
http://mdfs.net/Info/Comp/BBC/Circuits/bbckbd.gif with a
4-to-16 output multiplexer to select the rows and each column
samplable with a 8-to-3 demultiplexer.
--
J.G.Harston - jgh at
mdfs.net -
mdfs.net/jgh