Sounds to me as if the decoder chip might have some grot laying on it.
As I understand it, the signal along the relatively few lines running from the kb to the processor have to be 'interpreted' to establish precisely which key has been pressed. If there is something shorting any of these, the result could be as you describe.
Someone's going to take the pee out of that, but it's the best way I can describe it.