[comp.sys.amiga] A1000 Keyboard ghosting Fix

umsmigie@ccu.umanitoba.ca (Jason Smigiel) (01/24/90)

>	I seem to have a problem with my keyboard, (on an Amiga 1000) If ever
>I have three keys pressed at the same time  I get extra characters typed
>the most common is the sequence 'del' (it's only most common because I use
>'del a lot in delete) When ever I type 'del' quickly I get 'delo'.  I get
>this extra sequence for about half the 3 key sequnces I make.
>
>	I know that the Amiga 1000 keyboard is designed in such a way
>that this ghosting will occur BUT only if more than 10 keys are pressed.
>So what's the verdict is my keyboard dead?  Or is this some quirk in a 
>RAWKEY code conversion?

In response to this message I recieved the following replys.

                  ======================================

From:        <riley@tcgould.TN.CORNELL.EDU>

Jason, you're confusing two different problems.  The 10 key limit sounds
like the rollover--the number of keys you can press real fast without
overrunning the internal processor.  The ghosting is a different problem,
due to the way the keyboard matrix is laid out and read, and will occur
anytime two keys on the same row are pressed at the same time as a third
key on the same column as either as the first two.  The ghost key will
be at the fourth corner of the parallelogram defined by the first three
(like delo).  Your keyboard is no more broken than any other A1000
keyboard--they all do that.

-Dan Riley (riley@tcgould.tn.cornell.edu, cornell!batcomputer!riley)
-Wilson Lab, Cornell University

                  ======================================

From:              <kherron@ms.uky.edu>

This is called the parallelagram bug and all A1000 keyboards
(including mine) do it.  You used the example 'del' producing
'delo'.  If you'll examine your keyboard, you'll notice that 
d, e, and l form three corners of a parallelagram (slanted
rectangle) and that the o key forms the fourth corner.  Any three
keys which form part of a p-gram like this (the basic requirement is
that two be on the same row, and the other be on a different row)
will cause a phantom strike of the key in the remaining corner.

Keys such as shift, space, etc.  do it too, though their physical
positions don't really correspond to their p-gram positions.


Kenneth Herron

                  ======================================

From:        Charles Poirier <poirier@DG-RTP.DG.COM>

You have one of the infamous "parallelogram bug" keyboards.  Hold down
three keys at the corners of a parallelogram on the keyboard, and the
fourth one pops out.  They improved that later to the ten-key-rollover
version.

I have one too.  No fix exists that I know of.  Type slower?

	Cheers,
	Charles Poirier

                  ======================================

From:    <ridder@elvira.enet.dec.com>


I don't know where you got the information about more than 10 keys
being pressed, but I've never hear that.

There is a known problem with *all* A1000 keyboards where they
generate "ghost" keys when certain combinations of three keys are
pressed.  It used to drive me crazy!  It can be fixed by replacing the
keyboard Microprocessor with the A500 one.  Any reasonable Amiga
repair place should be able to do it for you.  I did it myself, and
had no trouble, but if you're not an expert at computer service, you
should take it to someone who it.  I have included an old article by
George Robbins which describes the change.

-hans
------------------------------------------------------------------------

From:    George Robbins
Subject: A1000 Keyboard Enhancement
Posted:  28 Nov 87 19:04:39 GMT
Organization: Commodore Technology, West Chester, PA
 
A1000 Keyboard Enhancement
 
Background:
 
The A1000 keyboard implements a form of 2-key rollover without protection
for key matrix conflicts.  Thus when you try to type "from" while holding
down "f" and "r", you will get "frlom".  This is because the first two key
depressions short out a path of the key matrix making appear that both the
"l" and "o" keys are depressed.  The newer version of the keyboard
microprocessor used in European A1000 keyboards and all A500 keyboards is
cognizant of these matrix conflicts and inhibits keycode generation when an
ambiguity exists.  This processor also implements the keycodes used for the
two "euro-key" positions and the new "()/*+" keys in the A500 numeric
keypad.
 
 
Disclaimer:
 
The new keyboard micro-processor is not a direct replacement for the
original unit, therefore this article is directed toward the technically
inclined who don't mind hacking up their Amiga a bit.  Installing the
changes will void your machine's warranty, and any problems encountered
become your problems.  A service bulletin explaining how to use the
new processor as a replacement for a defective older unit is currently
in preparation, so at some poorly defined point in the future you may
be able to get a service center to make the changes for you, subject to
their normal billing rates.
 
 
Parts and Tools:
 
You will need to obtain an A500 Keyboard Processor 6570-036, P/N 328191-02.
This part is available through normal service channels and lists for $25.
You will need a medium and tiny phillips screwdriver, a soldering iron and
either a solder sucker or some solder wick.
 
 
Operation:
 
Expose the keyboard PCB by removing the plastic cover and FCC shield, and
prying up the plastic insulation sheet.
 
Carefully unsolder and remove the keyboard microprocessor, which should be
either a Rockwell R10L2-11 or a MOS 6570-033.  Note the position of the
pin-1 marking.  Install and solder in the new 6570-306 microprocessor, being
careful to maintain the original pin-1 orientation.
 
The keyboard connector should be connected to the PCB by four wires: black,
red, white and green.  Unsolder and interchange the white and green wires.
These wires should connect to the center two positions on the keyboard jack.
Be careful to avoid excessive flexing of the connections as the wires will
break easily where they are soldered to the PCB.
 
Test the keyboard, then replace insulation sheet, FCC shield and cover.
 
 
Problems:
 
No action, no lights:
    Check that the wires to the keyboard jack are intact.
 
No action, shift lock LED lit or keyboard locks up:
    Add two 22 pF ceramic disk capacitors between the terminals of the
    crystal or ceramic resonator and ground if these are not already present.
    The resonator should be connected to pins 10 and 11 of the keyboard
    microprocessor.
 
Blinking shift lock LED:
    ROM or RAM self-test has failed, processor is defective or at least
    pretty thoroughly confused.
 
Keyboard sends periodic apostrophe characters:
    The clock and data lines are reversed.  Reverse white and green wires as
    mentioned above.
 
Keyboard sends continuous characters:
   Some wires of the keyboard matrix are probably shorted.  Check for solder
   splashes, foreign matter and the like.
 
Smoke issues from amongst the keytops:
    You must have made some kind of mistake.  Order one each: P/N 327063-01,
    Replacement Keyboard, A1000.
 
(c) Copyright 1987 George Robbins.  Material may be redistributed freely
subject to the provisions that all of the material is included without
changes, and that attribution and this copyright notice is retained.
 
-- 
George Robbins - now working for,	uucp: {uunet|ihnp4|rutgers}!cbmvax!grr
but no way officially representing	arpa: cbmvax!grr@uunet.uu.net
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)
-- 
========================================================================
  Hans-Gabriel Ridder			Digital Equipment Corporation
  ridder@elvira.enet.dec.com		Customer Support Center
  ...decwrl!elvira.enet!ridder		Colorado Springs, CO

                  =======================================

Jason Smigiel
umsmigie@ccu.umanitoba.ca