FW: [HPCC-Conf] HP49 Keyboard
hpcc-conf@lists.handheld.org
hpcc-conf@lists.handheld.org
Wed Oct 2 06:55:01 2002
Jean-Yves (and anyone else interested),
I accept that the HP49 keyboard is electrically much worse than
the HP48, but I have used other systems with rubber keys that do not
seem to suffer badly from key bounce, so I was hoping that there would
be a few "uninformed" comments like mine before your definitive answer
arrived.
Please do not take this as an attack on you. The hp49 is an
amazing piece of work, and you were let down by the poor mechanics
of the keyboard. Its just that I do not expect you (or anyone else
from the hp tradition) to be experts in scanning cheap-and-nasty
keyboards.
I have not taken my 49 apart (sorry Tony) so I can only guess at
its construction, but I have seen the insides of many cheap cordless or
cellular telephones and they tend to just have a rubber membrane with
blobs of conductive material beneath each key. Pressing the key moves
the conductive material down onto the printed circuit board, which
shorts* between interdigitated electrodes for the relevant row and
column of the keyboard matrix.
*Strictly it is a few kilohms, but impedances are designed for this
to be a clear digital link.
It is possible to dial quickly on these cellphones without
worrying about key bounce. And these things are built cheaply enough.
So what's different? Is there some black magic that they have that
hp could not afford?
I was in the baseband team for an AMPS cellular telephone.
I suspect that the hp49 would never sell in the same volumes,
but the keys worked properly from the very first three samples
nailed together for the trade show! (It's a pity the RF part was not
finished by then).
I don't think the size of the keyboard matrix should make much
difference. It's not like a liquid crystal display where activity
on part of one row will lead to a shadow over the rest of that row.
(This assumes that there is never any need to interpret more than
two simultaneous keypresses.)
I don't think that CPU horsepower has much impact on the problem;
the baseband was all run on an 8 bit microcontroller (8051 family).
I assume that a key that is never pressed is a reliable open-circuit.
While a key is moving inwards, we get moments when the tracks are shorted
together, and moments when the tracks are open-circuit (key bounce).
While a key is moving outwards (being released), key bounce is also
expected.
>From your last reply, I assume that while a key is held in, we get
moments when the tracks are open-circuit.
>However, tests conducted by Cyrille showed that the HP49 keyboard could
>bounce for over 1 second, and this is not consistent. There is no way a
>software, no matter how good it is could fix this issue.
But I also assume that most of the time the tracks will be short-circuit.
If this is not true, then there is something seriously wrong with the
hardware (perhaps based on the idea that the conductive blob should wipe
across the electrodes instead of just squish onto them, or possibly that
the circuit impedance was wrong).
If I am wrong in this assumption, then as you say there is no way software
can solve the problem.
But if I am right, the important parameter is what duration should a key
be OBSERVED as NOT being pressed before one can consider any subsequent
activity as being a separate key press.
(Emphasis on the word observed because several keyboard scans might be
needed to verify this non-press).
Best regards,
- Danish